[[dilili:pantins_vehicule_procedure|{{:home.png?direct&80|}}]] ===== La fabrication d'un véhicule ===== \\ \\ {{:chrono.jpg?nolink&70|}} Environ 2-3 jours \\ \\ \\ \\ ==== Aperçu rapide de la procédure ==== - Résumé pour le fichier fab : - modélisation simple et flexible - matériaux simple pour faire des aplats de couleur avec un léger dégradé d’assombrissement - utiliser les scripts de renommage si nécessaire - applications des modifiers et curves avec un script - Remove Doubles à faire avant Separate by materials !!! - utilisation de l'add-on Texture Atlas pour créer des groupes de baking avec en préfixe "bake_" - faire des groupes d'objets en prévoyant des variations de modèle 3D - Dépliage UV (avec add-on Texture Atlas (0.005) ou auto seams unwrap (0.01)) - Duplication du fichier de fab dans actor avec un suffixe "_bake" puis "_bake_A", B, etc... - bake des textures avec alpha ! (margin à 3-4) - dupliquer et nommer en vXX - replacer les matériaux par un matériau avec la texture bakée par script - clean des uv layers - vérifier les problèmes de coutures - rigger (vérification des paramètres si réutilisation d'un rig existant) - ajouter les variations 3D à l'aide de "add new plane variations" (renommer les os avec le préfixe "DEF-" si nécessaire) (script en cours pour rajouter l'interface dans le panel ui) - ajouter les ombres - nommer les lumières avec le prefix "LUMIERE_" - apply scale and rotation + fix_shear_matrices (/u/production/Dilili/TECH/scripts/pantins/batch/) - placer les empty pour positionner les pantins ("ph_pantin" en préfixe) - vérifier les noms des groupes - rig et nom du groupe au nom du véhicule - Rendre les meshs non sélectionnable - add UUIDs et clean des assets properties (on laisse db_uuid) - Créer le fichier REF et l'entrée Criquet ---- ==== Mémo des vérifications ==== - matériaux (bake_) \\ - interpénétration de mesh \\ - rendus : vérif de bugs de textures, tout ce qui est bizarre (attention au clipping de la vue 3D, paramètres par défaut, min : 0.1, max : 1000) \\ - vérification des problèmes de coutures (si besoin, mettre le filter à 0.1 dans l'onglet 'image sampling' de la texture) \\ - paramètres du rig, rotation des roues, pose mode à 1, follow path à 0 (dans l'add-on) \\ - pas Ngons \\ - add UUIDs au cas où \\ - uv layer (garder celui avec le prefixe bake_) \\ - remove doubles \\ - meshs non sélectionnable \\ - "OMBRE_" et "LUMIERE_" - import criquet, suppression (si erreurs avec les empty qui restent, pas grave), si le reload ne marche pas, tant pis - En dernier, quand tout est vérifié, créer le dossier bake et déplacer les fichiers de bake - Attelage : ombre des chevaux, harnais 3D baké, meshdeform avec une clé d'invisibilité et dans le groupe, modification de maillage pour rentrer dans le harnais ---- ---- ---- ===== Procédure complète ===== ==== Préparation ==== - dossier des Véhicules : ''/u/production/Dilili/LIB/Props/Vehicules2D'' - dossier des Attelages : ''/u/production/Dilili/LIB/Chars/Groupe'' - dossier du cheval 3D : ''/u/production/Dilili/LIB/Chars/Animal/Cheval02'' - dossier du cheval 2D : ''/u/production/Dilili/LIB/Chars/Animal2D/Cheval01P'' - dossier des blueprints et des ref : ''/u/production/Dilili/PRODUCTION/Modeles_Reception/20161114_livraison_Vehicules2D'' - dossier des scripts : ''/u/production/Dilili/TECH/scripts/pantins/vehicules/scripts'' - find_and_replace.py : cherche une chaîne de caractères et la remplace, en ajoutant un prefix et/ou un suffixe si nécessaire - rename.py : renomme en masse (ajoute .001, .002, ...), en ajoutant un prefix et/ou un suffixe si nécessaire - apply_modifier.py : applique tous les modificateurs des objects sélectionnés, converti les curves en mesh - remove_doubles.py : applique un remove doubles aux objets sélectionnés - reassign_mat_after_separate.py : resoud le bug de perte de matériaux sur les objets sélectionnés à la suite d'un Separate by materials - apply_bake_mat.py : retire tous les matériaux des objets sélectionnés et les remplace par le matériaux contenant la texture bakée - remove_uv_layers.py : nettoie des uv layers pour garder que l'UV utile - del_asset_prop.py : nettoie des assets properties - dossier des add-ons : ''/u/production/Dilili/TECH/scripts/pantins/vehicules/addons'' - pantin vehicule rig : - contrôles pour la rotation des roues - création et choix des variations - conversion du rig pour les voitures ou les carrioles - pantin véhicule color : affichage des matériaux et des couleurs à modifier sur les matériaux d'un véhicules ---- ==== Modélisation ==== - Règles - maillage : - plutôt low poly - mais avec plus de détails pour les véhicules proches (Voir avec Mathieu) - outils de blender (si besoin) : - modificateurs - mirror - solidify - snap to face - curves - convert tris to quad (Alt-J) - Triangulate tris (Ctrl-T ou Ctrl-Shift-T) - fichier de fab avec modificateurs, curves, etc... - pour être flexible si besoin de plus de détails ---- ==== Matériaux ==== - tout en shadeless pour les véhicules lointains - Pour une vue proche : - éclairage par les normales avec matériaux nodaux pour les objets fixes (cad pas les roues) - se restreindre à quelques matériaux, 5-6, 10 grand maximum, pour que les variations de couleurs soient plus simples ---- ==== Préparation au baking ==== - vérification des normales - Join des mesh en fonction des objects principaux pour pouvoir faire des variations facilement plus tard - P : separate by selection - Ctrl-J : join - Bien nommer les objects - utiliser les scripts de renommage si nécessaire - nommer les lumières avec le prefix "LUMIERE_" - applications des modifiers et curves avec le script - Remove Doubles à faire avant Separate by materials !!! - Remove Doubles des objets sélectionnés par script - Separate by materials en mode object, avec tous les objets sélectionnés - espace (pour afficher la barre de recherche), puis taper 'Separate' pour trouver l'opérateur - re-assigner les matériaux des objets avec le script (bug de blender parfois) ---- ==== Dépliage UV ==== - Utiliser l'add-on Texture Atlas inclus par défaut dans blender - NOMMER les groupes avec le préfix "bake_" !!! (pour le script d'application des matériaux bakés) - Taille des textures à bien choisir en fonction de la complexité du maillage - Ajout des objets à baker - Auto Unwrap avec margin à 0.01 ou 0.005 - bien adapter le paramètre margin et la taille de la texture en fonction du maillage - vérifier qu'il n'y a pas de parties non bakées car trop petites - Si l'Unwrap ne fonctionne pas, on peut utiliser l'add on "UV:auto seam unwrap" avec "island margin" à 0.01 par exemple. - Pour des petites corrextions d'UV, utiliser "Start Manual Unwrap" pour corriger manuellement un bake de plusieurs objets en même temps - bien penser à cliquer sur "Finish Manual Unwrap" pour appliquer les modifications ---- ==== Préparation des fichiers dans le dossier 'actor' ==== - Copie du fichier de fab dans le dossier actor avec le suffixe bake - nomenclature des suffixes : - bake pour le preset de base - bake_A pour la variation _A, etc... - bake des textures avec alpha ! (margin à 3-4) - copie du fichier bake et nommer selon la nommenclature des pantins avec le suffixe _v01 - préparation du fichier - replacer les matériaux par un matériau avec la texture bakée par script - clean des uv layers - vérifier les problèmes de coutures - vérif des UVs - image sampling : filter à 0.1 si nécessaire - rigger - utilisation d'un rig existant (append de ...) - parenter les objets aux os correspondants - vérification des paramètres : pose mode à 1, follow path à 0, vitesse des roues... - ajouter les ombres - Vérifier qu'elles sont bien nommée avec le préfixe OMBRE_ - apply scale and rotation + fix_shear_matrices (/u/production/Dilili/TECH/scripts/pantins/batch/) - placer les empty pour positionner les pantins ("ph_pantin" en préfixe) - vérifier les noms des groupes - rig et nom du groupe au nom du véhicule - Rendre les meshs non sélectionnable - add UUIDs et clean des assets properties avec le script "del_asset_prop.py" - Créer le fichier REF et l'entrée Criquet ---- ==== Préparation d'un attelage ==== Rappel : - dossier des Attelages : ''/u/production/Dilili/LIB/Chars/Groupe'' - dossier du cheval 3D : ''/u/production/Dilili/LIB/Chars/Animal/Cheval02'' - dossier du cheval 2D : ''/u/production/Dilili/LIB/Chars/Animal2D/Cheval01P'' - Créer un dossier pour l'attelage avec son dossier actor et les fichiers de REF + versions - import depuis Criquet du véhicule et du cheval - faire les modifications nécessaires - pour caler le brancard avec le harnais du cheval par exemple - parenter le cheval à l'os de direction - add UUIDs au cas où ---- \\ \\ \\ \\ ★ ★ ★ ★ Sommaire ★ ★ ★ ★ * [[dilili:pantins_procedure|L'accueil]] \\ \\ * [[dilili:pantins_procedure_reception|La réception du pantin]] \\ \\ * [[dilili:pantins_procedure_pantin_fixe|Importer le Pantin dans Blender]] \\ \\ * [[dilili:pantins_procedure_rig|Le rig du pantin]] \\ \\ * [[dilili:pantins_procedure_animation|L'animation]] \\ \\ \\ \\ \\ \\ \\ \\ ----