====== Export/Import NEL ====== Page de travail qui sert de bloc note pour la réflexion sur l'import/export vers NEL Pages associées : * Import des ".shapes" dans blender : [[wkh>fr:import_nel]] * Plugin d'export dans blender : [[wkh>fr:pluginblender]] * Réflexion sur la pipeline linux : [[wkh>fr:linux_pipeline]] ===== Réflexion suite a des discussions avec kerval ===== Le pipeline d'export lance en batch 3dsmax pour exporter chaque fichier max vers son équivalent NEL.En passant par "collada" on s'affranchit de l'outil 3D. Tu peux créer tes objets sous 3DSMax, Blender, Maya, etc.. les exporter en Collada puis ta pipeline la traite de la même manière. Il y a ensuite les spécificités de NEL, le plugins 3dsmax sert à traiter cela. permettre par exemple de gérer 8 textures pour les 8 couleurs des habits, ou retrouver une image texture dans l'arborescence des data et la convertir dans le bon format. Finalement c'est peut être une mauvaise idée, on crée un plugin complexe alors que cela peut être géré simplement ailleurs. Laissant l'outil 3d gérer un objet tel quel et ajoutons un fichier de config texte qui dit que par exemple pour un objet "armure" voici les nom des 8 textures, et voici les dossiers de recherche des textures pour les référencer dans NEL. ===== Axe de travail ===== Partir sur deux programmes simples en ligne de commande : * collada2info * nel2info Ces programmes sur le princine de "file_info" dans "code/nel/tools/3d" //dumperont// le contenu du fichier de manière lisible (textuelle) et extensive (complète) : liste des "surfaces", "points formant les surface", etc... Ces deux programmes initiaux ont un triple objectif : * Permettre la maîtrise des objets NEL/Collada (apprentissage du code c++ pour les explorer) * Tester et valider le contenu des fichiers "3D" une fois l'export opérationnel Mais surtout * devenir les deux futurs outils "//collada2nel//" et "//nel2collada//" une fois le premier objectif maîtrisé. Ce glissement vers //collada2nel// et //nel2collada// se fera naturellement et au fur et à mesure. Les exports partant de "mesh" simples s'enrichiront de toutes les possibilités des modèles d'objets NEL. ===== Liens Collada ===== Documentation Collada : * http://www.khronos.org/developers/view_online/12577249 * http://www.khronos.org/files/collada_spec_1_4.pdf Liens vers quelques tutos : * http://collada.org/mediawiki/index.php/COLLADA_DOM_user_guide (la doc de collada-dom avec exemples ) * http://wiki.blender.org/index.php/User:Kazanbas/Building_Collada_Branch (compiler OpenCollada) * http://www.wazim.com/Collada_Tutorial_1.htm ( Animation de squelette à partir d'un fichier collada) * http://www.wazim.com/Collada_Tutorial_2.htm ( suite ) Librairies Collada * https://github.com/KhronosGroup/OpenCOLLADA/commits/master (OpenCollada) * http://sourceforge.net/projects/collada-dom/?source=navbar (Collada-Dom) La librairie OpenCollada est incluse dans Blender qui se base dessus pour son export Collada. OpenCollada fournit aussi des plugins d'export/importation pour 3DS Max et Maya. Cependant OpenCallada sur base sur SAX pour l'analyse du fichier XML. Une approche à la DOM a le mérite d'être plus simple et convient bien à notre approche. Package pour la librairie Collada-dom : * https://launchpad.net/~openrave/+archive/release {{tag>Tag_a_ajouter}}