Быстрое копирование объектов из одной сцены 3d max в другую

Бывает, что возникают ситуации, когда необходимо скопировать один или несколько объектов из сцены в сцену. Иногда получается сделать это быстро и стандартной командой Merge , а порой перед тем как замерджить, приходиться открывать сцену, переименовывать объект, пересохранять сцену или объекты по отдельности т и.д.и т.п.

В общем, чтобы не проделывать лишних движений есть 2 способа( хотя, наверное, способов то побольше наберется, но расскажу о тех, что знаю я).

Первый –   скачать бесплатный скрипт Copitor с сайта ScriptSpot, предварительно на нем зарегистрировавшись. Скрипт работает по принципу Copy-Paste и не расходует память, потому что копируемые объекты временно сохраняются на диск.

Второй –  самостоятельно прописать подобный скрипт,о чем и пойдет речь ниже. Пугаться нечего, все элементарно просто, даже я справилась с первого раза, а это знаете ли показатель ))))))

Итак, ближе к делу. Создаем новый скрипт (MAXScript > New Script).
bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-1Открывается вот такое окно:

bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-2В него вставляем следующий код (код, который будет копировать выделенный объект) :

macroScript Copy

category: “DragAndDrop”
tooltip: “CopyObject”
(
saveNodes $ “C:\\3dtemp\hej”
)

Выглядеть это будет примерно так:
bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-3
 
В первой строчке мы даём название скрипту. Я назвала его Copy, думаю очевидно почему.
Вторая строчка –  категория для скрипта .
В третьей – создаём описание скрипта .
Далее идёт сам  скрипт, который нужно обязательно взять в круглые скобки.
ВАЖНО: как мы видим из кода временное копирование объекта будет производится на диск С в папку с названием 3dtemp, поэтому, если её у вас там нет, то ее нужно создать. Ну, либо поправьте код.

Сохраняем скрипт (File > Save > выбираем папку ).
bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-4
  
Теперь создадим для него кнопку на верхней панели инструментов, для этого выделяем сам скрипт и перетягиваем на панель (как на рисунке ниже). 
bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-5
Появляется такая кнопочка.
bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-6
Дадим ей название, для этого кликаем по ней правой кнопкой мыши и выбираем Edite Button Appearance…

bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-7
Заполняем как на рисунке ниже и жмем кнопочку OK.
 Кнопка с функцией копирования объкта готова. 
bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-9
Пол дела сделано. Теперь таким же образом создаем скрипт, который будет вставлять скопированный объект.
File>New
bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-10
 bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-11
 В появившееся окошко вставляем следующий код:


macroScript Paste
category: “DragAndDrop”
tooltip: “PasteObject”
(
mergeMaxfile “C:\3dtemphej.max” #autoRenameDups #renameMtlDups
)

bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-12

Сохраняем скрипт в ту же папку, что и предыдущий.
bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-13
 
Выделяем и перетягиваем на верхнюю панель.
bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-14
bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-15 bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-16
Даем название появившейся кнопке.
bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-17

Кнопочки готовы.
bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-18

После проделанных манипуляций в папке usermacros ( по пути Computer > Local Disk(C:) > Users > ваше  имя пользователя > AppData > Local > Autodesk > 3dsMax > версия вашего макса ENU usermacros) должны появиться два макроскрипта для наших кнопочек.
bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-19
Проверяeм работу кнопок.
Открываем две сцены (ту, из которой будем копировать, и ту, в которую будем копировать). Выделяем один или несколько объектов, которые нужно перенести, жмем на созданную кнопку Copy, переходим в другую сцену и жмем на кнопку Paste.
Радуемся результату )
 

Если вам вдруг мало кнопочек и вы хотите назначить на эти скрипты еще и горячие клавиши, тогда перезапускаем 3d max открываем окно Customize User Interface.
bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-20


Идем на закладку Keyboard в выпадающем списке Category выбираем категорию наших скриптов DragandDrop , видим в ней наши скрипы , ну и назначаем на них hotkey.

bistroe-kopirovanie-obektov-iz-odnoi-sceni-3dmax-v-druguyu-21

За коды  saveNodes $ “C:\3dtemphej” и mergeMaxfile “C:\3dtemphej.max” #autoRenameDups #renameMtlDups спасибо Johannes Lindqvist , который поделился ими в одном из своих видео.

PS. Не забывайте копировать текстуры, для перенесенных объектов, в папку их нового местонахождения.


You may also like

7 comments

Unknown October 12, 2015 at 7:29 pm

спасибо! все получилось)

Reply
Olga Dolen October 13, 2015 at 3:24 pm

Рада, что все получилось, спасибо за комментарий 😉

Reply
deezynah December 22, 2015 at 12:28 pm

Никогда не приходило в голову это автоматизировать. Спасибо огромное за подсказку! )

Reply
Olga Dolen December 23, 2015 at 4:53 pm

да, удобная штука ) всегда пожалуйста 😉

Reply
Lexa Dv December 24, 2015 at 8:02 am

плагин copitor в разы лучше, там 4 буфера, т.е 4 сцены в память можно забивать

Reply
Olga Dolen December 24, 2015 at 8:35 am

Copitor тоже упомянут в этом посте и ссылка на него есть, каждый пусть делает свой выбор, мне функции кнопок пока хватает )

Reply
Dmytriy Semenov December 25, 2015 at 9:03 pm

Copitor у меня на второй раз заглючило, а тут всё нормально. Кроме того можно создать несколько кнопок скрипта, с разными именами для сохранения и вставки.

Reply

Leave a Comment