3ds max как из instance сделать copy
Здравствуйте. Хочу поделиться очень простым, но на мой взгляд полезным приёмом.
Итак задача: у нас несколько объектов, которые когда-то были инстансами или они полностью идентичны по сетки, но они уникальны каждым сам по себе. Нам нужно сделать из них инстансы. Если их не много то как правило раньше я просто копировал один объект как инстанс и расставлял заново. Но что делать когда их много или ОЧЕНЬ много. Из примеры можно привести столбы освещения в экстерьере микрорайона.
Что нам надо. Выбираем один объект как оригинал, далее идём в 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.
Продолжая курс уроков 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 , давайте попрактикуемся и создадим цепь.
Клонировать объекты в 3ds max можно с помощью банального Ctrl+C на выделенном объекте и последующего Ctrl+V. Новый объект появится точно на месте выделенного. Но такой способ практически не используется.
Гораздо правильнее копировать 3D-объект в помощью одного из режимов трансформации. Надо выбрать одну из опций трансформации, чаще всего для клонирования используется Select and Move (выбрать и переместить), зажать клавишу Shift и потянуть за одну из осей, после чего откроется окно выбора опций клонирования Clone Options.
Вот как выглядит это окно:
В свитке "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:
Чтобы разгруппировать объекты, нужно выбрать группу и нажать Group --> Ungroup.
Остальные команды меню Group:
Open – открыть группу для редактирования отдельных объектов, после чего объекты в группе можно редактировать без разгруппировки
Close – закрыть группу для редактирования
Attach – присоединить объект к группе, для этого надо выбрать объект, нажать на вкладку Group --> Attach и кликнуть по группе
Detach – отсоединить объект из группы. Для этого надо щёлкнуть по группе, нажать Group --> Open, кликнуть по нужному объекты и нажать Group --> Detach
Explode – разгруппировать все уровни группировки.
Невозможно представить работу в 3Ds Max без копирования объектов. Но привычный способ копирования клавишей Shift довольно ограничен. Особенно это заметно, если нужно создать множество копий в различных плоскостях. И специально для таких задач удобно применять инструмент Array. Находится он в меню Tools – Array.
Перед использованием обязательно нужно выделить объект. Для копирования нескольких различных объектов нужно выделить все желаемые. Но настройки инструмента будут работать одновременно на все.
1. Array Transformations и Preview
Раздел управления трансформациями Move (перемещение), Rotate (вращение) и Scale (масштабирование).
Каждый параметр управляется своим числовым значением. Move управляется системными единицами длины (в данном случае миллиметры), Rotate градусами, Scale процентами.
Для каждой оси есть отдельное окно параметра. Также эти трансформации поделены на 2 типа: Incremental и Totals. Для переключения между ними нужно нажать на стрелочку. Каждый параметр изменяется независимо от остальных.
Incremental изменяет параметры следующего объекта относительно предыдущего. То есть, установив Move = 200, каждый новый объект будет находиться в 200мм от предыдущего.
Totals задает параметр последнему объекту и автоматически распределяет изменения от первого объекта к последнему. Установив Scale = 10, последний объект уменьшится до 10% от первого. При этом объекты между первым и последним будут равномерно уменьшены на определенное значение.
Важно понимать, что в типе Totals объекты также масштабируются на основе предыдущего, а не первого.
Re-Orient включает изменение ориентации (поворота) объектов.
Uniform включает масштабирование объекта по всем трем осям одновременно.
Чтобы все новые объекты отображались во время копирования, нужно нажать кнопку Preview.
Display as Box показывает новые копии в виде габаритных контейнеров.
2. Array Dimension
Массив объектов можно создать по все трем осям. В этом разделе можно настроить, сколько копий объекта будет создано и на каких осях.
1D, 2D и 3D – количество осей, по которым будут строится новые копии. Например, 2D – построение по двум осям (двумерный массив). Однако в этом режиме есть окна для осей X, Y, Z. Новые объекты будут строиться только на двух осях, но смещать их можно по всем трем. Это будет влиять на смещение объектов только на новой оси.
3D – построение копий по трем осям (трехмерный массив). Для равномерного построения массива каждая новая ось должна задаваться в новом режиме. При этом, значение Count может быть различным.
3. Дополнительные настройки
Type of Object – задает тип создаваемых объектов, как при любом копировании. Copy – независимые копии. Instance и Reference – зависимые копии, которые будут изменяться при изменении хотя бы одной из них.
Total in Array – сколько всего копий в сцене.
Reset All Parameters – сброс всех внесенных изменений.
Для применения всех изменений обязательно нажать OK. Cancel или закрытие диалогового окна отменяет копирование.
Array – незаменимый инструмент для параметрического копирования объектов. Именно с его помощью можно очень точно копировать и расставлять объекты. Большим плюсом является возможность не только перемещения, но и вращения, масштабирования копий. Причем осуществлять все эти трансформации можно одновременно. Но его недостаток – размещение объектов только по прямой линии. Если вам нужно размещение по кривой, то лучше воспользоваться Spacing Tool или Object Paint.
Читайте также: