3D Rigging - Hair
📘 sample Short Hair / Long Hair
Select all joints and do bindSkin.
After doing bindSkin, select the dummyFace > Hair model and click Copy Skin Weights to copy all the hair weight values.
❗️ ZEPETO limits the number of joint information that one point can hold to 4. Work the rig so that the weight information does not go over 5 or more. Also adjust the join scale, checking the weight status frequently.

Move the joints one by one, fixing incorrect weight values.
👍 Check the joint scale values below for faster work. headUpper.scaleX = 0.85 - 1.15 headUpper.scaleY = 0.7 - 1.1 jBone.scaleX = 0.8 - 1.2 hairAll.scaleX = 0.88 - 1.15 foreHead.scaleZ = 0.8 - 1.175

The swing bone setting is important in hair rigging. Normally, the hair joint is added to the hairAll joint. If there are pieces of hair that move on the forehead such as bangs, then it is recommended to connect them to other joints.
- Basically, the hair joints are fixed according to the structure of the head, so the overall form is not distorted.

👍 If it is difficult to assign weights to each strand of hair, making a dummy model and copying weights over will help.

📘 Please refer to the following guide. [Swing Bone]
Select the hair object, joint (hips), and mask (mask). Click Export Selection and save them as a .fbx file.

Select the fbx file in a Unity project and connect ZEPETODefaultHairMaterial (Assets/ZEPETO-studio/shaders/) to the material of the created hair via drag-and-drop.

Select the hair fbx and right-click -> ZEPETO Studio -> Convert to ZEPETO style to convert it into a prefab.

Open the Playground scene in Unity and select the LOADER in Hierarchy.
Check the created hair prefab by connecting it via drag-and-drop on the Hair tab in LOADER > ZEPETO Character Custom Loader (Script).

Select LOADER under Hierarchy and move it in the scene, checking to see if the hair moves correctly.

After completing the character preview, right-click the prefab file and click ZEPETO Studio > Export as .ZEPETO. The file with ZEPETO extension will be created, which would be the final step before it is uploaded to ZEPETO Studio.


