Studio GuideWorld SDK Guide
Log In

3D Modeling - hair


To model hair for ZEPETO, tubes of hair geometry should be sculpted into the hair shape. In ZEPETO, planes are only rendered from one side, and appear invisible on the opposite side. Due to this rendering limitation, techniques for modeling hair using image planes will not work. Instead, hair should be constructed out of geometry in hair tube groups. This will allow for the hair to be seen at all angles without having gaps in the hair.


There are numerous methods of constructing hair. It’s possible to use normal polygon modeling or curve modeling to create the shape of the hair chunks. The hair must be a mesh element when exported, so make sure to convert the hair to a mesh if working with curves before exporting the hair item.
To be efficient with the polycount budget, use hard and soft marked edges to your advantage. A well-placed hard edge can dramatically change the definition of a hair object without adding any faces.
The hair should not go underneath the mask object. In addition, the hair should cover the desired scalp area with no gaps in the hair strands. If gaps are present, users may be able to spot holes in the hair to either the scalp, or through the avatar.



The UVs of the hair strands should be arranged vertically-aligned along the length of the hair. The hair material will only use one texture set for all of the hair strands, so aligning the hair is appropriate so that the hair strands all flow in the same direction. An add-on or tool to straighten or align UVs may be useful here.



The image above is an example of a hair texture.

The UVs of the hair mesh should be aligned to the direction of the hair strands in the texture. Straightening UVs can help with this.
The UV Squares add-on can help in this regard.



With hair modeling being polygon intensive, it’s important to optimize the hair geometry to make full use of the polygon limit. Delete faces of the hair mesh that are hidden by the mask object. This will reduce the polycount and potentially increase performance in-app.
Vertex painting the mask is important. Please check the Masking section of the Studio Guide for details on masking the object. Paint black areas of the mask that are completely obscured by the hair from any angle. This helps improve performance in the ZEPETO app.


For rigging purposes, the horizontal edge loops of groups of hair strands should align. This helps maintain the deformation integrity of the hair when it bends.