3D Modeling Optimization Guide by Category
21 min
this guideline was created to help creators' items be implemented smoothly without quality errors within zepeto, and to maximize rendering efficiency it is divided into 'mandatory requirements' and 'recommendations', so please be sure to check the details below before creating items 📌 mandatory requirements if new mandatory regulations are established or standards are changed, we will notify creators in advance so that you are fully aware in addition, if the enforcement of a new regulation is necessary, the exact time of enforcement will be announced in advance (e g , built in shader usage guide due to urp environment changes, etc ) 💡 recommendations recommendations are the optimization standards we suggest for items to work normally without errors within the zepeto app however, if it is judged that an item is difficult to wear or run normally in the actual app environment because it exceeds the recommended scope, it may be subject to sanctions such as post rejection or sales bans, so we ask that you consider the recommended guidelines as much as possible when creating in addition, this guideline is a recommended optimization standard for a more pleasant service environment, and is not a mandatory regulation that must be strictly followed 💡 general modeling optimization ㅣ✔️ recommendation to refrain from using blendshape in all categories it is recommended that all items uploaded to zepeto do not include blendshape data this is not intended to limit the sophisticated expressions of creators, but is a recommendation to optimize the mobile environment so that all users can enjoy the world pleasantly exponential increase in data size (file overload) accumulation of hidden coordinate data blendshapes must internally store additional coordinate data for the movement of numerous vertices in order to record a mesh’s motion and shape changes layer accumulation this data has a structure similar to animation layers stacked one on top of another within an fbx file as a result, the overall data size of the asset becomes excessively large real time processing overload (causing device overheating and lag) limitations of real time mobile processing in a 3d world where multiple avatars gather simultaneously, it places a significant burden on mobile devices to process this blend shape data in real time hardware performance degradation consequently, the hardware becomes severely overloaded, leading to extreme overheating of the user’s device and frame drops (lag) memory overload and app crashes memory (ram) shortage when items containing blend shapes are loaded into the world simultaneously, they instantly fill up the mobile device’s limited ram capacity fatal oom error this causes an oom (out of memory) error, triggering the worst case scenario where the smartphone system (ios/android) forcibly terminates the zepeto app (crash) to protect the device polycount triangle unit standard topology calculations and data limits for all categories are based on triangles, not quads check before exporting sebelum melanjutkan ekspor fbx di alat seperti blender, maya, 3ds max, dll , terkait jumlah tri (triangle) pada tata letak di dalam viewport 3d, harap periksa apakah nilainya berada di bawah atau sama dengan nilai maksimum yang direkomendasikan untuk masing masing kategori modeling for backface culling adapting to the backface culling environment the zepeto engine uses backface culling by default to optimize rendering operations recommendation for structural finishing for areas where the inside may be exposed during animation playback, such as the inside of clothing sleeves, inside of skirts, and collars (collar), it is recommended to completely close the faces or work with object finishing modeling that creates physical thickness to prevent them from appearing transparent due to flipped face normal directions cleaning up defective mesh data if “defective fragments” remain in the modeling data, they are the primary cause of graphics processing errors and engine crashes please be sure to remove this unnecessary data through “clean up” before submission please delete isolated vertices floating in mid air that do not form faces, as well as edges with a length of 0, as they incur unnecessary computational costs avoid non manifold structures these are structures that can be calculated mathematically but cannot exist in the real world please review the four major types listed below and clean them up during the modeling process four major types of non manifold defects a y or t shaped structure where three or more faces are geometrically interlocked and adjacent along a single edge an hourglass shaped structure where two or more independent faces are connected by intersecting at exactly one vertex without sharing any edges a structure where a “ghost face”—invisible from the outside—cuts across the interior of a completely closed mesh space (typically caused by mesh merging or extraction errors) a condition within a continuous mesh flow where the direction of the normal vector for a specific face is reversed, causing it to be misaligned with adjacent faces deleting invisible faces base body mesh culling due to being placed inside by the attachment of outer clothing or accessory items, it is recommended to boldly delete the mesh faces that are completely obscured by the base avatar body (base body) resource optimization removing unnecessary internal meshes reduces the load on the gpu, improving rendering performance this contributes to a smoother gaming experience and significantly helps reduce memory usage optimizing topology density at joints for highly mobile joint areas such as the knees, elbows, and shoulders, please place at least three loop edges to ensure the mesh bends naturally after skinning conversely, for fixed areas with minimal shape changes, avoid unnecessarily subdividing the faces; keeping them as simple as possible will improve the avatar’s performance ㅣ✔️ clothing (dr, top, otr, btm) max triangle count modeling specifications dr (single outfit) max 10,000 tris top (top) / otr (outerwear) max 6,000 tris btm (pants, skirts) max 5,000 tris modeling guide seam line vertex alignment the waistline where the top (top) and bottom (btm) meet is the area that undergoes the most deformation when the avatar moves therefore, please ensure that the number of vertices and the flow of lines (topology) on the boundary between the top and bottom match perfectly if the vertex structure or normal direction of the boundary surface is misaligned, defects such as gaps or openings between the clothes may occur when the avatar moves, causing the interior to show through the key is to carefully align the mesh at the boundary so that it connects naturally, as if it were a single piece of clothing 3 loop edge structure for joints areas with high mobility, such as the knees, elbows, and hips, are prone to mesh twisting or distortion when bent to prevent this and ensure smooth movement, please evenly distribute at least 3–4 rows of edges in a dense pattern along the areas where the joints bend finishing the edges of the garment (adding thickness) for the edges of the garment—such as sleeves or hems—don’t simply end them with a single line instead, add an inner layer of fabric to give them a thick, realistic finish, just like a real garment however, there is no need to preserve fabric that extends deep inside the garment and is completely invisible from the outside be sure to neatly trim or remove these hidden areas to prevent unnecessary polygon waste that could degrade game performance ㅣ✔️ hair types (f hair, m hair) max triangle count modeling specifications f hair (female hair) max 10,000 tris m hair (men's hair) max 10,000 tris modeling guide dual structure modeling (solid base mesh + alpha plane mesh) to achieve both visual quality and optimized performance on mobile devices, model 70% of the total polygons as a closed, opaque mesh that wraps around the skull to ensure sufficient volume please place the remaining 30% of the polygons along the outer edges in the form of an alpha plane to represent the ends of the hair, stray hairs, and side hair ensuring sufficient spacing to prevent z fighting 3d graphics engines have a chronic issue where, if multiple transparent planes overlap, they become confused about the rendering order—which plane is in front and which is behind—depending on the camera angle if the alpha planes are too close together or if the strand meshes overlap, a sorting issue may occur where transparent surfaces flicker depending on the camera angle please model the alpha plane meshes so that a minimum physical distance is maintained between them ㅣ✔️ body hugging and deformable props (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 modeling guide finger topology synchronization when modeling gloves (glove) and nails (nail), the positions where the finger joints bend must match the offset coordinates of the “finger ” joint in zepeto’s default guide dummy with absolute precision please maintain at least 3 edges per joint contact surface optimization for surfaces that are in full contact with the skin of the finger—such as nail art and the inside of gloves—and are physically 100% embedded, please delete them entirely for optimization ㅣ✔️ attachable accessories (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 modeling guide optimizing cylindrical modeling when creating curved rigid props such as rings (ring), bracelets (bracelet), and eyeglass frames (glasses), limit the number of sides on the initial cylindrical base shape to between 6 and 8 to establish a low polygon structure any gaps in the curved silhouette must be covered using soft edges and normal maps ㅣ✔️ special body types (mask, body) this is the most technically challenging category, involving completely overwriting the base avatar’s unique appearance (head and full body meshes) or inducing changes to the body shape max triangle count body (special body type) max 10,000 tris mask (special body type face) max 5,000 tris modeling guide neck seam line matching the neck boundary area where the face mask (mask) and body (body) meet must perfectly match the vertex index numbers, absolute 3d coordinate values, and vertex normal directions of the zepeto default body model if this weld line is misaligned by even 0 001 mm, the neck will separate, resulting in a defect where a gap is visible note) category specific data for item optimization all data is based on the maximum limit all categories are based on 1 texture map, except for dr (one piece) max triangle count (tris) recommended / max max texture resolution (map size) recommended / max max material (additional shaders allowed per attribute) dr one piece outfit 10,000 512x512 (2 images) 4(recommended) top top 6,000 512x512 3(recommended) otr outerwear 6,000 512x512 3(recommended) btm pants, skirts 5,000 512x512 3(recommended) sox socks 3,500 / 4500 256x256 / 512x512 3(recommended) sh shoes 4,000 256x256 / 512x512 3(recommended) f hair women's hair 10,000 256x256 / 512x512 3(recommended) m hair men's hair 10,000 256x256 / 512x512 3(recommended) headwear headwear 4,000 256x256 / 512x512 3(recommended) shoulder shoulder 5,000 512x512 3(recommended) glasses glasses 2,000 256x256 / 512x512 3(recommended) bracelet bracelet 2,000 256x256 / 512x512 3(recommended) necklace necklace 2,000 256x256 / 512x512 3(recommended) earring earrings 2,000 256x256 / 512x512 3(recommended) bag bag 4,500 256x256 / 512x512 3(recommended) glove glove 4,500 256x256 / 512x512 3(recommended) ring ring 2,000 256x256 / 512x512 3(recommended) nail nail art 1,500 / 2000 256x256 / 512x512 3(recommended) eyemask mask 3,000 512x512 3(recommended) wing wing 4,000 512x512 3(recommended) mask special face shapes 5,000 512x512 3(recommended) body special body types 10,000 512x512 3(recommended) tail tail 2,000 / 3000 256x256 / 512x512 3(recommended)
