Мост Даз-Майя
Плагин Daz Studio, основанный на библиотеке Daz Bridge, позволяющий переносить персонажей и реквизит Daz Studio в Maya.
- Владелец: Daz 3D – @Daz3d
- Лицензия: Лицензия Apache, версия 2.0 — дополнительную информацию см.
LICENSE
и NOTICE
. - Официальный релиз: Daz to Maya Bridge
- Официальный проект: github.com/daz3d/DazToMaya.
Оглавление
- О мосте
- Предварительные условия
- Как установить
- Как использовать
- Как построить
- Как развиваться
- Структура каталогов
1. О мосте
Это обновленная версия оригинального DazToMaya Bridge, переписанная на C++ с использованием библиотеки Daz Bridge в качестве основы. Это позволяет ему использовать один и тот же исходный код и функции с другими мостами, такими как мосты DazToUnreal и DazToBlender.
Мост Daz To maya состоит из двух частей: плагина Daz Studio, который экспортирует ресурсы в Maya, и модуля Maya, который импортирует ресурсы и помогает воссоздать внешний вид исходного ресурса Daz Studio в Maya.
2. Предварительные условия
- Совместимая версия приложения Daz Studio.
- Совместимая версия приложения Maya.
- Операционная система:
- Windows 7 или новее
- macOS 10.13 (High Sierra) или новее
3. Как установить мост Daz To Maya?
Даз Студия:
- Вы можете установить мост Daz To Maya автоматически через диспетчер установки Daz. Это автоматически добавит новый пункт меню в разделе «Файл» -> «Отправить» -> Daz To Maya.
- Кроме того, вы можете установить вручную, загрузив последнюю сборку со страницы выпуска Github и следуя инструкциям по установке в Daz Studio.
Майя:
- Плагин Daz Studio поставляется со встроенным установщиком модуля Maya Bridge. В диалоговом окне «Daz To Maya Bridge» в разделе «Дополнительные настройки» теперь есть раздел для установки модуля Maya.
- Нажмите кнопку «Установить плагин...». Вы увидите всплывающее окно для выбора папки для установки модуля Maya. Начальная папка должна быть местом по умолчанию для плагинов и модулей Maya.
- В Windows путь для установки модулей должен быть «Documentsmayamodules». На Mac путь должен быть «/Users//Library/Preferences/Autodesk/maya/modules».
- Для большинства настроек Maya вам достаточно будет просто нажать «Выбрать папку». Затем вы увидите диалоговое окно подтверждения, в котором будет указано, прошла ли установка плагина успешно.
- Если Maya запущена, вам потребуется перезагрузить компьютер, чтобы модуль Daz To Maya Bridge загрузился.
- В Maya вы теперь должны увидеть вкладку «DazToMaya» на панели инструментов Maya Shelf. Щелкните эту вкладку, чтобы найти параметры DazToMaya.
- Если у вас отключены вкладки на полке Maya, вам может потребоваться щелкнуть значок шестеренки и выбрать «Вкладки полки», чтобы найти и выбрать вкладку «DazToMaya».
- На вкладке DazToMaya на полке теперь вы должны увидеть значок «ИМПОРТ DAZ». Установка Daz To Maya Bridge завершена!
- Если вы получаете сообщение об ошибке при попытке щелкнуть значок «ИМПОРТ DAZ», убедитесь, что у вас установлен PyMEL.
4. Как использовать Maya Bridge?
- Откройте своего персонажа в Daz Studio.
- Убедитесь, что вся одежда или волосы связаны с основным телом.
- В главном меню выберите «Файл» -> «Отправить» -> «Daz To Maya». Альтернативно вы можете выбрать «Файл» -> «Экспорт», а затем выбрать «Файл Maya Ascii» или «Двоичный файл Maya» в раскрывающемся списке «Сохранить как тип».
- Появится диалоговое окно: выберите тип преобразования, которое вы хотите выполнить: «Статическая сетка» (без скелета), «Скелетная сетка» (персонаж или с суставами), «Анимация» или «Окружающая среда» (все сетки в сцене). .
- Чтобы включить уровни морфов или подразделений, установите флажок, чтобы включить эту опцию, затем нажмите кнопку «Выбрать морфы» или «Запечь подразделения», чтобы настроить свой выбор.
- Нажмите «Принять», затем подождите, пока появится всплывающее диалоговое окно с уведомлением о необходимости переключения на Maya.
- В Maya щелкните значок «ИМПОРТ DAZ» на панели инструментов DazToMaya, чтобы открыть диалоговое окно DazToMaya Bridge.
- Выберите «Автоимпорт».
Морфы:
- Если вы включили опцию «Экспорт морфов», на панели Outliner появится узел «Морфы». Выберите этот узел, и вы увидите ползунки морфинга на панели «Редактор атрибутов» под заголовком «Дополнительные атрибуты».
Анимация:
- Чтобы использовать опцию типа ресурса «Анимация», ваша фигура должна использовать анимацию в системе «Временная шкала» Daz Studio.
- Если вы используете анимацию на основе «aniMate» или «aniBlocks», вам нужно щелкнуть правой кнопкой мыши на панели «aniMate» и выбрать «Bake To Studio Keyframes».
- Как только ваша анимация окажется в системе «Временная шкала», вы можете начать передачу, используя «Файл» -> «Отправить» -> «Daz To Maya».
- Перенесенную анимацию теперь можно будет использовать через интерфейс Maya Animation.
Поддержка подразделения:
- Daz Studio использует технологию Catmull-Clark Subdivision Surface, которая представляет собой математический способ очень эффективного описания бесконечно гладкой поверхности. Подобно тому, как бесконечно гладкий круг можно описать только радиусом, базовая сетка разрешения фигуры Daz на самом деле представляет собой математические данные в уравнении для описания бесконечно гладкой поверхности. Для программного обеспечения, которое поддерживает подразделение Catmull-Clark и морфы на основе поверхности подразделения (также известные как HD Morphs), потеря качества или детализации не происходит при экспорте сетки базового разрешения (уровень подразделения 0) и последующем использовании собственного кода Catmull-Clark. функции подразделения.
- Для программного обеспечения, которое не полностью поддерживает подразделение Catmull-Clark или HD Morphs, мы можем «запечь» дополнительные уровни детализации подразделения в сетку, чтобы более точно приблизиться к деталям исходной поверхности. Однако для запекания каждого дополнительного уровня подразделения требуется экспоненциально больше процессорного времени, памяти и места для хранения. Если у вас нет высокопроизводительного ПК, вполне вероятно, что вашей системе может не хватить памяти и произойти сбой, если вы установите экспортируемый уровень подразделения выше 2.
- Когда вы включаете параметры Bake Subdivision в мосту Daz To Maya, ассет переносится в Maya как стандартная сетка с числом вершин более высокого разрешения.
5. Как построить
Установка и настройка системы сборки выполняются через CMake для создания файлов проекта для Windows или Mac. Для конфигурации CMake требуется:
- Современный CMake (протестировано с 3.27.2 на Win и 3.27.0-rc4 на Mac)
- Daz Studio 4.5+ SDK (из DIM)
- Fbx SDK 2020.1 (победа) / Fbx SDK 2015.1 (macOS)
- ОпенСубдив 3.4.4
(Обратите внимание, что вы ДОЛЖНЫ использовать библиотеки сборки Qt 4.8.1, встроенные в Daz Studio SDK. Использование внешней библиотеки Qt приведет к ошибкам сборки и нестабильности программы.)
Загрузите или клонируйте репозиторий GitHub DazToMaya на свой локальный компьютер. Библиотека Daz Bridge связана с репозиторием DazBridge как подмодуль git. В зависимости от вашего клиента git вам, возможно, придется использовать git submodule init
и git submodule update
для правильного клонирования библиотеки Daz Bridge.
Процесс настройки сборки предназначен для запуска с графическим интерфейсом CMake в интерактивном сеансе. После настройки папки исходного кода и папки вывода пользователь может нажать «Настроить». CMake остановится во время процесса настройки, чтобы запросить у пользователя следующие пути:
- DAZ_SDK_DIR – корневая папка Daz Studio 4.5+ SDK. Это ДОЛЖНА быть версия, приобретенная в Daz Store и установленная через DIM. Любые другие версии НЕ будут работать с этим проектом исходного кода и приведут к ошибкам сборки и сбоям. пример: C:/Users/Public/Documents/My DAZ 3D Library/DAZStudio4.5+ SDK
- DAZ_STUDIO_EXE_DIR – папка, содержащая исполняемый файл Daz Studio. пример: C:/Program Files/DAZ 3D/DAZStudio4
- FBX_SDK_DIR – корневая папка, содержащая подпапки «include» и «lib». пример: C:/Program Files/Autodesk/FBX/FBX SDK/2020.0.1
- OPENSUBDIV_DIR – корневая папка, содержащая папки «opensubdiv», «examples», «cmake». Предполагается, что выходная папка установлена в подпапку с именем «build» и что файлы статической библиотеки osdCPU.lib или libosdCPU.a были собраны по адресу: /build/lib/Release/osdCPU.lib или /build/lib/Release/libosdCPU. .а. Предварительно созданную библиотеку для Mac и Windows можно найти по адресу https://github.com/danielbui78/OpenSubdiv/releases, где указано правильное расположение для включения и предварительно созданных двоичных файлов статической библиотеки Release. Если вы не используете эту предварительно скомпилированную версию, необходимо убедиться в правильности расположения пути к папке OPENSUBDIV_INCLUDE и пути к файлу OPENSUBDIV_LIB.
Как только эти пути будут правильно введены в графический интерфейс CMake, можно будет нажать кнопку «Настроить», и процесс настройки должен возобновиться до завершения. Затем можно создать файлы проекта и открыть проект. Обратите внимание, что пользовательская версия инструментов и библиотек сборки Qt 4.8 включена в DAZ_SDK_DIR. Если в вашей системе установлена другая версия Qt и видна CMake, это, скорее всего, приведет к ошибкам при поиске правильной версии Qt, указанной в DAZ_SDK_DIR, а также к ошибкам сборки и сбоям.
Результирующие файлы проекта должны иметь «DzBridge-Maya», «DzBridge Static» и «MayaModule ZIP» в качестве целевых объектов проекта. Бинарный файл DLL/DYLIB, созданный «DzBridge-Maya», должен быть рабочим плагином Daz Studio. «MayaModule ZIP» "Проект содержит сценарии автоматизации, которые упаковывают файлы модуля Maya в zip-файл и подготавливают его для встраивания в основной двоичный файл DLL/DYLIB плагина Daz Studio.
6. Как модифицировать и развивать
Исходный код плагина Daz Studio содержится в папке DazStudioPlugin
. Основной точкой входа в класс C++ для плагина является «DzBlenderAction» (.cpp/.h). Исходный код и ресурсы модуля Maya доступны в папке /Maya/MAYA_APP_DIR/modules/DazToMaya
. Справочную информацию по Daz Studio SDK API и Qt API можно найти в пакете «DAZ Studio SDK Docs». В Windows главная страница этой документации по умолчанию устанавливается в: C:UsersPublicDocumentsMy DAZ 3D LibraryDAZStudio4.5+ SDKdocsindex.html
.
DZ_BRIDGE_NAMESPACE : мост DazToMaya является производным от базовых классов в библиотеке Daz Bridge, которые находятся в DZ_BRIDGE_NAMESPACE (см. Bridge.h). В предыдущих опубликованных версиях официальных плагинов Daz Bridge использовались собственные пространства имен для изоляции общих имен классов от каждого плагина. Хотя теоретически это работает для предотвращения конфликтов пространств имен для платформ, которые придерживаются пространств имен C++, это может быть неприемлемо для некоторых реализаций Qt и модели метаобъектного программирования Qt, которая активно используется Daz Studio и плагинами Bridge. Примечательно, что пространства имен C++ могут не изолировать код в реализации Qt для Mac OS. Учитывая эти ограничения, я решил удалить рекомендацию переименовать DZ_BRIDGE_NAMESPACE, чтобы упростить и уменьшить сложность развертывания для потенциальных разработчиков подключаемых модулей моста.
Чтобы связать и совместно использовать классы C++ между этим плагином и библиотекой Daz Bridge, вместо стандартного макроса DZ_PLUGIN_DEFINITION и обычного файла .DEF (см. Bridge.h) используется специальный макрос CPP_PLUGIN_DEFINITION()
. ПРИМЕЧАНИЕ. Использование макроса DZ_PLUGIN_DEFINITION и использования файла DEF отключит экспорт классов C++ в компиляторе Visual Studio.
7. Структура каталогов
Внутри каталога Maya есть иерархия подкаталогов, соответствующих местоположениям на целевой машине. Части иерархии согласованы между поддерживаемыми платформами и должны быть точно реплицированы, в то время как другие служат заполнителями для местоположений, которые различаются в зависимости от платформы целевого компьютера.
Имена каталогов-заполнителей, используемые в этом репозитории:
Имя | Окна | macOS |
---|
appdir_common | Каталог, содержащий основной исполняемый файл (.exe) целевого приложения. Подиерархия является общей для 32-битных и 64-битных архитектур. | Каталог, содержащий основной пакет приложения (.app) для целевого приложения. Подиерархия является общей для 32-битных и 64-битных архитектур. |
MAYA_APP_DIR | Каталог, представляющий ваш личный каталог приложений Maya — см. документацию Maya. | То же самое на обеих платформах. |
MAYA_SCRIPT_PATH | Путь поиска MEL-скриптов — см. документацию Maya. | То же самое на обеих платформах. |
Структура каталогов следующая:
-
Maya
: файлы, относящиеся к стороне моста Maya .-
MAYA_APP_DIR
: см. таблицу выше.-
...
: Оставшаяся подиерархия
-
DazStudioPlugin
: файлы, относящиеся к стороне Daz Studio моста DazToMaya.-
Resources
: файлы данных, которые будут встроены в плагин Daz Studio, и вспомогательные сценарии для облегчения этого этапа сборки.
-
dzbridge-common
: файлы из библиотеки Daz Bridge, используемые DazStudioPlugin.-
Extras
: дополнительные сценарии и вспомогательные файлы, которые помогут в процессе преобразования, особенно для игровых движков и других приложений реального времени.
-
Test
: сценарии и сгенерированные выходные данные (отчеты), используемые для тестирования обеспечения качества.