Remplacement de parties du corps et dépannage de la frontière de la maille/masque
Le corps de base ZEPETO par défaut a une forme généralement neutre à masculine. Pour un torse féminin plus distinct, un élément de maillage qui remplace le corps de base doit être utilisé. Pour un exemple ou un point de départ, téléchargez le fichier Female_Torso.fbx (Télécharger) fichier. Ce fichier peut être chargé dans Blender et contiendra deux objets de maillage :
- Female_Torso_V
- guide_mannequin
Les objets Female_Torso_V et guide_mannequin sont mappés en UV selon les mêmes spécifications que le masque. L'objet Female_Torso_V a également un matériau nommé « peau ». Ce nom de matériau est nécessaire pour indiquer à l'application d'utiliser les textures de peau de l'avatar.
Ce torse est placé dans une pose A détendue et nécessitera un travail supplémentaire pour s'adapter à la pose en T standard attendue. Voir le Rigging Guide pour plus de détails sur la conversion de la pose A à la pose T. Pour obtenir un squelette à animer et travailler, importez le fichier creator_base_set dans la scène. Mettez le squelette du creator base set dans la pose A standard. Remarquez que les hanches, les bras et le cou de l'objet mesh Female_Torso_V se terminent tous par des boucles qui correspondent au masque par défaut. Cela permet de s'assurer qu'il n'y a pas de ruptures visuelles dans le corps de base lorsqu'il est associé à d'autres éléments. Ce torse peut être utilisé pour façonner un haut à une forme féminine, ou pour fournir une portion de torse prête à l'emploi pour une peau exposée pour un haut. Le torse féminin n'a pas de poids inclus. Pour la peinture de poids, utilisez une opération de transfert de poids à partir d'un objet masque correctement posé/pondéré du Creator Base Set. Cela devrait fournir au torse des poids correctement distribués. Lors de l'inclusion de portions du torse dans un objet haut, assurez-vous que les objets Torse et Haut sont combinés en un seul objet. Cela peut être facilement accompli en sélectionnant les meshes du torse et du haut et en allant dans Objet > Joindre.
Les paramètres de poids pour chaque composant de l'élément seront conservés par maillage lors de la jonction des objets maillés, alors assurez-vous de lier à la fois les objets du haut et du torse avant de les combiner pour vous faciliter la vie. Dans le cadre du processus de finition, supprimez les zones du maillage du torse qui sont couvertes par le haut et ne seront pas visibles. Cela aidera à prévenir les problèmes de chevauchement entre les objets du haut et du torse.
Vous pouvez également personnaliser votre propre torse à utiliser dans l'application ! Si vous créez ou personnalisez votre propre torse, le maillage doit suivre quelques exigences.
- Le maillage du torse doit s'aligner avec l'objet masque de base au niveau des hanches, du cou et des bras
- Le maillage du torse doit suivre une disposition UV similaire à celle du masque
- Le maillage du torse doit avoir un matériau qui lui est assigné nommé « peau »
Pour le masquage, l'élément torse personnalisé remplacera le torse du corps de l'avatar de base. Pour plus d'informations sur le processus de masquage général, consultez le Guide de Masquage. Peignez en noir les zones du torse sur le masque qui sont couvertes par le torse personnalisé jusqu'aux points finaux du torse personnalisé. Idéalement, cela cachera le torse de base et permettra au torse personnalisé d'être affiché sans erreurs.
Faites les préparatifs nécessaires pour exporter vers Unity comme illustré dans la Exportation vers Unity section du guide. Exportez l'élément du torse, l'armature et le masque en fbx pour les tester dans Unity.
Importez l'élément et testez-le dans le projet Unity de ZEPETO Studio. Pour un remplacement de torse, votre élément sera un haut ou une robe/costume.
- Vérifiez s'il y a des ruptures évidentes dans le maillage entre le corps de l'avatar de base et votre torse personnalisé. Si vous en repérez, retournez dans Blender pour corriger le problème.
- Vérifiez l'avatar avec les poses animées pour vous assurer que les poids ont été correctement répartis, en particulier le long des bordures du torse. Si des problèmes sont repérés ici, retournez dans Blender et corrigez les problèmes de peinture de poids.
- Vérifiez les lignes de couture entre le torse personnalisé et l'avatar de base pour voir s'il y a des problèmes de continuité des normales entre le torse personnalisé et l'avatar de base. S'il y a des problèmes ici, ils devront être modifiés dans Blender.
S'il n'y a pas de problèmes dans Unity, exportez le prefab en fichier .zepeto. Téléchargez et vérifiez l'élément dans ZEPETO Studio. S'il n'y a pas de problèmes supplémentaires, vous pouvez soumettre l'élément pour révision.
Si le maillage est correctement aligné, mais qu'une ligne apparaît à la frontière de la partie personnalisée du corps et du corps de l'avatar de base avec une rupture semblant être un changement d'éclairage, les normales de la partie personnalisée du corps peuvent ne pas s'aligner avec le corps de l'avatar de base.
Vous pouvez vérifier l'alignement des normales des sommets en sélectionnant l'élément avec la partie personnalisée du corps et l'objet masque, en passant en mode édition, et dans le menu des superpositions de la vue en haut à droite, sélectionnez le bouton « Afficher les normales divisées ». Des lignes roses apparaîtront du maillage à chaque sommet. Ces lignes représentent la direction tangentielle des normales des sommets.
Si les lignes roses ne s'alignent pas à la frontière, nous devrons peut-être transférer les données des normales du maillage à la partie personnalisée du corps. Pour transférer les données des normales du maillage du masque au maillage de l'élément, commencez par sélectionner l'élément et ajouter un modificateur « Transfert de données » à l'objet maillage de l'élément.
Nous voulons transférer les « Normales Personnalisées » sous « Données de Coin de Face ». Nous voulons ajouter le masque comme objet « Source » afin de pouvoir récupérer les informations des normales du masque.
Pour limiter le transfert aux informations des normales sur la bordure, nous devrons créer un nouveau groupe de sommets pour que le modificateur puisse le cibler. En mode édition avec l'élément de torse personnalisé, allez dans l'onglet Propriétés des Données de l'Objet et créez un nouveau groupe de sommets avec le bouton ‘+’. Pour des raisons d'organisation, nommez ce groupe de sommets quelque chose de descriptif, comme « Cible Normales Bordure ».
Avec tous les autres éléments de maillage désélectionnés, sélectionnez les boucles de bordure et utilisez le bouton « Attribuer » pour attribuer les composants de maillage sélectionnés au groupe de sommets.
De retour dans l'onglet modificateur, dans le modificateur de transfert de données, trouvez et sélectionnez le groupe de sommets cible de la bordure dans la boîte de groupe de sommets. Maintenant, les normales de la région de la bordure ont leurs normales copiées à partir des normales du maillage du masque.
Appliquez les normales au maillage en appliquant le modificateur.
Vérifiez à nouveau si les normales sont correctement alignées avec la superposition des normales. Si tout fonctionne, continuez à exporter et tester votre élément dans Unity.
Si le maillage est correctement aligné, mais qu'un changement de ton de couleur de base apparaît à la frontière entre la partie du corps personnalisée et le corps de l'avatar de base, il se peut que la carte UV de la partie du corps personnalisée et la carte UV du masque ne correspondent pas.
L'utilisation du matériau de la peau nécessite que les UV de la partie du corps personnalisée s'alignent avec les UV du masque. Nous pouvons transférer les données UV du masque au torse personnalisé en utilisant les outils de transfert de données de maillage dans Blender. Commencez par séparer la géométrie de la partie du corps personnalisée du maillage de l'objet.
En mode Objet, sélectionnez la partie du corps personnalisée, puis shift/ajoutez la sélection de l'objet masque, de sorte que l'objet masque soit la sélection active. Allez dans le menu Objet > Lier/Transférer des données > Transférer des données de maillage, et sélectionnez « UV » dans la fenêtre contextuelle qui s'affiche.
- Assurez-vous que le « Type de données » est réglé sur « UVs »
- Changez « Mapping des coins de face » en « Coin le plus proche et meilleure correspondance de normale »
- Changez « Mapping des faces » en « Meilleure correspondance de normale »
- Tous les autres paramètres peuvent rester à leurs valeurs par défaut
Les données de la carte UV sur la partie du corps personnalisée devraient maintenant avoir une disposition similaire à celle du masque. Vérifiez la carte UV de la partie du corps personnalisée pour vérifier que sa disposition est similaire à celle du masque.
Si tout est en ordre, rejoignez la partie du corps personnalisée avec l'élément et continuez à exporter et tester votre élément dans Unity.
Si les parties du corps personnalisées ne suivent pas les mouvements attendus du corps de l'avatar de base, il y a probablement une erreur dans la répartition des poids de la partie du corps personnalisée. Pour résoudre ce problème, transférez les poids d'une bonne source, comme le masque, à la partie du corps personnalisée. Commencez par séparer la géométrie de la partie du corps personnalisée du maillage de l'élément. Sélectionnez le masque, puis sélectionnez/ajoutez le maillage de la partie du corps personnalisée. Passez en mode Peinture de Poids. Allez dans Poids > Transférer les Poids. Dans les options étendues, assurez-vous que les “Couches Source Sélectionnées” sont définies sur “Par Nom.” Pour les “Couches de Destination,” l'option “Toutes les Couches” peut être sélectionnée si vous souhaitez transférer tous les poids. Sélectionnez un groupe de sommets spécifique si vous avez seulement besoin de transférer des poids spécifiques, comme les poids autour des lignes de contour du maillage de la partie du corps personnalisée. Testez et corrigez toutes les erreurs de pondération, puis rejoignez la partie du corps personnalisée à l'élément. Exportez et testez l'élément dans Unity.