Daz para a ponte Maya
Um plug-in do Daz Studio baseado na biblioteca Daz Bridge, permitindo a transferência de personagens e adereços do Daz Studio para o Maya.
- Proprietário: Daz 3D – @Daz3d
- Licença: Licença Apache, Versão 2.0 - consulte
LICENSE
e NOTICE
para obter mais informações. - Lançamento oficial: Ponte Daz para Maya
- Projeto oficial: github.com/daz3d/DazToMaya
Índice
- Sobre a ponte
- Pré-requisitos
- Como instalar
- Como usar
- Como construir
- Como desenvolver
- Estrutura de diretório
1. Sobre a ponte
Esta é uma versão atualizada do DazToMaya Bridge original que foi reescrita em C++ usando a Daz Bridge Library como base. Isso permite compartilhar o mesmo código-fonte e recursos com outras pontes, como as pontes DazToUnreal e DazToBlender.
O Daz To maya Bridge consiste em duas partes: um plug-in do Daz Studio que exporta ativos para o Maya e um módulo do Maya para importar os ativos e ajudar a recriar a aparência do ativo original do Daz Studio no Maya.
2. Pré-requisitos
- Uma versão compatível do aplicativo Daz Studio
- Uma versão compatível do aplicativo Maya
- Sistema operacional:
- Windows 7 ou mais recente
- macOS 10.13 (High Sierra) ou mais recente
3. Como instalo o Daz To Maya Bridge?
Estúdio Daz:
- Você pode instalar o Daz To Maya Bridge automaticamente através do Daz Install Manager. Isso adicionará automaticamente uma nova opção de menu em Arquivo -> Enviar para -> Daz To Maya.
- Alternativamente, você pode instalar manualmente baixando a versão mais recente da página de lançamento do Github e seguindo as instruções para instalar no Daz Studio.
Maia:
- O plug-in Daz Studio vem integrado com um instalador para o módulo Maya Bridge. Na caixa de diálogo Daz To Maya Bridge, agora há uma seção na seção Configurações avançadas para instalação do módulo Maya.
- Clique no botão “Instalar plug-in...”. Você verá uma janela pop-up para escolher uma pasta para instalar o módulo Maya. A pasta inicial deve ser o local padrão para plug-ins e módulos do Maya.
- No Windows, o caminho para instalar os módulos deve ser “Documentsmayamodules”. No Mac, o caminho deve ser “/Users//Library/Preferences/Autodesk/maya/modules”.
- Para a maioria das configurações do Maya, você deve apenas clicar em “Selecionar pasta”. Você verá uma caixa de diálogo de confirmação informando se a instalação do plugin foi bem-sucedida.
- Se o Maya estiver em execução, você precisará reiniciar para que o módulo Daz To Maya Bridge seja carregado.
- No Maya, agora você deve ver uma guia “DazToMaya” na barra de ferramentas do Maya Shelf. Clique nesta guia para encontrar as opções do DazToMaya.
- Se você tiver as guias desativadas no Maya Shelf, pode ser necessário clicar no ícone “engrenagem” e selecionar “Shelf Tabs” para localizar e selecionar a guia “DazToMaya”.
- Na guia DazToMaya da estante, você deve ver agora um ícone para “DAZ IMPORT”. Você concluiu a instalação do Daz To Maya Bridge!
- Se você receber um erro ao tentar clicar no ícone "DAZ IMPORT", certifique-se de ter o PyMEL instalado.
4. Como utilizo a Ponte Maya?
- Abra seu personagem no Daz Studio.
- Certifique-se de que qualquer roupa ou cabelo esteja relacionado ao corpo principal.
- No menu principal, selecione Arquivo -> Enviar para -> Daz para Maya. Alternativamente, você pode selecionar Arquivo -> Exportar e então escolher "Arquivo Maya Ascii" ou "Arquivo Binário Maya" na opção suspensa Salvar como tipo.
- Uma caixa de diálogo irá aparecer: escolha que tipo de conversão você deseja fazer, “Malha Estática” (sem esqueleto), “Malha Esquelética” (Personagem ou com juntas), “Animação” ou “Ambiente” (todas as malhas na cena) .
- Para habilitar Morphs ou níveis de subdivisão, clique na caixa de seleção para habilitar essa opção e, em seguida, clique no botão "Escolher Morphs" ou "Assar subdivisões" para configurar suas seleções.
- Clique em Aceitar e aguarde uma caixa de diálogo notificar quando mudar para o Maya.
- No Maya, clique no ícone “DAZ IMPORT” na prateleira de ferramentas do DazToMaya para abrir a janela de diálogo DazToMaya Bridge.
- Selecione “Importação automática”.
Morfa:
- Se você ativou a opção Exportar Morphs, haverá um nó “Morphs” no painel Outliner. Selecione este nó e você verá os controles deslizantes de metamorfose aparecerem no painel “Editor de atributos”, sob o título “Atributos extras”.
Animação:
- Para usar a opção de tipo de ativo “Animação”, sua Figura deve usar animações no sistema “Linha do Tempo” do Daz Studio.
- Se você estiver usando animações baseadas em “aniMate” ou “aniBlocks”, você precisa clicar com o botão direito no painel “aniMate” e selecionar “Bake To Studio Keyframes”.
- Assim que sua animação estiver no sistema “Timeline”, você pode iniciar a transferência usando Arquivo -> Enviar para -> Daz To Maya.
- A animação transferida agora deve poder ser usada por meio da interface do Maya Animation.
Suporte de subdivisão:
- Daz Studio usa a tecnologia Catmull-Clark Subdivision Surface, que é uma forma matemática de descrever uma superfície infinitamente lisa de uma maneira muito eficiente. Semelhante à forma como um círculo infinitamente suave pode ser descrito apenas com o raio, a malha de resolução básica de uma figura Daz é na verdade os dados matemáticos em uma equação para descrever uma superfície infinitamente lisa. Para software que suporta subdivisão Catmull-Clark e morfos baseados em superfície de subdivisão (também conhecidos como HD Morphs), não há perda de qualidade ou detalhe exportando a malha de resolução base (nível de subdivisão 0) e, em seguida, usando o Catmull-Clark nativo funções de subdivisão.
- Para software que não oferece suporte total à subdivisão Catmull-Clark ou HD Morphs, podemos "incorporar" níveis de detalhes de subdivisão adicionais na malha para aproximar mais os detalhes da superfície original. No entanto, preparar cada nível de subdivisão adicional requer exponencialmente mais tempo de CPU, memória e espaço de armazenamento. Se você não tiver um PC de última geração, é provável que seu sistema fique sem memória e trave se você definir o nível de subdivisão exportado acima de 2.
- Quando você ativa as opções Bake Subdivision na ponte Daz To Maya, o ativo é transferido para o Maya como uma malha padrão com contagens de vértices de resolução mais alta.
5. Como construir
A instalação e configuração do sistema de compilação são feitas via CMake para gerar arquivos de projeto para Windows ou Mac. A configuração do CMake requer:
- CMake moderno (testado com 3.27.2 no Win e 3.27.0-rc4 no Mac)
- SDK do Daz Studio 4.5+ (do DIM)
- SDK Fbx 2020.1 (win) / SDK Fbx 2015.1 (mac)
- OpenSubdiv 3.4.4
(Observe que você DEVE usar as bibliotecas de construção do Qt 4.8.1 integradas ao SDK do Daz Studio. Usar uma biblioteca Qt externa resultará em erros de construção e instabilidade do programa.)
Baixe ou clone o repositório github DazToMaya para sua máquina local. A Biblioteca Daz Bridge está vinculada como um submódulo git ao repositório DazBridge. Dependendo do seu cliente git, pode ser necessário usar git submodule init
e git submodule update
para clonar corretamente a biblioteca Daz Bridge.
O processo de configuração de compilação foi projetado para ser executado com CMake gui em uma sessão interativa. Após configurar a pasta de código-fonte e uma pasta de saída, o usuário pode clicar em Configurar. O CMake irá parar durante o processo de configuração para solicitar ao usuário os seguintes caminhos:
- DAZ_SDK_DIR – a pasta raiz do SDK do Daz Studio 4.5+. Esta DEVE ser a versão adquirida na Daz Store e instalada via DIM. Quaisquer outras versões NÃO funcionarão com este projeto de código-fonte e resultarão em erros e falhas de construção. exemplo: C:/Users/Public/Documents/My DAZ 3D Library/DAZStudio4.5+ SDK
- DAZ_STUDIO_EXE_DIR – a pasta que contém o arquivo executável do Daz Studio. exemplo: C:/Arquivos de Programas/DAZ 3D/DAZStudio4
- FBX_SDK_DIR – a pasta raiz que contém as subpastas “include” e “lib”. exemplo: C:/Arquivos de programas/Autodesk/FBX/FBX SDK/2020.0.1
- OPENSUBDIV_DIR – pasta raiz contendo as pastas “opensubdiv”, “examples”, “cmake”. Ele assume que a pasta de saída foi definida como uma subpasta chamada “build” e que os arquivos da biblioteca estática osdCPU.lib ou libosdCPU.a foram criados em: /build/lib/Release/osdCPU.lib ou /build/lib/Release/libosdCPU .um. Uma biblioteca pré-construída para Mac e Windows pode ser encontrada em https://github.com/danielbui78/OpenSubdiv/releases que contém o local correto para incluir e binários da biblioteca estática Release pré-construídos. Se você não estiver usando esta versão pré-compilada, deverá garantir o local correto para o caminho da pasta OPENSUBDIV_INCLUDE e o caminho do arquivo OPENSUBDIV_LIB.
Depois que esses caminhos forem inseridos corretamente na GUI do CMake, o botão Configurar poderá ser clicado e o processo de configuração deverá ser retomado até a conclusão. Os arquivos do projeto podem então ser gerados e o projeto pode ser aberto. Observe que uma versão personalizada das ferramentas e bibliotecas de construção do Qt 4.8 está incluída no DAZ_SDK_DIR. Se outra versão do Qt estiver instalada em seu sistema e visível para o CMake, provavelmente causará erros ao encontrar a versão correta do Qt fornecida no DAZ_SDK_DIR e causará erros e falhas de compilação.
Os arquivos de projeto resultantes devem ter “DzBridge-Maya”, “DzBridge Static” e “MayaModule ZIP” como alvos do projeto. O arquivo binário DLL/DYLIB produzido por “DzBridge-Maya” deve ser um plugin funcional do Daz Studio. "O projeto contém os scripts de automação que empacotam os arquivos do Módulo Maya em um arquivo zip e o prepara para incorporação no binário DLL/DYLIB do plugin principal do Daz Studio.
6. Como Modificar e Desenvolver
O código-fonte do plug-in Daz Studio está contido na pasta DazStudioPlugin
. O principal ponto de entrada da classe C++ para o plugin é "DzBlenderAction" (.cpp/.h). O código-fonte e os recursos do módulo Maya estão disponíveis na pasta /Maya/MAYA_APP_DIR/modules/DazToMaya
. As informações de referência da API Daz Studio SDK e da API Qt podem ser encontradas no pacote "DAZ Studio SDK Docs". No Windows, a página principal desta documentação é instalada por padrão em: C:UsersPublicDocumentsMy DAZ 3D LibraryDAZStudio4.5+ SDKdocsindex.html
.
DZ_BRIDGE_NAMESPACE : O DazToMaya Bridge é derivado de classes base na Daz Bridge Library que estão dentro do DZ_BRIDGE_NAMESPACE (consulte bridge.h). Versões publicadas anteriormente dos plug-ins oficiais do Daz Bridge usavam namespaces personalizados para isolar nomes de classes compartilhadas de cada plug-in. Embora isso teoricamente funcione para evitar colisões de namespace para plataformas que aderem a namespaces C++, pode não ser verdade para algumas implementações do Qt e do modelo de programação de meta-objetos Qt, que é muito usado pelo Daz Studio e pelos plug-ins Bridge. Notavelmente, os namespaces C++ podem não isolar o código na implementação do Qt no Mac OS. Com essas limitações em mente, decidi remover a recomendação de renomear DZ_BRIDGE_NAMESPACE para agilizar e reduzir a complexidade de implantação para possíveis desenvolvedores de plugins de ponte.
Para vincular e compartilhar classes C++ entre este plugin e a Biblioteca Daz Bridge, uma macro CPP_PLUGIN_DEFINITION()
personalizada é usada em vez da macro DZ_PLUGIN_DEFINITION padrão e do arquivo .DEF usual (veja bridge.h). NOTA: O uso da macro DZ_PLUGIN_DEFINITION e do arquivo DEF desabilitará a exportação da classe C++ no compilador do Visual Studio.
7. Estrutura de diretório
Dentro do diretório Maya estão hierarquias de subdiretórios que correspondem a locais na máquina de destino. Partes da hierarquia são consistentes entre as plataformas suportadas e devem ser replicadas com exatidão, enquanto outras servem como espaços reservados para locais que variam dependendo da plataforma da máquina de destino.
Os nomes de diretório de espaço reservado usados neste repositório são:
Nome | Windows | macOS |
---|
appdir_common | O diretório que contém o executável principal (.exe) do aplicativo de destino. A subhierarquia é comum entre arquiteturas de 32 e 64 bits. | O diretório que contém o pacote configurável do aplicativo principal (.app) do aplicativo de destino. A subhierarquia é comum entre arquiteturas de 32 e 64 bits. |
MAYA_APP_DIR | O diretório que representa o diretório pessoal do seu aplicativo Maya - consulte a documentação do Maya | O mesmo em ambas as plataformas. |
MAYA_SCRIPT_PATH | O caminho de pesquisa para scripts MEL - consulte a documentação do Maya | O mesmo em ambas as plataformas. |
A estrutura do diretório é a seguinte:
-
Maya
: Arquivos que pertencem ao lado Maya da ponte-
MAYA_APP_DIR
: Veja a tabela acima-
...
: Subhierarquia restante
-
DazStudioPlugin
: Arquivos que pertencem ao lado Daz Studio da ponte DazToMaya-
Resources
: Arquivos de dados a serem incorporados ao plugin Daz Studio e scripts de suporte para facilitar esta fase de construção.
-
dzbridge-common
: Arquivos da biblioteca Daz Bridge usados por DazStudioPlugin-
Extras
: Scripts suplementares e arquivos de suporte para auxiliar no processo de conversão, especialmente para motores de jogos e outras aplicações em tempo real.
-
Test
: Scripts e resultados gerados (relatórios) usados para testes de garantia de qualidade.