← チュートリアル目次へ戻る | ← 第10章: Document 保存と Outfit Tag / Priority(衣装の競合制御と状態保存・復元)
本章では、第10章で保存した ShapeSync Document(ShapeSyncDocumentA) を入力にして、Humanoid Compiler を使用して Unity 標準のコンポーネントのみで構成された素の Pure Humanoid(最適化済みアバターモデル)を生成する手順を解説します。
ShapeSyncDocumentA、Tops + Skirt 状態)のみ を使用します(※Document B は本編では使用しません)。ShapeDirector、OutfitAttacher、StackMachine など)を持っています。第1章および第9章で VRM 連携(SHAPESYNC_USE_UNIVRM)を有効にしている場合、Humanoid Compiler ウィンドウ内に Transport VRM Physics トグルが表示されます。
Tools > zgock > ShapeSync > Humanoid Compiler をクリックして開きます。Figure: Project ウィンドウの Assets/ShapeSync/Generated/BasicFemale.prefab(GameObject)をドラッグ&ドロップして指定します(※Scene 上の Figure ルート GameObject を指定することも可能です)。Document: 第10章で保存した Assets/ShapeSync/ShapeSyncDocumentA.asset をドラッグ&ドロップして指定します。Atlas Schema (Optional): 空欄(None)のまま にします。
[!NOTE] Atlas 機能について: Atlas Schema は、複数の衣装・肌テクスチャやマテリアルをグループごとに統合してマテリアル数・テクスチャ枚数を削減し、描画負荷(Draw Call)を低減する機能です(※対象外のマテリアルやシェーダー等もあるため、すべてのマテリアルが必ず1枚にまとまるわけではありません)。Atlas の設定と生成手順は次章(第12章: Atlas)で詳しく解説するため、本章では空欄のまま進めます。
SHAPESYNC_USE_UNIVRM が有効な環境で第9章の VRM 連携を行っている場合は、Transport VRM Physics トグルを ON にします(ON にすると VRM Asset Relative Folder 入力欄に VRM が表示されます)。
▲図 11-1: Humanoid Compiler で Figure(BasicFemale)と Document(ShapeSyncDocumentA)を指定し、Atlas Schema を空欄のまま VRM Physics を設定した画面
Generate ボタンをクリックします。Select Empty Pure Humanoid Output Folder ダイアログが開きます。Assets/ShapeSync/Compiler/DocumentA を選択し、フォルダーの選択 をクリックします。
[!IMPORTANT] 出力先フォルダーは 新規作成または空のフォルダー である必要があります。既存ファイルが存在するフォルダーは指定できません。フォルダーが存在しない場合は、ダイアログ内で
Assets/ShapeSync/Compiler/配下にDocumentAフォルダーを新規作成してから選択してください。
▲図 11-3: Select Empty Pure Humanoid Output Folder ダイアログで Assets/ShapeSync/Compiler/DocumentA を選択した画面
Progress バーが進み、処理が完了すると Completed となり、下部に Output: Assets/ShapeSync/Compiler/DocumentA と表示されます(図 11-4)。DocumentA 接頭語)Generate が完了したら、Project ウィンドウで出力結果を確認します。
Assets > ShapeSync > Compiler > DocumentA を開きます。DocumentA)を接頭語とする以下の生成物が揃っていることを確認します(図 11-4)。| 生成アセット | ファイル名 / 命名規則 | 内容 |
|---|---|---|
| 主 Prefab | DocumentA.prefab |
メッシュ統合済みの Pure Humanoid Prefab |
| 統合 Mesh | DocumentA.asset |
Tops + Skirt と素体が統合された単一メッシュ |
| Humanoid Avatar | DocumentA_avatar.asset |
Unity Humanoid 用のアバター定義アセット |
| Figure 側 Material | DocumentA_<entryId>.mat |
素体由来のマテリアル群(Body, Brow, Face 等) |
| Figure 側 Texture | DocumentA_<entryId>_<index>.png |
素体由来のテクスチャ群 |
| Outfit 側 Material | DocumentA_<registryId>_<entryId>.mat |
Tops1 / Skirt1 由来のマテリアル群 |
| Outfit 側 Texture | DocumentA_<registryId>_<entryId>_<index>.png |
Tops1 / Skirt1 由来のテクスチャ群 |
▲図 11-4: Generate 完了後の Humanoid Compiler(Completed)および Project ビューで確認できる DocumentA 接頭語の生成アセット一覧
生成された DocumentA.prefab が、ShapeSync に依存しない素の Humanoid として正しく機能することを確認します。
Assets/ShapeSync/Compiler/DocumentA/DocumentA.prefab を Scene ビュー(または Hierarchy)へドラッグ&ドロップして配置します。DocumentA を選択し、Inspector を確認します(図 11-5)。Animator コンポーネントがアタッチされており、Avatar 欄に DocumentA_avatar(Humanoid Avatar)が正しく割り当てられていることを確認します。SkinnedMeshRenderer が存在し、統合メッシュ DocumentA.asset が設定されていることを確認します。DocumentA の Inspector および階層内に、ShapeDirector、OutfitAttacher、DynamicBoneBlender、MeshStackMachine、Material Proxy / Attacher などの ShapeSync 実行時スクリプトが一切含まれていない(素の GameObject / SkinnedMeshRenderer / Animator 構成) ことを確認します。VRMInstance コンポーネントのみが正しく転送・付与されています)
▲図 11-5: Scene ビューに配置された DocumentA(Tops + Skirt 姿)と Inspector で確認できる Unity 標準 Animator / Avatar および ShapeSync 実行時コンポーネント無しの Pure Humanoid 構成
DocumentA の Animator コンポーネントの Controller 欄に、第3章で使用した Assets/CCOAnimation/Walking.controller を割り当てます。Transport VRM Physics: ON)の場合は、SpringBone による髪やスカートの揺れ物(Physics)も同時に正しく動作します(図 11-7)。
▲図 11-7: Walking.controller を割り当てて Play Mode で歩行アニメーションおよび VRM Physics(髪・スカートの揺れ)が動作している画面
Assets/ShapeSync/Compiler/DocumentA/)の中身を空にするか、ダイアログ上で新しい空フォルダーを作成して指定してください。Atlas Schema (Optional) を空欄にして出力したため、元の各パーツ(素体、トップス、スカート)のマテリアルとテクスチャが個別に維持されています。← チュートリアル目次へ戻る | ← 第10章: Document 保存と Outfit Tag / Priority(衣装の競合制御と状態保存・復元)