← Back to Tutorial Index | ← Chapter 10: Document Storage and Outfit Tag / Priority (Outfit Conflict Control and State Storage/Restoration)
This chapter explains the procedure for taking the ShapeSync Document (ShapeSyncDocumentA) saved in Chapter 10 as input, and using the Humanoid Compiler to generate a clean Pure Humanoid (optimized avatar model) composed solely of standard Unity components.
ShapeSyncDocumentA, Tops + Skirt state) saved in Chapter 10 (Document B is not used in this tutorial).ShapeDirector, OutfitAttacher, StackMachine, etc.) for performing body deformation and outfit switching dynamically at runtime.When VRM integration (SHAPESYNC_USE_UNIVRM) is enabled as introduced in Chapter 1 and Chapter 9, the Transport VRM Physics toggle will appear inside the Humanoid Compiler window.
Tools > zgock > ShapeSync > Humanoid Compiler from the top menu of the Unity Editor to open the window.Figure: Drag and drop Assets/ShapeSync/Generated/BasicFemale.prefab (GameObject) from the Project window (You can also specify the Figure root GameObject placed in the Scene).Document: Drag and drop Assets/ShapeSync/ShapeSyncDocumentA.asset saved in Chapter 10.Atlas Schema (Optional): Leave blank (None).
[!NOTE] About the Atlas Feature: Atlas Schema is a feature that groups and consolidates multiple outfit/skin textures and materials to reduce material and texture counts, thereby reducing rendering overhead (Draw Calls) (Note that some materials or shaders may not be eligible, so not all materials will necessarily be consolidated into a single texture). The configuration and generation procedures for Atlas are explained in detail in the next chapter (Chapter 12: Atlas), so leave it blank for this chapter.
SHAPESYNC_USE_UNIVRM is enabled and performed VRM integration in Chapter 9, set the Transport VRM Physics toggle to ON (When ON, VRM will appear in the VRM Asset Relative Folder input field).
▲Figure 11-1: Humanoid Compiler window with Figure (BasicFemale) and Document (ShapeSyncDocumentA) specified, Atlas Schema left blank, and VRM Physics configured
Generate button at the bottom of the Humanoid Compiler window.Select Empty Pure Humanoid Output Folder dialog opens to select the output destination for Pure Humanoid.Assets/ShapeSync/Compiler/DocumentA inside the project, and click Select Folder.
[!IMPORTANT] The output destination folder must be a newly created or empty folder. You cannot specify a folder containing existing files. If the folder does not exist, create a new
DocumentAfolder underAssets/ShapeSync/Compiler/within the dialog before selecting it.
▲Figure 11-3: Selecting Assets/ShapeSync/Compiler/DocumentA in the Select Empty Pure Humanoid Output Folder dialog
Progress bar in the Compiler window advances, and once processing completes, it shows Completed, with Output: Assets/ShapeSync/Compiler/DocumentA displayed at the bottom (Figure 11-4).DocumentA Prefix)Once Generate is complete, check the output results in the Project window.
Assets > ShapeSync > Compiler > DocumentA in the Project window.DocumentA) are all present (Figure 11-4).| Generated Asset | File Name / Naming Convention | Content |
|---|---|---|
| Main Prefab | DocumentA.prefab |
Pure Humanoid Prefab with consolidated mesh |
| Consolidated Mesh | DocumentA.asset |
Single mesh consolidating Tops + Skirt and base body |
| Humanoid Avatar | DocumentA_avatar.asset |
Avatar definition asset for Unity Humanoid |
| Figure Materials | DocumentA_<entryId>.mat |
Materials originating from base body (Body, Brow, Face, etc.) |
| Figure Textures | DocumentA_<entryId>_<index>.png |
Textures originating from base body |
| Outfit Materials | DocumentA_<registryId>_<entryId>.mat |
Materials originating from Tops1 / Skirt1 |
| Outfit Textures | DocumentA_<registryId>_<entryId>_<index>.png |
Textures originating from Tops1 / Skirt1 |
▲Figure 11-4: Humanoid Compiler showing Completed status and generated assets list with DocumentA prefix in Project view after Generate
Verify that the generated DocumentA.prefab functions properly as a clean Humanoid independent of ShapeSync.
Assets/ShapeSync/Compiler/DocumentA/DocumentA.prefab from the Project window into the Scene view (or Hierarchy).DocumentA in the Hierarchy, and inspect it in the Inspector (Figure 11-5).Animator component is attached to the root object, and DocumentA_avatar (Humanoid Avatar) is properly assigned in the Avatar field.SkinnedMeshRenderer exists on the child object, with consolidated mesh DocumentA.asset assigned.ShapeDirector, OutfitAttacher, DynamicBoneBlender, MeshStackMachine, or Material Proxy / Attacher are included in the Inspector or hierarchy of DocumentA (pure GameObject / SkinnedMeshRenderer / Animator configuration).VRMInstance component for SpringBone secondary motion is properly transferred and attached).
▲Figure 11-5: DocumentA (Tops + Skirt outfit) placed in Scene view and Pure Humanoid configuration in Inspector showing standard Unity Animator / Avatar with no ShapeSync runtime components
Controller field of DocumentA’s Animator component, assign Assets/CCOAnimation/Walking.controller used in Chapter 3.Transport VRM Physics: ON), secondary motion (Physics) for hair and skirt via SpringBone operates properly at the same time (Figure 11-7).
▲Figure 11-7: Play Mode screen showing walking animation and VRM Physics (hair/skirt sway) operating with Walking.controller assigned
Assets/ShapeSync/Compiler/DocumentA/), or create and specify a new empty folder within the dialog.Atlas Schema (Optional) was left blank in this chapter, materials and textures of each original part (base body, tops, skirt) were maintained individually.← Back to Tutorial Index | ← Chapter 10: Document Storage and Outfit Tag / Priority (Outfit Conflict Control and State Storage/Restoration)