ShapeSync

第7章: 高度な Outfit 登録と Collection(靴の変形・位置補正)

← チュートリアル目次へ戻る← 第6章: 高度な Figure 登録と局所変形(PBM)

本章では、キャラクターが靴(ヒールや厚底など)を履く際に生じる足首の角度や腰の高さのずれを補正する Collection(コレクション) 機能の手順を解説します。


1. はじめに(靴の位置・姿勢ずれと Collection の概念)


2. 靴のカスタムアイテム化と着用 VRM のエクスポート(VRoid Studio)

まずは VRoid Studio を使用して、モデルから靴を取り出して Base / FBM 素体に着用させ、VRM をエクスポートします。

2.1 靴のカスタムアイテム化

  1. VRoid Studio を起動し、プリセットモデル AvatarSample_I を開きます。
  2. 上部メニューの 衣装 タブを選択し、左側メニューから を選択します。
  3. カテゴリを カスタム に切り替え、表示されている靴の項目で カスタムアイテムとして保存 をクリックします。

VRoid Studio で靴をカスタムアイテムとして保存 ▲図 7-1: AvatarSample_I を開き、衣装 > 靴 > カスタムアイテムとして保存を選択

2.2 Shoes1BasicFemale.vrm のエクスポート

  1. 第2章で作成した素体モデル BasicFemale.vroid を開きます。
  2. 衣装 タブ > カスタム から、先ほど保存した靴アイテムを選択して着用させます。

BasicFemale に靴を着用 ▲図 7-2: BasicFemale を開き、カスタム靴を着用させる

  1. 右上のエクスポートボタンから VRMエクスポート を選択します。
  2. VRM1.0 を選択し、エクスポート情報(ポリゴン数: 20706、マテリアル数: 10、ボーン数: 59)を確認します。

Shoes1BasicFemale の VRM エクスポート確認 ▲図 7-3: ポリゴン数・マテリアル数・ボーン数を確認し Shoes1BasicFemale.vrm としてエクスポート

  1. アバター名に Shoes1BasicFemale と入力し、Unity プロジェクト内へ Shoes1BasicFemale.vrm としてエクスポートします。

2.3 Shoes1SampleI.vrm のエクスポート

  1. 続けて、FBM 素体モデル SampleI.vroid を開きます。
  2. 衣装 タブ > カスタム から、同じ靴アイテムを選択して着用させます。

SampleI に靴を着用 ▲図 7-4: SampleI を開き、カスタム靴を着用させる

  1. 右上のエクスポートボタンから VRMエクスポート(VRM 1.0)を選択し、エクスポート情報(ポリゴン数: 20706、マテリアル数: 10、ボーン数: 59)を確認します。

Shoes1SampleI の VRM エクスポート確認 ▲図 7-5: ポリゴン数・マテリアル数・ボーン数を確認し Shoes1SampleI.vrm としてエクスポート

  1. アバター名に Shoes1SampleI と入力し、Unity プロジェクト内へ Shoes1SampleI.vrm としてエクスポートします。

3. Scene での位置・姿勢のずれ確認

Unity エディタに戻り、素体と靴の初期状態での位置関係を確認します。

  1. Unity の Scene に、素体 BasicFemale.vrm と靴 Shoes1BasicFemale.vrm を配置します。
  2. 両方の Transform Position を同一座標 (0, 0, 0) に設定します。
  3. Scene ビューで足元を確認すると、素体の足と靴の位置・姿勢が一致せず、大きくずれている状態が確認できます。このずれを補正するために Collection を使用します。

Scene 上での素体と靴の位置ずれ確認 ▲図 7-6: BasicFemale と Shoes1BasicFemale を同一座標 (0,0,0) に配置し、足元や腰の位置ずれを確認


4. Outfit(Shoes1)の登録と Materials 分類

書き出した靴 VRM を ShapeSync Editor に登録します。

  1. Unity エディタの上部メニューから Tools > zgock > ShapeSync > ShapeSync Editor を開きます。
  2. 左側 TreeView から Outfits を選択します。
  3. Outfit IdShoes1Outfit NameShoes1 と入力し、Create Mesh Outfit ボタンをクリックします。
  4. 作成された Outfits > Mesh Outfits > Shoes1 を選択します。
  5. Outfit Prefab に、Project ウィンドウの Shoes1BasicFemale.vrm をドラッグ&ドロップして指定し、画面下部の Save to Database をクリックします。
  6. 次に TreeView から Shoes1 > Materials(Mesh Outfit Materials)を開きます。
  7. 一覧にある顔や身体などの身体部分のマテリアル行の Classification を、Exclude ではなく Projection に設定します。
  8. 靴自体のマテリアル(Shoes_01_CLOTH)は Include のまま、Entry Name を Shoes1 に設定し、画面下部の Save to Database をクリックします。

    [!IMPORTANT] 身体部分を Projection に分類することで、後述する Full Collection の頂点補正(Projection)が有効になります。

Shoes1 の Materials 設定(身体マテリアルの Projection 分類) ▲図 7-7-1: Shoes1 > Materials で顔や目などの身体マテリアルを Projection に設定

Shoes1 の Materials 設定(Body の Projection と Shoes1 の Include) ▲図 7-7-2: Body_00_SKIN を Projection、靴マテリアルを Include(Entry Name: Shoes1)に設定して Save to Database

  1. TreeView から Shoes1 > FBMs を開きます。
  2. 既存の Figure FBM 軸 SampleI の行にある FBM Prefab に、Project ウィンドウの Shoes1SampleI.vrm をドラッグ&ドロップして指定し、画面下部の Save to Database をクリックします。

5. Collection 用素体 Prefab の Export と姿勢調整

素体の姿勢を靴に合わせて調整した Collection 用 Prefab を作成します。

5.1 Prefab の Export

  1. TreeView の Figure(Base 画面)を開き、Prefab on Database 行の Export ボタンをクリックします。
  2. 「Export Figure Prefab」ダイアログで、保存先に Assets/ShapeSync/Collection/Shoes1/BasicFemale.prefab を指定して保存します(既定のファイル名を維持します)。
  3. TreeView の Figure > FBMsSampleI 行を開き、Prefab on DatabaseExport ボタンをクリックします。
  4. 「Export FBM Prefab」ダイアログで、保存先に Assets/ShapeSync/Collection/Shoes1/SampleI.prefab を指定して保存します。
  5. 同様に、Shoes1 の Base 画面の Outfit Prefab on Database 行にある Export から Assets/ShapeSync/Collection/Shoes1/Shoes1BasicFemale.prefab を保存します。
  6. Shoes1 > FBMsSampleI 行にある Outfit PrefabExport から Assets/ShapeSync/Collection/Shoes1/Shoes1SampleI.prefab を保存します。

Collection 用 Prefab の Export 完了画面 ▲図 7-8-1: Assets/ShapeSync/Collection/Shoes1/ に 4 つの Prefab が Export された状態

5.2 Scene 上での姿勢調整と Override 保存

  1. Scene 上に、作成した Collection 用素体 BasicFemale.prefab と比較用の靴 Shoes1BasicFemale.prefab を配置し、両方を (0, 0, 0) に置きます。

Scene 上に Collection 用素体と比較用靴 Prefab を配置 ▲図 7-8-2: BasicFemale(Collection用)と Shoes1BasicFemale を Scene 上の同一座標に配置

  1. 靴 Prefab(Shoes1BasicFemale)の Root/J_Bip_C_Hips の Position Y 座標(例: 0.9225485)を確認します。

靴 Prefab の Hip Y 座標確認 ▲図 7-8-3: Shoes1BasicFemale の J_Bip_C_Hips の Position Y 座標(0.9225485)を確認

  1. Collection 用素体(BasicFemale)の Root/J_Bip_C_Hips の Position Y 座標へ、確認した値(0.9225485)をコピーして入力します。

Collection 用素体の Hip Y 座標へコピー ▲図 7-8-4: BasicFemale の J_Bip_C_Hips の Position Y に 0.9225485 を入力

  1. Collection 用素体の左右の足首ボーン(J_Bip_L_Foot および J_Bip_R_Foot)の Rotation X を、靴の傾きにぴったり合うよう調整します(例: Rotation X = 3.71)。

Collection 用素体の Foot Rotation X 調整 ▲図 7-8-5: BasicFemale の J_Bip_R_Foot の Rotation X を 3.71 に設定して靴の傾きに合わせる

  1. 調整が完了したら、Hierarchy で Collection 用素体(BasicFemale)を選択し、Inspector 右上の Overrides ドロップダウンから Apply All をクリックして Prefab へ上書き保存します。

    [!WARNING] Override の保存(Apply All)を行わないと、調整した姿勢が Collection の補正に反映されません。また、専用の別 Prefab は作成せず、必ずこの BasicFemale.prefab に保存してください。

Overrides ドロップダウンから Apply All を実行 ▲図 7-8-6: Inspector の Overrides ドロップダウンから Apply All をクリックして BasicFemale.prefab へ上書き保存

  1. 同様に、SampleI.prefabShoes1SampleI.prefab を Scene に配置し、Hip Y のコピーと左右 Foot X 回転の調整を行って SampleI.prefab へ Override 保存(Apply All)します。

6. Collection の設定(FullProjection

調整した Prefab を ShapeSync Editor の Collection 設定に登録します。

  1. ShapeSync Editor の左側 TreeView から Outfits > Mesh Outfits > Shoes1 > Collections を選択します。
  2. Collection ドロップダウンで Full を選択します。
  3. Use Projection for Full Collection にチェックを入れて ON にします。
  4. 各 Collection Prefab を指定します。
    • Base Collection Prefab: Assets/ShapeSync/Collection/Shoes1/BasicFemale.prefab
    • SampleI Collection Prefab: Assets/ShapeSync/Collection/Shoes1/SampleI.prefab
  5. 画面最下部の Save to Database ボタンをクリックして保存します。

Shoes1 の Collections 設定画面 ▲図 7-9: Collection を Full に設定し、Use Projection for Full Collection を ON、Base/SampleI Collection Prefab を指定して Save to Database


7. Outfit Shape の登録と Generate の実行

靴用の Outfit Shape を作成し、Shape Template を生成します。

  1. ShapeSync Editor の左側 TreeView から Shapes を選択します。
  2. Shape IdoutfitShoes1Shape NameoutfitShoes1 と入力し、Create Outfit Shape Template ボタンをクリックします。
  3. TreeView の Shapes > Outfit Shapes > outfitShoes1 を開きます。
  4. Add Mesh ボタンをクリックし、Outfit MeshShoes1 を指定します。
  5. 画面下部の Save to Database ボタンをクリックして保存します。

outfitShoes1 の Outfit Shape 登録画面 ▲図 7-10-1: outfitShoes1 の Outfit Shape で Outfit Mesh に Shoes1 を指定して Save to Database

  1. TreeView から Generation セクションを選択します。
  2. 各出力相対パスは既定値のまま、画面下部の Generate ボタンをクリックします。
  3. 出力ルートフォルダー(Assets/ShapeSync/Generated)を選択して「フォルダーの選択」をクリックし、生成を実行します。

Generation セクションでの Generate 実行画面 ▲図 7-10-2: Generation セクションで Generate をクリックし、出力ルートフォルダー(Generated)を選択して生成を実行


8. Scene 配置と Shape Director による動作確認、Poke の確認

Scene 上の Figure に靴を適用し、Fit 状態と残存する課題を確認します。

  1. Scene に配置されている Figure(BasicFemale)を選択します。
  2. Figure の ShapeDirector コンポーネントの Inspector を確認します。
  3. Template List に、新しく生成された outfitShoes1.asset をドラッグ&ドロップして追加します(※登録は Play Mode 開始前に行います)。
  4. Figure の AnimatorWalking.controller が割り当てられていることを確認し、Unity の Play ボタン を押して Play Mode に入ります。
  5. 歩行アニメーション再生中に、靴の位置や足首の角度が自然に Fit し、歩行に合わせて正しく追従することを確認します。

Play Mode での靴の Fit 動作確認 ▲図 7-11-1: Play Mode で歩行アニメーション再生中、靴の位置・角度が正しく Fit して追従している様子

ドレス下部からのカメラアングル ▲図 7-11-2: ドレス下部から見た靴と足の追従状態

  1. 足元を拡大して詳細に観察すると、靴のつま先部分など一部に素体の肌/爪がわずかに突き出る現象(Poke)が確認できます。

靴のつま先部分に残存する Poke の拡大確認 ▲図 7-11-3: 靴のつま先先端から素体の肌がわずかに突き出ている Poke の状態

[!NOTE] このつま先に残存する Poke は、次章(第8章)で解説する Figure Mask(マスク) 機能を使用することで完全に解消します。


9. よくあるトラブルと解決策(トラブルシューティング)

Q1. Play Mode に入っても靴の位置や足首の角度が補正されない

Q2. 靴の周りの身体メッシュが綺麗に変形しない


← チュートリアル目次へ戻る← 第6章: 高度な Figure 登録と局所変形(PBM)