Guide d'optimisation de la modélisation 3D par catégorie
21 min
ces directives ont été créées pour aider les articles des créateurs à être intégrés de manière fluide et sans erreur de qualité dans zepeto, et pour maximiser l'efficacité du rendu elles sont divisées en « exigences obligatoires » et « recommandations » veuillez donc vous assurer de vérifier les informations ci dessous avant de créer des articles 📌 exigences obligatoires si de nouvelles réglementations obligatoires sont établies ou si les normes sont modifiées, nous en informerons les créateurs à l'avance afin que vous en soyez pleinement conscients de plus, si l'application d'une nouvelle réglementation est nécessaire, le moment exact de sa mise en vigueur sera annoncé à l'avance (ex guide d'utilisation des built in shader suite aux changements de l'environnement urp, etc ) 💡 recommandations les recommandations sont les normes d'optimisation que nous suggérons pour que les articles fonctionnent normalement et sans erreur dans l'application zepeto cependant, s'il est jugé qu'un article est difficile à porter ou à exécuter normalement dans l'environnement réel de l'application car il dépasse la portée recommandée, il peut faire l'objet de sanctions telles qu'un rejet a posteriori ou une interdiction de vente nous vous demandons donc de bien vouloir prendre en compte les directives recommandées autant que possible lors de votre création de plus, ces directives sont des normes d'optimisation recommandées pour un environnement de service plus agréable, et non des réglementations obligatoires qui doivent être strictement respectées 💡 commun optimisation de la modélisation ㅣ✔️ recommandation de restreindre l'utilisation des blendshapes dans toutes les catégories il est recommandé de ne pas inclure de données de blendshape dans tous les articles téléchargés sur zepeto cela n'a pas pour but de limiter les expressions sophistiquées des créateurs, mais c'est une recommandation visant à optimiser l'environnement mobile afin que tous les utilisateurs puissent profiter agréablement du monde augmentation exponentielle de la taille des données (surcharge des fichiers) accumulation de données de coordonnées cachées le blendshape doit mémoriser des données supplémentaires de coordonnées de déplacement pour de nombreux sommets (vertex) en interne afin d'enregistrer les mouvements et les changements de forme du maillage phénomène d'accumulation de calques ces données ont une structure similaire à des calques d'animation empilés à l'intérieur du fichier fbx cela alourdit excessivement la taille totale des données de l'actif surcharge de calcul en temps réel (surchauffe de l'appareil et lags) limites du calcul mobile en temps réel traiter ces données de blendshape en temps réel dans un espace 3d où plusieurs avatars se rassemblent simultanément représente une charge énorme pour les appareils mobiles dégradation des performances matérielles en conséquence, le matériel subit une surcharge sévère, entraînant une surchauffe extrême et des chutes de fps (lags) sur l'appareil de l'utilisateur dépassement de la mémoire et fermeture forcée de l'application (crash) manque de mémoire (ram) si des objets contenant des blendshapes sont chargés simultanément dans le monde, ils saturent rapidement la capacité ram limitée de l'appareil mobile erreur critique oom cela provoque un phénomène oom (out of memory) dépassant la capacité, ce qui pousse le système du smartphone (ios/android) à fermer de force (crash/rejet) l'application zepeto pour protéger l'appareil, constituant ainsi le pire des défauts polycount (nombre de polygones) critère de l'unité triangle la norme de calcul de topologie et de limite de données pour toutes les catégories est le triangle (triangles) et non le quad (quads) vérification avant l'exportation (export) avant de procéder à l'exportation fbx dans des outils tels que blender, maya, 3ds max, etc , en ce qui concerne le nombre de tri (triangle) dans la disposition de la fenêtre 3d, veuillez vérifier s'il est inférieur ou égal à la valeur maximale recommandée par catégorie modélisation compatible avec le backface culling (élimination des faces arrière) adaptation à l'environnement backface culling le moteur zepeto adopte par défaut la méthode de rendu simple face (backface culling) pour optimiser les calculs de rendu recommandation de finition structurelle pour les zones où l'intérieur peut être exposé lors de la lecture de l'animation, telles que l'intérieur des manches de vêtements, l'intérieur des jupes et les cols (collar), il est recommandé de fermer complètement les faces ou de travailler avec une modélisation de finition d'objet qui crée une épaisseur physique afin d'éviter qu'elles n'apparaissent transparentes en raison de l'inversion de la direction des face normal nettoyage des données de maillage défectueuses (clean up) s'il reste des 'fragments défectueux' dans les données de modélisation, ce sont les principaux responsables des erreurs de traitement graphique et des crashs du moteur avant la soumission, assurez vous de nettoyer ces données inutiles via un 'clean up' les sommets isolés (isolated vertices) flottant dans les airs sans former de face (face) ou les arêtes (edge) de longueur 0 engendrent des coûts de calcul inutiles ; veuillez donc les supprimer au préalable éviter les structures non manifold il s'agit de structures mathématiquement calculables mais qui ne peuvent exister dans le monde réel veuillez vérifier les 4 principaux types ci dessous et effectuer un clean up lors de la modélisation les 4 principaux types de défauts non manifold structure en y ou en t adjacente où 3 faces ou plus s'emboîtent géométriquement sur une seule arête (ligne) structure en forme de sablier où deux faces indépendantes ou plus ne partagent pas de face et se croisent uniquement par un seul sommet (vertex) structure où une face fantôme invisible de l'extérieur traverse l'intérieur d'un espace de maillage complètement fermé (se produit principalement en raison d'erreurs de fusion/extraction de maillage) état dans lequel seule l'orientation du vecteur normal (normal vector) d'une face spécifique est inversée au sein d'un flux de maillage continu, ne correspondant pas à l'orientation des faces adjacentes suppression des faces invisibles base body mesh culling en raison de leur placement à l'intérieur suite à la fixation de la couche extérieure des vêtements ou d'accessoires, il est recommandé de supprimer audacieusement les faces du mesh qui sont complètement masquées par le corps de l'avatar de base (base body) libération des ressources la suppression des maillages internes inutiles réduit la charge sur le gpu et améliore les performances de rendu cela favorise un jeu fluide et contribue grandement à réduire l'utilisation de la mémoire optimisation de la densité topologique des articulations pour les articulations très mobiles comme les genoux, les coudes et les épaules, veuillez placer au moins 3 boucles d'arêtes (loop edge) pour que le maillage puisse se plier naturellement après le skinning à l'inverse, pour les zones fixes avec presque aucun changement de forme, il ne faut pas diviser inutilement les faces, mais les simplifier au maximum pour améliorer les performances d'animation de l'avatar ㅣ✔️ catégorie des vêtements (dr, top, otr, btm) norme de modélisation max triangle count dr (single outfit) max 10,000 tris top (top) / otr (outerwear) max 6,000 tris btm (pants, skirts) max 5,000 tris guide de modélisation synchronisation des sommets de la ligne de couture (seam line) la ligne de démarcation à la taille où le haut (top) et le bas (btm) se rencontrent est la zone qui se déforme le plus lorsque l'avatar bouge par conséquent, faites correspondre parfaitement le nombre de sommets et le flux des lignes (topologie) situés à la frontière entre le haut et le bas si la structure des sommets ou l'orientation des normales (normal) à la frontière ne correspond pas, un défaut se produira où les vêtements s'écarteront ou laisseront apparaître des espaces révélant l'intérieur lors des mouvements de l'avatar l'essentiel est d'ajuster soigneusement le maillage à la frontière pour qu'il se connecte naturellement comme un seul vêtement structure d'arêtes à 3 boucles (3 loop) pour les articulations les articulations à forte amplitude de mouvement, comme les genoux, les coudes et le bassin, ont tendance à tordre ou écraser le maillage lors de la flexion pour éviter cela et assurer un mouvement fluide, veuillez répartir uniformément 3 à 4 lignes d'arêtes (edge) ou plus de manière rapprochée dans les zones où les articulations se plient finition des extrémités des vêtements (création d'épaisseur) ne terminez pas simplement les extrémités des vêtements, comme les manches ou l'ourlet, par une seule ligne ; ajoutez des faces vers l'intérieur pour leur donner une épaisseur comme un vrai vêtement cependant, les faces qui s'enfoncent profondément à l'intérieur du vêtement et qui sont totalement invisibles de l'extérieur n'ont pas besoin d'être conservées veillez à couper proprement ou à nettoyer ces faces cachées pour éviter tout gaspillage inutile de polygones qui dégrade les performances du jeu ㅣ✔️ catégorie des cheveux (f hair, m hair) norme de modélisation max triangle count f hair (female hair) max 10,000 tris m hair (men's hair) max 10,000 tris guide de modélisation modélisation à double structure (solid base mesh + alpha plane mesh) pour garantir à la fois la qualité visuelle et l'optimisation des performances mobiles, 70% des polygones totaux doivent être modélisés sous forme de maillage opaque à structure fermée enveloppant l'ossature de la tête pour assurer le volume utilisez les 30% de polygones restants sous forme de plans alpha (alpha plane) placés à l'extérieur pour représenter les pointes des cheveux, les mèches rebelles, les cheveux sur les côtés, etc maintien d'un espacement pour prévenir le z fighting le moteur graphique 3d a un problème récurrent de confusion dans l'ordre de calcul (quelle plaque est devant et laquelle est derrière) en fonction de l'angle de la caméra lorsque plusieurs plaques transparentes se chevauchent si la distance entre les plans alpha est trop étroite ou si les maillages des mèches s'entrecroisent, un problème de tri (sorting issue) survient, provoquant le clignotement des faces transparentes selon l'angle de la caméra veuillez modéliser de manière à maintenir une distance physique minimale entre les maillages de plans alpha ㅣ✔️ accessoires ajustés au corps et déformables (sox, glove, nail, tail, wing, shoulder) max triangle count shoulder max 5,000 tris glove / bag max 4,500 tris wing (wings) max 4,000 tris sox (socks) max 3,500 tris tail max 2,000 tris nail (nail art) max 1,500 tris guide de modélisation synchronisation de la topologie des doigts lors de la modélisation de gants (glove) et de faux ongles (nail), la position où les articulations des doigts se plient doit correspondre aux coordonnées de décalage des articulations des doigts (finger joint) du mannequin guide de base zepeto, sans la moindre marge d'erreur maintenez un minimum de 3 lignes d'arêtes par articulation optimisation des surfaces de contact pour des raisons d'optimisation, supprimez complètement le traitement des faces internes, telles que l'intérieur des ongles et des gants, qui sont en contact direct avec la peau des doigts et physiquement enfouies à 100% ㅣ✔️ accessoires à équiper (sh, headwear, eyemask, glasses, bracelet, necklace, earring, ring) max triangle count sh (shoes) / headwear max 4,000 tris eyemask (mask) max 3,000 tris glasses ring (glasses, bracelet, necklace, earrings, ring) max 2,000 tris guide de modélisation optimisation de la modélisation cylindrique lors de la création d'accessoires rigides incurvés comme les bagues (ring), les bracelets (bracelet) et les montures de lunettes (glasses), définissez une structure low poly en limitant le nombre de côtés (sides) de la forme géométrique cylindrique de base initiale entre 6 et 8 la silhouette incurvée manquante doit être compensée par des arêtes adoucies (soft edge) et des normal maps ㅣ✔️ catégorie des morphologies spéciales (mask, body) il s'agit d'une catégorie technique de la plus haute difficulté qui écrase complètement l'apparence unique (tête et maillage complet du corps) de l'avatar de base ou induit un changement de morphologie max triangle count body (special body type) max 10,000 tris mask (special body type face) max 5,000 tris guide de modélisation correspondance de la ligne de couture du cou (neck seam line) la zone de la ligne de démarcation du cou où le masque facial (mask) et le corps (body) se rencontrent doit correspondre parfaitement au numéro d'index des sommets, aux coordonnées 3d absolues, et à la direction des normales de sommets de la modélisation corporelle de base de zepeto si cette ligne de soudure est décalée d'à peine 0,001 mm, le cou se séparera et laissera apparaître un espace, ce qui constitue un défaut remarque) données par catégorie pour l'optimisation des objets toutes les données sont basées sur la limite maximale (maximum limit) à l'exception de la catégorie dr (tenue complète), toutes les catégories sont basées sur 1 seule texture max triangle count (tris) recommandé / max max texture resolution (map size) recommandé / max max material (shaders supplémentaires autorisés par attribut) dr one piece outfit 10,000 512x512 (2 images) 4(recommandé) top top 6,000 512x512 3(recommandé) otr outerwear 6,000 512x512 3(recommandé) btm pants, skirts 5,000 512x512 3(recommandé) sox socks 3,500 / 4500 256x256 / 512x512 3(recommandé) sh shoes 4,000 256x256 / 512x512 3(recommandé) f hair women's hair 10,000 256x256 / 512x512 3(recommandé) m hair men's hair 10,000 256x256 / 512x512 3(recommandé) headwear headwear 4,000 256x256 / 512x512 3(recommandé) shoulder shoulder 5,000 512x512 3(recommandé) glasses glasses 2,000 256x256 / 512x512 3(recommandé) bracelet bracelet 2,000 256x256 / 512x512 3(recommandé) necklace necklace 2,000 256x256 / 512x512 3(recommandé) earring earrings 2,000 256x256 / 512x512 3(recommandé) bag bag 4,500 256x256 / 512x512 3(recommandé) glove glove 4,500 256x256 / 512x512 3(recommandé) ring ring 2,000 256x256 / 512x512 3(recommandé) nail nail art 1,500 / 2000 256x256 / 512x512 3(recommandé) eyemask mask 3,000 512x512 3(recommandé) wing wing 4,000 512x512 3(recommandé) mask special face shapes 5,000 512x512 3(recommandé) body special body types 10,000 512x512 3(recommandé) tail tail 2,000 / 3000 256x256 / 512x512 3(recommandé)
