Случается ли вам экспортировать геометрию из любимого редактора с целью скажем допилить что-нибудь в другом любимом редакторе, в котором имеется какая -либо фича, отсутствующая в первом? С целью импорта скажем замоделенного в Blender персонажа в  некий ассет Houdini? Или, как чаще всего и бывает, ваш workflow задействует не один, а несколько программ?

Вопрос собст-но риторический. Конечно случается! И всякий раз вы наверняка экспортируете модель в какой-то нейтральный общеподдерживаемый формат, ака .obj или (holy crab!) .dae.

Благо все больше пакетов поддерживают Alembic для передачи целых сцен из приложения в приложение, но речь тут пойдет не об этом невероятно полезном фреймворке. Все гораздо прозаичнее, речь тут о простом и удобном способе переносить геометрию между 3д пакетами, без необходимости сохранять ее в каком бы то ни было формате. А точнее о скриптах, возможность эту реализующих.

И вот они – скрипты! Тадам!

snimok-repozitoriya-na-Github
Снимок репозитория на Github

На этом собс-но всё :)  Все предельно ясно изложено там же на страничке репозитория.

Но, если все же, f…in English – не самая сильная ваша сторона, разберем все по порядку.

Итак, благодаря замечательному артисту и программисту Oliver Hotz (какому такому!?), который не поленился и написал, и, что еще более круто, выложил в открытый доступ эти замечательные скрипты, мы получили возможность перемещать геометрию из одного приложения в другое (буквально из любого в любое!) в два клика!

Посмотрим как это реализовано.

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

Само-собой вы можете либо скачать архив со скриптами куда-нибудь себе на жесткий (на случай ядерной бомбардировки), или, клонировать репозиторий, если пользуйтесь git. Сейчас мы просто возьмем их оттуда, где они лежат. Для этого в веб-репозитории переходим в раздел интересующей программы и копируем код в окне редактора, с целью его куда-нибудь вставить;)

Blender

Открываем Blender, переходим в текстовый редактор (Shift+F11), вставляем код и сохраняем (Shift+Ctrl+Alt+S ) как файл .py, после чего скрипт можно установить как обычный аддон, указав путь к фалу в File→User Preferences→Add-dons→Install Add-on from File…

ustanovka-addona-v-blender
Установка аддона в Blender

После этого в окне 3д-вьюпорта, в строке меню Object появятся пункты CopyToExternal  и PasteFromExternal соответственно. Кликнув по любому из них ПКМ→Add Shortcut вы можете назначить им удобное сочетание клавиш (я назначил незанятые Ctrl+Alt+C и Ctrl+Alt+V).

Houdini

Создадим (если вы еще этого не сделали) новую полку для размещения на ней коллекции пользовательских инструментов и скриптов. Для этого на пустом месте в окне с полками инструментов (shelves) кликаем на плюсик и выбираем New Shelf, после чего в открывшемся визарде именуем полку как душе угодно (myShelf, myTools, myScripts…и тп.). Жмем Apply затем Accept. После чего кликаем ПКМ на пустом пространстве только что созданной полки, выбираем New Tool…, даем имя будущему инструменту, переходим на вкладку Script и вставляем туда скопированный код, после чего на вкладке Hotkeys→Scene Viewer→Edit назначаем команде свое сочетание клавиш (не особо мудрствуя все те же Ctrl+Alt+C и Ctrl+Alt+V). Жмем Apply затем Accept.

ustanovka-scripta-v-Houdini
Установка скрипта в Houdini

 

Rhinoceros

Для запуска скриптов в Rhino, их предварительно следует загрузить в Python Script Editor, для этого впечатываем в командной строке программы EditPythonScript, и вставляем туда скопированный с соответствующего раздела репозитория. Жмем Ctrl+s, и сохраняем скрипт себе в локальную папку (удобнее сохранить C:\Users\Имя_пользователя\AppData\Roaming\McNeel\Rhinoceros\5.0\scripts, где носорог хранит Python скрипты, либо позже, в настройках, указать путь к кастомной папке со скриптами), после чего запустить его можно введя в командной строке RunPythonScript, и выбрать в открывшемся окне проводника.

zapusk-scripta-v-rhino
Установка скрипта в Rhino

Substance Painter

В SP открываем папку с плагинами через Plugins→Plugins Folder, создаем новую папку и называем ее соответсвующим именем, после чего открываем каждый скрипт в отдельной вкладке, и сохраняем туда. Далее кликаем Plugins→Reload Plugins Folder, и получаем в тулбаре две кнопки.

 

 

ustanovka-plugina-v-substance_painter
Установка плагина в Substance Painter

Поскольку в SP нет возможности никак изменять геометрию, кнопки умеют только вставлять скопированные из другого приложения меши. Так как скрипт создает для этого новую сцену, все существующие сцены должны быть закрыты (Ctrl+F4), а импортируемый модель должна иметь UV-координаты (что вполне логично учитывая предназначение Substance Painter).

3D-Coat

Открываем каждый скрипт из одноименной директории в отдельной вкладке и сохраняем в папку Scripts, находящейся в C:\Users\Имя пользователя\Documents\3D-CoatV47\Scripts (в случае если папка 3D-CoatV47 лежит у вас в другом месте, откройте по очереди файлы со скриптами в блокноте, и укажите путь к вашей папке в соответствующей строке, при необходимости там же можно изменить версию программы), если таковая отсутствует предварительно создаем ее там. Далее в программе переходим на вкладку Scripts→Run Script и запускаем два файла с расширением .txt. После чего там же (во вкладке Script) появятся два пункта для копирования и вставки геометрии.

ustanovka-scripta-v-3D-Coat
Установка скриптов в 3D-Coat

 

Maya

Создадим (если вы еще этого не сделали) новую полку для размещения на ней коллекции пользовательских инструментов и скриптов. Для этого в окне с полками инструментов (shelves) кликаем на шестеренку и выбираем New Shelf, именуем полку как душе угодно (myShelf, myTools, myScripts…и тп.). После чего повторяем вышеуказанное действие выбрав на сей раз Shelf Editor, в открывшемся окне на вкладке Shelves выбираем созданную полку, справа, в Shelf Contents кликаем иконку с плюсиком, называем будущий инструмент, переходим на вкладку Command, указываем в качестве языка Python, и вставляем скопированный скрипт.

ustanovka-scripta-v-Maya
Установка скрипта в Maya

 

 

3ds Max

Создаем новую папку на C:\Program Files\Autodesk\3ds Max 2016\scripts, которую называем OD_CopyPasteExternal и сохраняем туда скрипты из соответствующего раздела репозитория.

Затем открываем в блокноте файлы с расширением  .ms, дописываем полный путь к каждому из файлов .py,  и сохраняем. После чего, в самой программе запускаем нужный скрипт (.ms) из Scripting→Run Script→путь к скрипту.

Комментарии закрыты.