MAKING 3D ITEMS - BLENDER
Effect Item
Body Part Replacement and Mesh/Mask Boundary Troubleshooting
16min
custom torso geometry female torso template the default zepeto base body has a generally neutral to masculine shape for a more distinct female torso, a mesh element that replaces the base body should be used for an example or starting point, download the female torso fbx ( download https //media contentful zepeto io/ttn7jks47ozr/vd5b03wk88wsu7ajkzem3d6/ziyjm3wk87x38e5c0d2eaf9f9c635b3c8ead2681a6asu7ajlare4af/female torso fbx ) file this file can be loaded into blender and will contain two mesh objects female torso v guide mannequin 1831 both the female torso v object and guide mannequin object are uv mapped to the same specifications as the mask the female torso v object also has a material on it named “skin ” this material naming is necessary to tell the app to use the skin textures from the avatar 1806 this torso is placed in a relaxed a pose, and will require some extra work to fit with the standard expected t pose see the rigging docid sceo 5c0rlks g9zv37h for more details on a to t pose conversion to get a skeleton to rig and work to, import the creator base set file into the scene put the creator base set skeleton into the standard a pose notice that the hips, arms, and neck of the female torso v mesh object all end in loops that match up to the default mask this is to make sure there are no visual breaks in the base body when paired with other items this torso can be used to shape a top item to a female form, or to provide a ready made portion of torso to use for exposed skin for a top item the female torso has no weights included for weight painting, use a weight transfer operation from an appropriately posed/weighted mask object from the creator base set this should provide the torso with properly distributed weights when including portions of the torso in a top object, ensure that the torso and top objects are combined into one object this can be easily accomplished by selecting the torso and top meshes and going to object > join 1862 weight settings for each component of the item will be preserved per mesh when joining mesh objects together, so make sure to bind both the top and torso objects before combining them to make your life easier as part of the finishing process, delete areas of the torso mesh that are covered by the top and will not be seen it will help prevent clipping issues between the top and torso objects custom torsos you can customize your own torso to use in the app as well! if creating or customizing your own torso the mesh needs to follow a few requirements the torso mesh must align with the base mask object at the hips, neck, and arms the torso mesh should follow a similar uv layout to the mask the torso mesh should have a material assigned to it named “skin” masking for masking, the custom torso element will replace the torso of the base avatar’s body for more on the general masking process, refer to the masking docid jnxxsyi7 brc123vhmmt paint black the areas of the torso on the mask that are covered by the custom torso up to the end points of the custom torso ideally, this will hide the base torso and allow for the custom torso to be displayed without errors 1859 unity testing make the necessary preparations to export to unity as illustrated in the exporting to unity docid\ axdijgq8iw9qgey1x9qv0 section of the guide export the torso item, armature, and mask to an fbx for testing in unity 1802 import the item and test in the zepeto studio unity project for a torso replacement, your item will be a top or a dress/suit check to see if there are any obvious breaks in the mesh between the base avatar body and your custom torso if you spot any, go back into blender to fix the issue check the avatar with the animated poses to ensure that the weights were distributed properly, especially along the borders of the torso if any issues are spotted here, go back into blender and fix the weight paint issues check the seam lines between the custom torso and base avatar to see if there are any issues with normals continuity between the custom torso and base avatar if there are issues here, they’ll have to be changed in blender if there are no issues in unity, export the prefab to a zepeto file upload and double check the item in the zepeto studio if there are no additional issues, you can submit the item for review troubleshooting issues misaligned normals if the mesh is properly aligned, but a line appears on the border of the custom body part and the base avatar body with the break appearing to be a change in lighting, the normals of the custom body part may not be aligning with the base avatar body 1212 you can check the vertex normal alignment by selecting the item with the custom body part and the mask object, going to edit mode, and in the viewport overlays menu in the top right, select the “display split normals” button pink lines will appear from the mesh at each vertex these lines represent the tangent direction of the vertex normals 1351 if the pink lines do not line up at the border, we may need to transfer normals data from the mesh to the custom body part to transfer the normals data from the mask mesh to the item mesh, start by selecting the item and adding a “data transfer” modifier to the item mesh object 1074 we want to transfer “custom normals” under “face corner data ” we want to add the mask as the “source” object so we can grab the normals information from the mask boundarycorrection normals datatransfermodifiersettings jpg to limit the transfer to the normals information on the border, we’ll have to create a new vertex group for the modifier to target in edit mode with the custom torso item, go to the object data properties tab and create a new vertex group with the ‘+’ button for organizational purposes, name this vertex group something descriptive, like “border normals target ” 606 with all other mesh elements deselected, select the border edge loops and use the “assign” button to assign the selected mesh components to the vertex group 1856 back in the modifier tab, in the data transfer modifier, find and select the border target vertex group in the vertex group box now, the mesh normals of the border region have their normals copied from the mask mesh normals 609 apply the normals to the mesh by applying the modifier 604 double check whether the normals are properly aligned with the normals overlay if everything works, continue to export and test your item in unity uv mismatch if the mesh is properly aligned, but a change in base color tone appears on the boundary between the custom body part and the base avatar body, the uv map of the custom body part and the uv map of the mask may not match up 919 using the skin material requires having the custom body part’s uvs align with the uvs of the mask we can transfer uv data from the mask to the custom torso by using the transfer mesh data tools in blender start by separating the custom body part geometry from the item mesh 1829 in object mode, select the custom body part, then shift/add select the mask object, so that the mask object is the active selection go to the object menu > link/transfer data > transfer mesh data, and select “uv” in the resulting pop up ensure the “data type” is set to “uvs” change “face corner mapping” to “nearest corner and best matching normal” change “face mapping” to “best normal matching” all other settings can remain at their default settings 1863 1317 the uv map data on the custom body part should now have a similar layout to the mask check the uv map of the custom body part to verify its layout is similar to the mask 1667 if everything checks out, join the custom body part back with the item and continue to export and test your item in unity unsynced weighting if the custom body parts are not following the expected movements of the base avatar body, there is likely an error in the custom body part’s weight distribution to solve this problem, transfer weights from a good source, like the mask, to the custom body part start by separating the custom body part geometry from the item mesh select the mask, then shift/add select the custom body part mesh go into weight paint mode go to weights > transfer weights in the expanded options, ensure the “source layers selected” is set to “by name ” for “destination layers,” the “all layers” option can be selected if you want to transfer all weights select a specific vertex group if you only need to transfer specific weights, like the weights around the custom body part’s mesh boundary lines test and correct any weighting errors, then rejoin the custom body part to the item export and test the item in unity