Copy instance reference 3ds max в чем разница

Обновлено: 06.07.2024

Использование функции "массив". Применение булевых операций

Цель работы: Изучение основных приемов размножения объектов с помощью функции «массив»; изучение технологии создания объектов с помощью булевых операций.

Создание нескольких однотипных объектов

Дублирование объектов

В процессе моделирования сцены часто возникает потребность в создании большого числа однотипных объектов. В 3D Studio Max предусмотрена возможность дублирования объектов, однако программа позволяет создавать не только копии. Применяются еще два типа дубликатов: образцы и экземпляры, наличие которых существенно облегчает задачу одновременной модификации целой совокупности дубликатов, происходящих от одного оригинала.

Копии, образцы и экземпляры

Сору (Копия) объекта – это его точный независимый дубликат. Единственной разницей между копией и оригиналом является имя объекта. Применение преобразований или модификаторов к копиям объектов никак не сказывается на других копиях или оригинале. В качестве примера на рисунке 1 показано, что применение модификатора Taper (Заострение) к объекту-оригиналу никак не сказалось на трех копиях этого объекта. Используйте копии объектов, когда заранее известно, что задача одновременного внесения изменений во все дубликаты не возникнет. Рисунок 1. Применение модификатора к объекту-оригиналу не влияет на три копии объекта.
Instance (Образец) – это дубликат объекта, сохраняющий неразрывную связь с оригиналом и полную зависимость от него. Модификация любого образца равносильна модификации оригинала – результаты сказываются как на оригинале объекта, так и на всех образцах. В качестве примера на рисунке 2 показано, что три дубликата-образца унаследовали модификатор Taper (Заострение), примененный к объекту-оригиналу, а применение к одному из дубликатов модификатора Twist (Скрутка) распространилось и на остальные дубликаты, и на оригинал. Все образцы используют те же самые модификаторы и материалы, что и оригинал.

Уникальными для каждого образца являются только его собственные координаты, характеристики поворота и масштаба, собственный набор свойств (имя, цвет и т. п.) и собственные связи с источниками объемных деформаций. Во внутреннем представлении 3D Studio Max образец является всего лишь местозаполнителем (placeholder), то есть ссылкой, указывающей программе, что в определенной точке сцены нужно изобразить дубликат объекта с заданной ориентацией и масштабом. Образцы могут с успехом использоваться при моделировании однотипных предметов – посуды, мебели или строительных блоков. В этом случае при необходимости внесения изменений во все предметы (например, с целью замены материала) достаточно будет изменить любой из образцов. Рисунок 2. Применение модификаторов к объекту-оригиналу или к любому из дубликатов-образцов распространяется на все семейство объектов.
Reference (Экземпляр) подобен образцу, но имеет одностороннюю связь с оригиналом. Если в оригинал объекта вносятся изменения, они распространяются и на все его экземпляры. Но если изменяется экземпляр, это не влияет, ни на остальные экземпляры данного объекта, ни на оригинал. На рисунке 3 в качестве примера показано, что три дубликата-экземпляра унаследовали результат применения к оригиналу модификатора Taper (Заострение). Однако применение к одному из экземпляров модификатора Twist (Скрутка) не распространилось ни на другие дубликаты, ни на оригинал. Используйте экземпляры тогда, когда дубликаты должны иметь свойства, унаследованные от оригинала, и в то же время обладать индивидуальными отличиями, как, например, листья одного дерева.
Рисунок 3. Дубликаты-экземпляры наследуют модификаторы, примененные к объекту-оригиналу, но сами допускают индивидуальную модификацию.

Создание дубликатов

Создавать дубликаты объектов можно с помощью команды меню Edit –> Clone (Правка –> Дублировать) или в процессе преобразований объектов. Для дублирования объектов выполните следующие действия:
Шаг 1. Выделите объект или набор объектов, подлежащих дублированию.

Шаг 2. Выберите команду меню Edit –> Clone (Правка –> Дублировать). Появится окно диалога Clone Options (Параметры дублирования), показанное на рисунке 4.

Шаг 3. Выберите тип создаваемых при дублировании объектов с помощью переключателя Object (Объект), имеющего три положения: Сору (Копия), Instance (Образец) и Reference (Экземпляр).

Шаг 4. Задайте при необходимости имя для дубликата в текстовом поле Name (Имя) и щелкните на кнопке ОК.

Только что созданный дубликат объекта пространственно совпадает со своим оригиналом, а потому не виден. Для преобразования или модификации объекта-оригинала или его дубликата выделите любой из них по имени. Рисунок 4. Окно диалога Clone Options (Параметры дублирования) позволяет выбрать тип дубликата и назначить ему имя.

Дублирование при преобразованиях

Для использования дублирования в процессе преобразований, следует выполнять преобразование при удерживаемой клавише Shift:

Шаг 1. Щелкните на кнопке нужного инструмента преобразования. Выделите объект или несколько объектов, требующих дублирования.

Шаг 2. Нажав и удерживая клавишу Shift, щелкните на любом из выделенных объектов и перетаскивайте курсор, выполняя преобразование обычным способом. Отпустите кнопку мыши. Появится окно диалога Clone Options (Параметры дублирования), отличающееся от рассмотренного выше окна, появляющегося при использовании команды меню Edit –> Clone (Правка –>Дублировать) наличием счетчика числа дубликатов, как показано на рисунке 5.

Шаг 3. Выберите тип создаваемых при дублировании объектов с помощью переключателя Object (Объект). Задайте количество создаваемых дубликатов в счетчике Number of Copies (Число копий) и имя для первого из них – в текстовом поле Name (Имя).

Имена остальных дубликатов будут основаны на заданном имени с добавлением порядковых номеров. В завершение щелкните на кнопке ОК. Будет создано заданное число дубликатов, причем каждый очередной дубликат будет смещен, повернут или масштабирован относительно предыдущего таким же образом, как первый дубликат относительно оригинала. Рисунок 5. При дублировании в ходе преобразований в окне диалога Clone Options (Параметры дублирования) появляется счетчик числа дубликатов.

Клонировать объекты в 3ds max можно с помощью банального Ctrl+C на выделенном объекте и последующего Ctrl+V. Новый объект появится точно на месте выделенного. Но такой способ практически не используется.

Гораздо правильнее копировать 3D-объект в помощью одного из режимов трансформации. Надо выбрать одну из опций трансформации, чаще всего для клонирования используется Select and Move (выбрать и переместить), зажать клавишу Shift и потянуть за одну из осей, после чего откроется окно выбора опций клонирования Clone Options.

Вот как выглядит это окно:

k

В свитке "Object" можно выбрать режим копирования, это:

  • Copy (Простое копирование)
  • Instance (Экземпляр)
  • Reference (Ссылка)

При выборе Copy, клон объекта будет точной копией оригинала. Этот новый объект ничем не будет связан с оригиналом и будет иметь свои собственные настройки и параметры. Его изменение не затронет оригинал и наоборот, изменение оригинала не затронет клон. Иными словами, мы получаем независимую копию.

При выборе Instance, скопированный объект будет связан с объектом-источником и наоборот. Например, если применить модификатор к клону, то и к оригинальному объекту автоматически будет применён точно такой же модификатор. Это же случится, если модификатор будет применён к объекту-оригиналу. На трансформации и материалы зависимость не распространяется.

Если клонировать объект в режиме Reference, то полученный клон будет ссылкой оригинала. Он полностью зависим от изменений настроек оригинала, однако, при изменении настроек у объекта-ссылки, в отличии от режима Instance, оригинал, затронут не будет. Также, на трансформации и материалы зависимость не распространяется.

В поле ввода "Number of Copies" Вы можете ввести желаемое количество копий оригинала, по умолчанию это единица.

В поле "Names" вводится имя копий, кроме того, если копий больше одной, то 3ds max присоединит к имени второй копии индекс 001, третьей - 002 и т.д.

Для завершения копирования нажмите ОК, если же Вы нажмёте "Cancel", то операция по клонированию будет отменена и клонирование не произойдёт.

Группировка объектов

Группирование объектов - это присвоение нескольким объектам свойств одного.

Зачем нужны группы? К примеру, Вы создаёте 3D-объект, ящик с ручками. Ящик - один объект, ручки - другие объекты. Для того, что бы все эти предметы перемещались, как одно целое, их надо объединить в группу.

У объекта имеется несколько уникальных параметров - это имя, габаритный контейнер (Bounding Box) и опорная точка объекта (Pivot Point).

Примечание. Pivot Point - это начало локальных координат объекта, кроме того, Pivot Point является его центром трансформации.

У сгруппированных объектов одно общее имя, одна опорная точка и один габаритный контейнер.

Для группировки надо, зажав клавишу Ctrl или рамочкой, выбрать несколько 3D-объектов, затем нажать на вкладку главного меню Group и кликнуть по пункту Group:

Клонирование объектов в 3ds max

Чтобы разгруппировать объекты, нужно выбрать группу и нажать Group --> Ungroup.

Остальные команды меню Group:
Open – открыть группу для редактирования отдельных объектов, после чего объекты в группе можно редактировать без разгруппировки
Close – закрыть группу для редактирования
Attach – присоединить объект к группе, для этого надо выбрать объект, нажать на вкладку Group --> Attach и кликнуть по группе
Detach – отсоединить объект из группы. Для этого надо щёлкнуть по группе, нажать Group --> Open, кликнуть по нужному объекты и нажать Group --> Detach
Explode – разгруппировать все уровни группировки.


Продолжая курс уроков 3D max для начинающих мы двинемся дальше и поговорим о такой важной теме как клонирование объектов в 3D Max. Представьте, что вам нужно создать для машины четыре колеса и расположить их с особой точностью. Если их делать по отдельности, то на это уйдет огромное количество времени и сил. Благодаря даже самой простой команды клонирования у вас уйдет на это всего несколько минут. Существует несколько способов клонирования объектов, о которых речь пойдет ниже – от самой простой команды до довольно мощного компонента Array.

Команда Clone

Благодаря этой простой команде можно создать точную копию модели. Что бы воспользоваться этой командой, нужно выделить фигуру и перейти в меню Edit – Clone, или использовать сочетание клавиш <Ctrl+V>:



После этого перед вами откроется окно с настройками Clone Options. Здесь можно изменить имя объекту, а так же указать чем он будет являться Copy (Копией), Instance (Экземпляром) или Reference (Ссылкой):


Если выбрать значение Copy, то будущий объект будет точным аналогом оригинала. Этот объект не будет связан с оригиналом, будет иметь свои собственные настройки и параметры. Его изменение не затронет оригинал и наоборот.

Если выбрать Instance, то клонированный экземпляр будет связан с исходным объектом и наоборот. Например, если применить модификатор к экземпляру, (или наоборот к оригиналу), то и к оригиналу (или экземпляру) автоматически применится точно такой же модификатор. Экземплярам можно назначать разные цвета, свойства, трансформации и материалы.

Выбираем любой тип (для нас сейчас это не имеет значения) и нажимаем OK. После этого может показаться, что ничего не произошло. Все просто наш клон имеет теже координаты, что и оригинал, просто перетащите его в любое место:


Видео по работе с командой Clone:

Клонирование с помощью клавиши Shift

Второй простой способ клонирования это использовать клавишу Shift. Используя инструменты трансформирования вместе с клавишей Shift можно быстро создать копии в любом количестве.

Выбираем объект и активируем инструмент трансформирования Select and Rotate:


Далее с зажатой клавишей Shift переместите объект в любое направление. После того как отпустите кнопку мыши перед вами вновь откроется окно Clone Options. Вы уже знакомы со всеми опциями кроме одной – Number of Copies:


В этом поле задается число копий. Введите любое число, например 10. Нажимайте OK и наблюдайте за результатом.

Первые два метода просты, но не эффективны в том плане, когда нужно гибко работать с большим количеством копий, референсов и ссылок – для таких целей существует замечательный компонент Array.

Видео по работе с помощью клавиши Shift:

Компонент Array (Массив)

Компонент Array позволяет создавать огромное количество копий с помощью простого и логичного интерфейса. (Хотя на первый взгляд он может показаться сложным). Что же давайте изучим его!

Выделите фигуру и перейдите в меню Tools – Array:


Перед вами откроется одноименное окно с настройками. Для начала поставьте галочку напротив параметра Display as Box и нажмите кнопку Preview, что бы включить предварительный просмотр, совершая какие либо манипуляции:

Что бы немного понять принцип работы Array , давайте попрактикуемся и создадим цепь.

Создаем примитив Torus :


  • Count 18 (число копий)
  • X Move 0.483 (Сдвиг по оси X )
  • X Rotate 90.0 (Поворот по оси X на 90 градусов)


Будьте внимательны, так как ваши настройки могут отличаться. Полностью понять принцип работы Arras можно только методом проб и ошибок.


Видео по работе с Array:

Что бы понять принцип работы Array , давайте попрактикуемся и создадим цепь.

Здравствуйте. Хочу поделиться очень простым, но на мой взгляд полезным приёмом.

Итак задача: у нас несколько объектов, которые когда-то были инстансами или они полностью идентичны по сетки, но они уникальны каждым сам по себе. Нам нужно сделать из них инстансы. Если их не много то как правило раньше я просто копировал один объект как инстанс и расставлял заново. Но что делать когда их много или ОЧЕНЬ много. Из примеры можно привести столбы освещения в экстерьере микрорайона.


Что нам надо. Выбираем один объект как оригинал, далее идём в Track View – Curve Editor это панель для анимации.


В левой части панели видим название нашего объекта. Нам нужна строчка Object (Editable Poly).


Наживаем на ней правой кнопкой мыши. В появившемся меню выбираем copy.


Теперь в сцене выбираем все объекты, которые мы хотим сделать инстансы. Можно руками, можно через Edit/Select by.


Опять возвращаемся в Track View – Curve Editor. В левой части панели все выделенные объекты. В строке поиска внизу начинаем вбивать Object (Editable Poly). Во всех объектах должна выделиться синим эта строчка.


Опять нажимаем по любой выделенной синим строчки Object (Editable Poly) правой кнопкой мыши. И в появившемся меню выбираем Paste.


Появляется ещё одно окошко, где мы выбираем естественно Instance.


Вот и готово все объекты у нас инстансы.


В принципе таким способом можно заменять геометрию использую пивоты других объектов.

Комментарии (25)

Оч сложно. Есть object replacer в soulburn script lister.
Есть просто скрипты отдельно, которые одинаковые объекты зареплейсят на инстансные и всё на 2х кнопках Идея заключалась в том, чтоб решить задачу вообще без плагинов скриптов или чего-то стороннего. Так то оно так, но не использовать вещи, которые удобнее крайне странно. Я понимаю, если бы все остальные методы платные были. Вроде имеет место быть, но зачем. Согласен. Это всё равно, что рыть землю для посадки картошки руками, в век, когда люди давным-давно изобрели лопату) Разные ситуёвины бывают в работе. Да, есть скрипт, но за интересный способ спасибо :]

Все скрипты используют базовый функционал 3д Макса. Чем больше от них зависишь, тем тяжелее переход на новую версию. Особенно, если используешь "народные" лицензии.
При загрузке 3д Макса прогружаются все скрипты и плагины. И чем их больше, тем дольше загрузка.
Любой скрипт потенциальная причина для вылета в самом неожиданном месте.
Производители скриптов и плагинов, которые не сыскали огромную популярность и не приносят большой доход, легко прекращают поддержку.

Лично мне этих минусов достаточно, чтобы использовать по максимуму стандартный функционал, который есть из коробки. Пусть на пару кликов дольше. Тем более, что подобное необходимо крайне редко.

Блендак за счёт этого живет)))
Хз кстати на сколько именно скрипты замедляют загрузку макса. Плагины да, а вот скрипты.
Большинство скриптов же просто проходят по тем же менюшкам, что и человек только через код и быстрее.

Ну как говориться каждому своё. Я бы в любом случае написал код (возможно, на те же завязки на wire param), если бы этот код уже кто-то не написал

"Все скрипты используют базовый функционал 3д Макса".
Смелое заявление :)
Смотря что вы имеете в виду. Если то, что все скрипты банально запускают процедуры макса, которые можно запустить и без них через интерфейс, то нет. Это делают только самые примитивные скрипты, которые и экономят вам не больше "пары кликов".

Maxscript больше ограничен по памяти и производительности, чем по возможностям. Наивно считать, что в максе есть аналог любого инструмента, который можно создать на maxscript.
Разумеется речь не идёт о замене инстансов, это вообще одна строка for o in selection do replaceinstances o $[1]

С плагинами история совсем другая. Они грузятся при старте макса (в отличие от большинства скриптов), они могут оставаться в сцене и выдавать missing при открытии без плагина, и они требуют рекомпиляции под новую версию макса, а это означает ожидание их обновления, и "народные" версии разумеется все усугубляют.
Но и возможности там другие. Мы все так или иначе зависим от набора плагинов, будь то корона или форест пак. Набор плагинов лучше сокращать, чем наращивать. И лучше покупать и использовать бесплатные версии, чем ломаные. А вот от скриптофобии в принципе толку мало.
Я понимаю ваши аргументы и со многим согласен, но вы чересчур категоричны.

Верное замечание. Видимо плохо мысль свою раскрыл. Разница между плагинами и скриптами мне понятна и надеюсь всем тоже.
Я подразумевал именно те скрипты, которые люди любят ставить в автозагрузку, а не вызывать изредка по случаю.

"При загрузке 3д Макса прогружаются все скрипты и плагины. И чем их больше, тем дольше загрузка."
Это на 100% не соответствует действительности.

Если вы откроете Plug-In Manager то увидите, что 80% плагинов используют отложенный старт и вообще не загружаются на старте макса, соответственно никак на скорость запуска не влияют. Такие плагины подгружаются по факту первого обращения.

А можете привести пример скрипта в автозагрузке, который хоть на секунду замедляет старт макса?

зы.
Plug-in DLL Defer Loading
A defer loaded plug-in DLL will not be loaded into memory until required by 3ds Max for the first time. Deferring a plug-in is a useful technique for improving the start-up time and reducing the memory footprint of 3ds Max. This is why 3ds Max uses automatic defer loading system. If a plug-in DLL is deferred, it should not impact the user experience.

Читайте также: