← Back to Tutorial Index | ← Chapter 9: Advanced VRM Integration (Expression and Physics Configuration and Verification)
This chapter explains how to configure Outfit Tags and Priority to control wearing regions and precedence among multiple outfits, as well as the procedure for Document storage and loading to save and restore a character’s current wearing and deformation state (Shapes and Outfits) entirely as an asset.
Tops1) and lower-body skirt (Skirt1), and configure Tags (upperchest, lowerchest) and Priority.ShapeSyncDocumentA) and Document B (ShapeSyncDocumentB), and confirm that they can be loaded and restored in one click from an empty Template List state.When having a character wear multiple outfits simultaneously (tops, bottoms, dresses, etc.), it is necessary to control “which body regions conflict” and “which outfit is displayed when a conflict occurs.”
upperchest, lower body lowerchest). Outfits sharing the same Tag become subjects of conflict..asset).Prepare the upper-body Tops1 and lower-body Skirt1 as separate outfits.
Tops1 (4 types in total):
Because it is affected by chest deformation (BreastSize PBM), export a total of 4 types including Base / FBM and PBM follow versions:
BasicFemale.vroid and export as Tops1BasicFemale.vrm (Figure 10-1, Figure 10-2).SampleI.vroid and export as Tops1SampleI.vrm (Figure 10-3).BreastSizeBasicFemale.vroid and export as Tops1BreastSizeBasicFemale.vrm (Figure 10-4).BreastSizeSampleI.vroid and export as Tops1BreastSizeSampleI.vrm (Figure 10-5).
▲Figure 10-1: Equipping Tops on BasicFemale
▲Figure 10-2: Saving Tops1BasicFemale.vrm
▲Figure 10-3: Saving Tops1SampleI.vrm
▲Figure 10-4: Saving Tops1BreastSizeBasicFemale.vrm
▲Figure 10-5: Saving Tops1BreastSizeSampleI.vrm
Skirt1 (2 types in total):
Because it is not affected by chest deformation (BreastSize), export a total of 2 types for Base / FBM:
BasicFemale.vroid and export as Skirt1BasicFemale.vrm (Figure 10-6, Figure 10-7).SampleI.vroid and export as Skirt1SampleI.vrm (Figure 10-8).
▲Figure 10-6: Equipping Skirt on BasicFemale
▲Figure 10-7: Saving Skirt1BasicFemale.vrm
▲Figure 10-8: Saving Skirt1SampleI.vrm
Outfits > Mesh Outfits on the left TreeView, create Tops1, specifying Outfit Id: Tops1, Outfit Name: Tops1, and Outfit Prefab: Tops1BasicFemale.
▲Figure 10-9-1: Outfits > Mesh Outfits > Tops1 basic info registration (Outfit Prefab: Tops1BasicFemale)
Materials screen, classify base body materials such as face, eyes, and skin as Exclude.
▲Figure 10-9-2: Classifying base body materials as Exclude in Tops1 > Materials
Tops_01_CLOTH) to Entry Name: Tops1 and Classification: Include, then click Save to Database.
▲Figure 10-9-3: Setting Tops1 material to Include and saving with Save to Database
FBMs screen, assign Tops1SampleI to FBM Prefab for SampleI.
▲Figure 10-9-4: Assigning Tops1SampleI to SampleI in Tops1 > FBMs
PBMs screen, enable Follow BreastSize, specify Tops1BreastSizeBasicFemale for Base Prefab and Tops1BreastSizeSampleI for SampleI Prefab, then click Save to Database.
▲Figure 10-9-5: Enabling Follow BreastSize in Tops1 > PBMs, specifying PBM Prefabs, and saving
Outfits > Mesh Outfits on the left TreeView, create Skirt1, specifying Outfit Id: Skirt1, Outfit Name: Skirt1, and Outfit Prefab: Skirt1BasicFemale.
▲Figure 10-10-1: Outfits > Mesh Outfits > Skirt1 basic info registration (Outfit Prefab: Skirt1BasicFemale)
Materials screen, classify base body materials as Exclude.
▲Figure 10-10-2: Classifying base body materials as Exclude in Skirt1 > Materials
Bottoms_01_CLOTH) to Entry Name: Skirt1 and Classification: Include, then click Save to Database.
▲Figure 10-10-3: Setting Skirt1 material to Include and saving with Save to Database
FBMs screen, assign Skirt1SampleI to FBM Prefab for SampleI. (Note: Because Skirt1 is not affected by BreastSize, PBM Follow configuration is unnecessary).
▲Figure 10-10-4: Assigning Skirt1SampleI to SampleI in Skirt1 > FBMs
VRM screen, specify Skirt1BasicFemale for Physics Reference VRM, then click Save to Database.
▲Figure 10-11: Specifying Skirt1BasicFemale in Physics Reference VRM under Skirt1 > VRM and saving
Register the tag vocabulary (region names) selectable by Shapes.
Shapes > Tags from the left TreeView in ShapeSync Editor.Add Tag button and enter upperchest in the input field.Add Tag button again and enter lowerchest in the input field.Save into Database button at the bottom of the screen to save the tag vocabulary.
▲Figure 10-12: Creating upperchest and lowerchest in Shapes > Tags and saving with Save into Database
Configure the created tags and Priority values for each Outfit Shape.
outfitTops1:
Shapes root screen, enter Shape Id: outfitTops1 and Shape Name: outfitTops1, then click Create Outfit Shape Template.Priority: Enter 10.Tags: Select upperchest from the popup and click Add Tag.Parts: Click Add Mesh and select Tops1 from the Outfit Mesh popup.Save to Database at the bottom of the screen.
▲Figure 10-13-1: Priority (10) and Tag (upperchest) configuration for Shapes > Outfit Shapes > outfitTops1
outfitSkirt1:
Shapes root screen, enter Shape Id: outfitSkirt1 and Shape Name: outfitSkirt1, then click Create Outfit Shape Template.Priority: Enter 15.Tags: Select lowerchest from the popup and click Add Tag.Parts: Click Add Mesh and select Skirt1 from the Outfit Mesh popup.Save to Database at the bottom of the screen.
▲Figure 10-13-2: Priority (15) and Tag (lowerchest) configuration for Shapes > Outfit Shapes > outfitSkirt1
outfitSampleI (for existing Dress):
outfitSampleI from Outfit Shapes in the left TreeView (Do not create a new one).Priority: Enter 20.Tags: Add both upperchest and lowerchest from the popup (covering both upper and lower body regions).Save to Database at the bottom of the screen.
▲Figure 10-13-3: Overwrite update of Priority (20) and both Tags (upperchest, lowerchest) for existing outfitSampleI
| Shape Id | Priority | Tags | Linked Mesh Outfit | Role |
|---|---|---|---|---|
outfitTops1 |
10 |
upperchest |
Tops1 |
Upper-body separate outfit |
outfitSkirt1 |
15 |
lowerchest |
Skirt1 |
Lower-body separate outfit |
outfitSampleI |
20 |
upperchest, lowerchest |
Dress1 |
Integrated one-piece dress (highest priority) |
Generation section from the left TreeView.Generate button at the bottom of the screen, select the output root folder (Assets/ShapeSync/Generated), and execute regeneration.BasicFemale) placed in the Scene.Template List of Figure’s ShapeDirector component, register the following Templates:
morphSampleIskinSampleIhairSampleIoutfitSkirt1outfitTops1outfitSampleI (Dress)Template List, because Priority 20 Dress1 (outfitSampleI) exclusively dominates both upperchest and lowerchest tags, confirm that only Dress1 is displayed on screen.
▲Figure 10-14: Play Mode screen showing only Priority 20 Dress1 exclusively displayed when 3 outfit Templates are registered
Runtime Shapes (Authoritative) of the ShapeDirector Inspector, expand OutfitShape — outfitSampleI and click the Remove Shape button.
▲Figure 10-15-1: Clicking Remove Shape from outfitSampleI in Runtime Shapes
Tops1 (Priority 10) and Skirt1 (Priority 15) immediately appear on screen, confirming display as a combined separate outfit (sailor-suit style top + pleated skirt).
▲Figure 10-15-2: Play Mode screen where Tops1 + Skirt1 are immediately displayed after removing Dress
Tops1 + Skirt1 wearing state (Runtime Shapes).Save button at the bottom of Figure’s ShapeDirector Inspector.Save Shape Document dialog appears, select the project Assets/ShapeSync folder, enter ShapeSyncDocumentA for the file name, and click Save.
▲Figure 10-16-1: Saving as ShapeSyncDocumentA in Assets/ShapeSync via Save Shape Document dialog
ShapeSyncDocumentA (.asset) is created directly under Assets > ShapeSync.
▲Figure 10-16-2: Project view showing ShapeSyncDocumentA asset saved directly under Assets/ShapeSync
outfitSampleI (Dress) via Template List sync or equivalent to establish the Dress1 wearing state (Runtime Shapes).Save button at the bottom of the ShapeDirector Inspector.Assets/ShapeSync folder, enter ShapeSyncDocumentB for the file name, and click Save.
▲Figure 10-17-1: Saving as ShapeSyncDocumentB in Assets/ShapeSync via Save Shape Document dialog
ShapeSyncDocumentB is additionally saved under Assets > ShapeSync.
▲Figure 10-17-2: Project view showing both Document A and Document B saved together under Assets/ShapeSync
Verify that the outfit state can be restored in one click using saved Documents.
Template List of the ShapeDirector Inspector, delete registered templates one by one to clear all (empty state).Load button at the bottom of the ShapeDirector Inspector.Load Shape Document dialog, select Assets/ShapeSync/ShapeSyncDocumentA.asset and click Open.
▲Figure 10-18-1: Selecting ShapeSyncDocumentA.asset in Load Shape Document dialog
Tops1 + Skirt1 (separate outfit) state.
▲Figure 10-18-2: Play Mode screen restored to Tops1 + Skirt1 state upon loading Document A
Load button at the bottom of the ShapeDirector Inspector.Load Shape Document dialog, select Assets/ShapeSync/ShapeSyncDocumentB.asset and click Open.
▲Figure 10-19-1: Selecting ShapeSyncDocumentB.asset in Load Shape Document dialog
Dress1 (one-piece dress) state.
▲Figure 10-19-2: Play Mode screen switched and restored to Dress1 state upon loading Document B
outfitSampleI (Dress) has Priority 20 and both upperchest and lowerchest Tags, outfitTops1 with Priority 10 and outfitSkirt1 with Priority 15 are automatically excluded (hidden).outfitSampleI in the Director.ShapeDirector settings or Mesh Binding asset references may have become disconnected.Save button to overwrite-save the Document, then try Load again.← Back to Tutorial Index | ← Chapter 9: Advanced VRM Integration (Expression and Physics Configuration and Verification)