Pont Daz à Maya
Un plugin Daz Studio basé sur la bibliothèque Daz Bridge, permettant le transfert des personnages et accessoires de Daz Studio vers Maya.
- Propriétaire : Daz 3D – @Daz3d
- Licence : Licence Apache, version 2.0 - voir
LICENSE
et NOTICE
pour plus d'informations. - Sortie officielle : Pont de Daz à Maya
- Projet officiel : github.com/daz3d/DazToMaya
Table des matières
- À propos du pont
- Conditions préalables
- Comment installer
- Comment utiliser
- Comment construire
- Comment développer
- Structure du répertoire
1. À propos du pont
Il s'agit d'une version mise à jour du pont DazToMaya original qui est réécrit en C++ en utilisant la bibliothèque Daz Bridge comme base. Cela lui permet de partager le même code source et les mêmes fonctionnalités avec d'autres ponts tels que les ponts DazToUnreal et DazToBlender.
Le pont Daz To maya se compose de deux parties : un plugin Daz Studio qui exporte des actifs vers Maya et un module Maya pour importer les actifs et aider à recréer l'apparence de l'actif Daz Studio d'origine dans Maya.
2. Conditions préalables
- Une version compatible de l'application Daz Studio
- Une version compatible de l'application Maya
- Système opérateur:
- Windows 7 ou version ultérieure
- macOS 10.13 (High Sierra) ou version ultérieure
3. Comment installer le pont Daz To Maya ?
Studio Daz :
- Vous pouvez installer automatiquement le pont Daz To Maya via Daz Install Manager. Cela ajoutera automatiquement une nouvelle option de menu sous Fichier -> Envoyer vers -> Daz To Maya.
- Vous pouvez également l'installer manuellement en téléchargeant la dernière version à partir de la page de version de Github et en suivant les instructions qui s'y trouvent pour l'installer dans Daz Studio.
Maya:
- Le plugin Daz Studio est livré avec un programme d'installation pour le module Maya Bridge. Dans la boîte de dialogue Daz To Maya Bridge, il y a maintenant une section dans la section Paramètres avancés pour l'installation du module Maya.
- Cliquez sur le bouton « Installer le plugin… ». Vous verrez une fenêtre contextuelle pour choisir un dossier pour installer le module Maya. Le dossier de départ doit être l'emplacement par défaut des plugins et modules Maya.
- Sous Windows, le chemin d'installation des modules doit être « Documentsmayamodules ». Sur Mac, le chemin doit être « /Utilisateurs//Bibliothèque/Préférences/Autodesk/maya/modules ».
- Pour la plupart des configurations Maya, vous devriez pouvoir simplement cliquer sur « Sélectionner un dossier ». Vous verrez alors une boîte de dialogue de confirmation indiquant si l'installation du plugin a réussi.
- Si Maya est en cours d'exécution, vous devrez redémarrer pour que le module Daz To Maya Bridge se charge.
- Dans Maya, vous devriez maintenant voir un onglet « DazToMaya » dans la barre d'outils Maya Shelf. Cliquez sur cet onglet pour trouver les options de DazToMaya.
- Si vous avez des onglets désactivés dans l'étagère Maya, vous devrez peut-être cliquer sur l'icône « rouage » et sélectionner « Onglets de l'étagère » pour rechercher et sélectionner l'onglet « DazToMaya ».
- Dans l'onglet DazToMaya de l'étagère, vous devriez maintenant voir une icône pour « DAZ IMPORT ». Vous avez terminé d'installer Daz To Maya Bridge !
- Si vous recevez une erreur lorsque vous essayez de cliquer sur l'icône « DAZ IMPORT », assurez-vous que PyMEL est installé.
4. Comment utiliser le pont Maya ?
- Ouvrez votre personnage dans Daz Studio.
- Assurez-vous que tous les vêtements ou cheveux sont liés au corps principal.
- Dans le menu principal, sélectionnez Fichier -> Envoyer vers -> Daz To Maya. Alternativement, vous pouvez sélectionner Fichier -> Exporter, puis choisir « Fichier Maya Ascii » ou « Fichier binaire Maya » dans l'option déroulante Enregistrer sous le type.
- Une boîte de dialogue apparaîtra : choisissez le type de conversion que vous souhaitez effectuer, "Maillage statique" (pas de squelette), "Maille squelettique" (Personnage ou avec articulations), "Animation" ou "Environnement" (tous les maillages de la scène). .
- Pour activer les niveaux de formes ou de subdivisions, cochez la case pour activer cette option, puis cliquez sur le bouton « Choisir des formes » ou « Créer des subdivisions » pour configurer vos sélections.
- Cliquez sur Accepter, puis attendez qu'une boîte de dialogue contextuelle vous indique quand passer à Maya.
- Depuis Maya, cliquez sur l'icône « DAZ IMPORT » dans la bibliothèque d'outils DazToMaya pour ouvrir la fenêtre de dialogue DazToMaya Bridge.
- Sélectionnez « Importation automatique ».
Formes :
- Si vous avez activé l'option Exporter les formes, il y aura un nœud « Morphs » dans le panneau Outliner. Sélectionnez ce nœud et vous verrez des curseurs de morphing apparaître dans le panneau « Éditeur d'attributs », sous l'en-tête « Attributs supplémentaires ».
Animation:
- Pour utiliser l'option de type d'actif « Animation », votre figurine doit utiliser des animations sur le système « Timeline » de Daz Studio.
- Si vous utilisez des animations basées sur « aniMate » ou « aniBlocks », vous devez cliquer avec le bouton droit dans le panneau « aniMate » et sélectionner « Bake To Studio Keyframes ».
- Une fois votre animation sur le système « Timeline », vous pouvez démarrer le transfert en utilisant Fichier -> Envoyer vers -> Daz To Maya.
- L'animation transférée devrait désormais être utilisable via l'interface Maya Animation.
Prise en charge des lotissements :
- Daz Studio utilise la technologie Catmull-Clark Subdivision Surface qui est une manière mathématique de décrire une surface infiniment lisse de manière très efficace. Semblable à la façon dont un cercle infiniment lisse peut être décrit avec juste le rayon, le maillage de résolution de base d'une figure de Daz est en fait les données mathématiques d'une équation pour décrire une surface infiniment lisse. Pour les logiciels prenant en charge la subdivision Catmull-Clark et les morphes basés sur la surface de subdivision (également connus sous le nom de Morphs HD), il n'y a aucune perte de qualité ou de détails en exportant le maillage de résolution de base (niveau de subdivision 0), puis en utilisant le Catmull-Clark natif. fonctions de lotissement.
- Pour les logiciels qui ne prennent pas entièrement en charge la subdivision Catmull-Clark ou les morphologies HD, nous pouvons « intégrer » des niveaux de détail de subdivision supplémentaires dans le maillage pour se rapprocher plus étroitement des détails de la surface d'origine. Cependant, la création de chaque niveau de subdivision supplémentaire nécessite exponentiellement plus de temps CPU, de mémoire et d'espace de stockage. Si vous ne disposez pas d'un PC haut de gamme, il est probable que votre système manque de mémoire et plante si vous définissez le niveau de subdivision exporté au-dessus de 2.
- Lorsque vous activez les options Bake Subdivision dans le pont Daz To Maya, l'actif est transféré vers Maya en tant que maillage standard avec un nombre de sommets de résolution plus élevée.
5. Comment construire
L'installation et la configuration du système de build se font via CMake pour générer des fichiers de projet pour Windows ou Mac. La configuration CMake nécessite :
- CMake moderne (testé avec 3.27.2 sur Win et 3.27.0-rc4 sur Mac)
- SDK Daz Studio 4.5+ (à partir de DIM)
- SDK Fbx 2020.1 (gagnant) / SDK Fbx 2015.1 (mac)
- OpenSubdiv 3.4.4
(Veuillez noter que vous DEVEZ utiliser les bibliothèques de build Qt 4.8.1 intégrées au SDK Daz Studio. L'utilisation d'une bibliothèque Qt externe entraînera des erreurs de build et une instabilité du programme.)
Téléchargez ou clonez le référentiel github DazToMaya sur votre ordinateur local. La bibliothèque Daz Bridge est liée en tant que sous-module git au référentiel DazBridge. En fonction de votre client git, vous devrez peut-être utiliser git submodule init
et git submodule update
pour cloner correctement la bibliothèque Daz Bridge.
Le processus de configuration de la build est conçu pour être exécuté avec l'interface graphique CMake dans une session interactive. Après avoir configuré le dossier de code source et un dossier de sortie, l'utilisateur peut cliquer sur Configurer. CMake s'arrêtera pendant le processus de configuration pour demander à l'utilisateur les chemins suivants :
- DAZ_SDK_DIR – le dossier racine du SDK Daz Studio 4.5+. Il DOIT s'agir de la version achetée sur le Daz Store et installée via le DIM. Toute autre version ne fonctionnera PAS avec ce projet de code source et entraînera des erreurs et des échecs de construction. exemple : C:/Users/Public/Documents/Ma bibliothèque DAZ 3D/DAZStudio4.5+ SDK
- DAZ_STUDIO_EXE_DIR – le dossier contenant le fichier exécutable Daz Studio. exemple : C:/Program Files/DAZ 3D/DAZStudio4
- FBX_SDK_DIR – le dossier racine contenant les sous-dossiers « include » et « lib ». exemple : C:/Program Files/Autodesk/FBX/FBX SDK/2020.0.1
- OPENSUBDIV_DIR – dossier racine contenant les dossiers « opensubdiv », « examples », « cmake ». Cela suppose que le dossier de sortie a été défini dans un sous-dossier nommé « build » et que les fichiers de bibliothèque statique osdCPU.lib ou libosdCPU.a ont été créés à l'emplacement : /build/lib/Release/osdCPU.lib ou /build/lib/Release/libosdCPU. .un. Une bibliothèque prédéfinie pour Mac et Windows peut être trouvée sur https://github.com/danielbui78/OpenSubdiv/releases qui contient l'emplacement correct pour inclure et les fichiers binaires de bibliothèque statique Release prédéfinis. Si vous n'utilisez pas cette version précompilée, vous devez vous assurer de l'emplacement correct du chemin du dossier OPENSUBDIV_INCLUDE et du chemin du fichier OPENSUBDIV_LIB.
Une fois ces chemins correctement saisis dans l'interface graphique CMake, vous pouvez cliquer sur le bouton Configurer et le processus de configuration devrait reprendre jusqu'à son terme. Les fichiers de projet peuvent ensuite être générés et le projet peut être ouvert. Veuillez noter qu'une version personnalisée des outils et bibliothèques de build Qt 4.8 est incluse dans le DAZ_SDK_DIR. Si une autre version de Qt est installée sur votre système et visible par CMake, cela provoquera probablement des erreurs lors de la recherche de la version correcte de Qt fournie dans le DAZ_SDK_DIR et provoquera des erreurs et des échecs de construction.
Les fichiers de projet résultants doivent avoir « DzBridge-Maya », « DzBridge Static » et « MayaModule ZIP » comme cibles du projet. Le fichier binaire DLL/DYLIB produit par « DzBridge-Maya » doit être un plugin Daz Studio fonctionnel. Le « MayaModule ZIP » " Le projet contient les scripts d'automatisation qui regroupent les fichiers du module Maya dans un fichier zip et le prépare à l'intégration dans le binaire DLL/DYLIB principal du plugin Daz Studio.
6. Comment modifier et développer
Le code source du plugin Daz Studio est contenu dans le dossier DazStudioPlugin
. Le point d'entrée principal de la classe C++ pour le plugin est "DzBlenderAction" (.cpp/.h). Le code source et les ressources du module Maya sont disponibles dans le dossier /Maya/MAYA_APP_DIR/modules/DazToMaya
. Les informations de référence sur l'API du SDK Daz Studio et l'API Qt sont disponibles dans le package « DAZ Studio SDK Docs ». Sous Windows, la page principale de cette documentation est installée par défaut dans : C:UsersPublicDocumentsMy DAZ 3D LibraryDAZStudio4.5+ SDKdocsindex.html
.
DZ_BRIDGE_NAMESPACE : Le pont DazToMaya est dérivé des classes de base de la bibliothèque Daz Bridge qui se trouvent dans le DZ_BRIDGE_NAMESPACE (voir bridge.h). Les versions publiées antérieures des plugins officiels Daz Bridge utilisaient des espaces de noms personnalisés pour isoler les noms de classe partagés de chaque plugin. Bien que cela fonctionne théoriquement pour empêcher les collisions d'espaces de noms pour les plates-formes qui adhèrent aux espaces de noms C++, cela peut ne pas être vrai pour certaines implémentations de Qt et du modèle de programmation de méta-objets Qt, qui est largement utilisé par Daz Studio et les plugins Bridge. Notamment, les espaces de noms C++ peuvent ne pas isoler le code sur l'implémentation Mac OS de Qt. En gardant ces limitations à l'esprit, j'ai décidé de supprimer la recommandation de renommer DZ_BRIDGE_NAMESPACE afin de rationaliser et de réduire la complexité du déploiement pour les développeurs potentiels de plugins de pont.
Afin de lier et de partager des classes C++ entre ce plugin et la bibliothèque Daz Bridge, une macro CPP_PLUGIN_DEFINITION()
personnalisée est utilisée à la place de la macro standard DZ_PLUGIN_DEFINITION et du fichier .DEF habituel (voir bridge.h). REMARQUE : L'utilisation de la macro DZ_PLUGIN_DEFINITION et du fichier DEF désactivera l'exportation de classe C++ dans le compilateur Visual Studio.
7. Structure du répertoire
Dans le répertoire Maya se trouvent des hiérarchies de sous-répertoires qui correspondent aux emplacements sur la machine cible. Des parties de la hiérarchie sont cohérentes entre les plates-formes prises en charge et doivent être répliquées exactement tandis que d'autres servent d'espaces réservés pour des emplacements qui varient en fonction de la plate-forme de la machine cible.
Les noms de répertoires réservés utilisés dans ce référentiel sont :
Nom | Fenêtres | macOS |
---|
appdir_common | Répertoire contenant l'exécutable principal (.exe) de l'application cible. La sous-hiérarchie est courante entre les architectures 32 bits et 64 bits. | Répertoire contenant le bundle d'application principal (.app) pour l'application cible. La sous-hiérarchie est courante entre les architectures 32 bits et 64 bits. |
MAYA_APP_DIR | Le répertoire qui représente votre répertoire personnel d'application Maya - voir la documentation Maya | Idem sur les deux plateformes. |
MAYA_SCRIPT_PATH | Le chemin de recherche des scripts MEL - voir la documentation Maya | Idem sur les deux plateformes. |
La structure des répertoires est la suivante :
-
Maya
: fichiers relatifs au côté maya du pont-
MAYA_APP_DIR
: Voir tableau ci-dessus-
...
: sous-hiérarchie restante
-
DazStudioPlugin
: fichiers relatifs au côté Daz Studio du pont DazToMaya-
Resources
: Fichiers de données à intégrer dans le plugin Daz Studio et scripts de support pour faciliter cette étape de construction.
-
dzbridge-common
: Fichiers de la bibliothèque Daz Bridge utilisés par DazStudioPlugin-
Extras
: Scripts supplémentaires et fichiers de support pour faciliter le processus de conversion, en particulier pour les moteurs de jeu et autres applications en temps réel.
-
Test
: scripts et sorties générées (rapports) utilisés pour les tests d'assurance qualité.