← チュートリアル目次へ戻る | ← 第3章: Figure 登録と初期動作確認
本章では、キャラクターに着用させる 髪型(Hair1) と 衣装(Dress1) を作成し、ShapeSync Editor に Outfit として登録して、Figure への着脱および体型変形追従を確認する手順を解説します。
OutfitAttacher を使って Figure へ取り付けます。[!NOTE] 前章(第3章: Figure 登録と初期動作確認)で作成した Base VRM(
BasicFemale.vrm)、FBM 軸(SampleI.vrm)、および生成済み Figure Prefab が準備されていることを前提とします。
Include)」と「Outfit に含めない着用側の身体部分(Exclude)」に分類します。身体部分を Exclude に指定することで、衣装や髪型のメッシュだけが正しく抽出されます。Outfit は Base 体型用と FBM 体型用の双方が必要となるため、以下の 4 ファイルを作成します。
Hair1BasicFemale.vrm: BasicFemale(Base)に髪型を着用させたモデルHair1SampleI.vrm: SampleI(FBM)に髪型を着用させたモデルDress1BasicFemale.vrm: BasicFemale(Base)に衣装を着用させたモデルDress1SampleI.vrm: SampleI(FBM)に衣装を着用させたモデルまずは VRoid Studio を使用して、プリセットモデルの髪型をカスタムアイテムとして登録し、Base および FBM モデルに着用させてエクスポートします。
AvatarSample_I から髪型をカスタムアイテムとして保存AvatarSample_I を開きます。髪型 タブを選択します。前髪 を選択し、カスタム タブに切り替えて、着用中の前髪を カスタムアイテムとして保存 します。
▲図 4-1: AvatarSample_I の前髪をカスタムアイテムとして保存
後髪 を選択し、カスタム タブから カスタムアイテムとして保存 します。
▲図 4-2: AvatarSample_I の後髪をカスタムアイテムとして保存
つけ髪 を選択し、カスタム タブから カスタムアイテムとして保存 します。
▲図 4-3: AvatarSample_I のつけ髪をカスタムアイテムとして保存
SampleI にカスタムヘアを着用しエクスポート(Hair1SampleI.vrm)SampleI.vroid(素体モデル)を開きます。髪型 タブを開き、2.1 で登録した 3 つのカスタムアイテム(前髪・後髪・つけ髪)をそれぞれ選択して着用させます。
▲図 4-4: SampleI.vroid に登録した 3 つのカスタムヘアを着用
VRMエクスポート を選択します。42006 / マテリアル数 12 / ボーン数 95)を確認します。
▲図 4-5: ポリゴン削減全 OFF とエクスポート情報を確認
エクスポート ボタンをクリックし、フォーマットで VRM1.0 を選択、アバター名に Hair1SampleI と入力してエクスポートします。
Assets/VRM/Hair1SampleI.vrm
▲図 4-6: フォーマット VRM1.0、アバター名 Hair1SampleI でエクスポート
BasicFemale にカスタムヘアを着用しエクスポート(Hair1BasicFemale.vrm)BasicFemale.vroid(素体モデル)を開きます。髪型 タブを開き、登録した 3 つのカスタムヘア(前髪・後髪・つけ髪)を着用させます。VRMエクスポート を開き、ポリゴン削減オプションがすべて OFF であること、およびエクスポート情報(目安: ポリゴン数 40406 / マテリアル数 12 / ボーン数 95)を確認します。
▲図 4-7: BasicFemale にカスタムヘアを着用し、ポリゴン削減全 OFF と情報を確認
VRM1.0 を選択、アバター名に Hair1BasicFemale と入力してエクスポートします。
Assets/VRM/Hair1BasicFemale.vrm
▲図 4-8: フォーマット VRM1.0、アバター名 Hair1BasicFemale でエクスポート
続いて、ワンピースプリセットのドレスを Base および FBM モデルに着用させてエクスポートします。
BasicFemale にドレスを着用しエクスポート(Dress1BasicFemale.vrm)BasicFemale.vroid を開きます(※髪型は素体のまま、または外した状態にします)。衣装 タブを選択し、左側メニューから ワンピース を選択します。プリセット から AvatarSample_I のドレス(中華風ドレス)を選択して着用させます。
▲図 4-9: BasicFemale.vroid にワンピースプリセットからドレスを着用
VRMエクスポート を開き、ポリゴン削減がすべて OFF であること、およびエクスポート情報(目安: ポリゴン数 32368 / マテリアル数 14 / ボーン数 159)を確認します。VRM1.0、アバター名 Dress1BasicFemale と入力してエクスポートします。
Assets/VRM/Dress1BasicFemale.vrm
▲図 4-10: フォーマット VRM1.0、アバター名 Dress1BasicFemale でエクスポート
SampleI にドレスを着用しエクスポート(Dress1SampleI.vrm)SampleI.vroid を開きます。衣装 タブ > ワンピース > プリセット から同様にドレスを選択して着用させます。
▲図 4-11: SampleI.vroid にワンピースプリセットからドレスを着用
VRMエクスポート を開き、ポリゴン削減がすべて OFF であること、およびエクスポート情報(目安: ポリゴン数 32368 / マテリアル数 14 / ボーン数 159)を確認します。VRM1.0、アバター名 Dress1SampleI と入力してエクスポートします。
Assets/VRM/Dress1SampleI.vrm
▲図 4-12: フォーマット VRM1.0、アバター名 Dress1SampleI でエクスポート
エクスポートした 4 つの VRM を Unity プロジェクトに取り込み、ShapeSync Editor を使って Database に登録します。
Hair1)の登録Outfits を選択します。Outfit Id に Hair1、Outfit Name に Hair1 と入力し、Create Mesh Outfit ボタンをクリックします。
▲図 4-13: Outfits セクションで Outfit Id / Outfit Name を入力し Create Mesh Outfit をクリック
Hair1 の基本設定画面で、Outfit Prefab に Project ウィンドウの Assets/VRM/Hair1BasicFemale.vrm をドラッグ&ドロップして指定し、下部の Save to Database をクリックします。
▲図 4-14: Hair1 の基本画面で Outfit Prefab に Hair1BasicFemale を指定して保存
Hair1 > Materials(Mesh Outfit Materials 画面)を開きます。
Exclude に設定します。
▲図 4-15: Materials 画面で身体系マテリアルを Exclude に設定
Hair1、Hair2)を Include に設定し、下部の Save to Database をクリックして確定保存します。
▲図 4-16: 髪マテリアル(Hair1, Hair2)を Include に設定して保存
Hair1 > FBMs(Mesh Outfit FBMs 画面)を開きます。
SampleI 行の FBM Prefab フィールドに、Project ウィンドウの Assets/VRM/Hair1SampleI.vrm をドラッグ&ドロップして指定します。Save to Database をクリックして確定保存します。
▲図 4-17: FBMs 画面で SampleI 行に Hair1SampleI を指定して保存
Dress1)の登録Outfits を選択します。Outfit Id に Dress1、Outfit Name に Dress1 と入力し、Create Mesh Outfit をクリックします。Dress1 の基本画面で、Outfit Prefab に Assets/VRM/Dress1BasicFemale.vrm を指定し、下部の Save to Database をクリックします。Dress1 > Materials を開きます。
Body_00_SKIN 等)を Exclude、衣装マテリアル(Cloth1 〜 Cloth5)を Include に設定します。Save to Database をクリックします。
[!IMPORTANT] 着用側の身体マテリアルを正しく
Excludeに設定しないと、衣装メッシュだけを分離して抽出できません。必ず身体部分を除外設定にしてください。
▲図 4-18: Dress1 の Materials 画面で身体を Exclude、衣装を Include に設定して保存
Dress1 > FBMs を開きます。
SampleI 行の FBM Prefab に Assets/VRM/Dress1SampleI.vrm を指定し、下部の Save to Database をクリックします。
▲図 4-19: Dress1 の FBMs 画面で SampleI 行に Dress1SampleI を指定して保存
登録した Outfit アセットを生成します。
Generation セクションを選択します。Registries、Bindings、Materials、Textures、Outfits)の設定は 既定値のまま変更しません。Generate ボタンをクリックします。Assets/ShapeSync/Generated)を選択して生成を実行します。
▲図 4-20: Generation セクションで Generate を実行し出力ルートを選択
Outfits/ フォルダー配下に、Hair1.prefab および Dress1.prefab(ならびにスキニング・メッシュ等の補助アセット)が出力されます。
▲図 4-21: Project ウィンドウの Outfits フォルダーに出力された Outfit Prefab の確認
生成された Outfit Prefab を、Scene 上の Figure に取り付けてリアルタイムに着脱・体型変形追従を確認します。
OutfitAttacher コンポーネントを確認します。
Enter Play Mode to attach an Outfit Prefab. と表示され、装着操作は行えません。OutfitAttacher の Outfit Prefab Attach セクションを開きます。Outfits/Hair1.prefab を、Drop Outfit Prefab Here 欄にドラッグ&ドロップします。
Attached Outfits 一覧に Hair1 が追加されます。Outfits/Dress1.prefab を Drop Outfit Prefab Here 欄にドラッグ&ドロップします。
Attached Outfits 一覧に Dress1 が追加されます。Attached Outfits 一覧の各行にある Delete ボタンをクリックすることで、該当の Outfit を取り外せることを確認します。
▲図 4-22: Play Mode で OutfitAttacher に Hair1 / Dress1 を装着した Inspector および Game 画面
Animator に Walking.controller を割り当て、歩行アニメーションを再生します。DynamicBoneBlender コンポーネントの SampleI の weight スライダーを動かします。Hair1)および衣装(Dress1)が、Figure の体型変形に完全に追従して滑らかに変形すること を確認します。
▲図 4-23: 歩行再生中に SampleI の weight を操作し、衣装・髪型が破綻なく追従変形している様子
Drop Outfit Prefab Here にドロップしても装着されないShapeSyncOutfit 付きの Prefab(Outfits/Hair1.prefab 等)ではなく、元の .vrm ファイルを直接ドロップしている可能性があります。Outfits/ フォルダに出力された .prefab をドロップしてください。Materials(Mesh Outfit Materials)において、着用側の身体マテリアルが Exclude に設定されていない可能性があります。Outfits > [対象 Outfit] > Materials を開き、衣装以外の身体マテリアルがすべて Exclude になっていることを確認して Save to Database を押し、再度 Generation から Generate を実行してください。