3.4 KiB
3.4 KiB
vrmで統合する
.vrm
を読み込んで、別の.vrm
に統合する方法を紹介します。最終的にはueでも動くようにします。
今回も衣装を着せる方法に使ったデータ転送
を使います。例えば、髪の毛を設定してみましょう。
ここで重要なのはblenderの物理シュミレーションです。髪の毛に物理シュミレーションが設定されているか確認してください。vrm 1.0を前提にしますがSpring Bone
が消えている可能性があります。そして、統合する際はこのデータを持ってくることができません。blenderで設定しなくてもueのkawaiiphysics
でも設定できます。
次に、設定されているウェイトが剥がされていないか確認してください。データ転送後は髪の毛にウェイトが付いているか確認してください。
- 髪の毛に物理シュミレーションはあるか。
- 髪の毛にウェイトはあるか。
具体的な手順
hair(髪の毛)とbody(体)で分けられたvrmを読み込むこととします。これを統合します。
- まず、boneの統合を行います。boneはarmatureというようです。不要なboneを削除します。そして、完成版となるarmatureを最後に選択して統合します。
- 次に必要なboneをつなぎます。boneを編集モードで編集し、
J_Bip_C_Head
->head
を選択し、右クリックで親をオフセット維持
で設定します。 - 次にhairを選択し、モディファイアからデータ転送を行います。ソースに
body
, 頂点グループにJ_Bip_C_Head
を選択します。ここが特に重要です。そして、頂点データにチェックを入れ、頂点グループを選択します。最後にデータレイヤーを生成し、適用します。これでhairとbodyがつながった状態になりました。bodyが主体になります。
ウェイトがhair(J_Bip_C_Head)に設定されていることを確認してください。今後、hairのobjectをいじると削除される可能性があります。
blendshapeとvmc
vmcは.vrm
をblenderで開いたときblendshape(ブレンドシェイプ)が設定されていれば大抵動くと思います。
ただし、blenderで編集した際に使えなくなってしまう可能性が高いです。例えば、objectを分離した場合がそうです。後に統合すると動くようになります。
ueで動かす
- 次にueでhairを動くようにします。ueでvrmを読み込んで、
ABP_Post_${name}
を編集します。kawaiiphysics
でRoot BoneにJ_Sec_Hair_1_xx
を1-12まで入れて、Capsule Limitsにchest
,hip
などを設定します。私はchest
の値を大きめにして対処しました。 - 次に、服が体に入りこまないようにしなければなりません。これも先ほどと同じように設定します。
- 設定後は
ABP_Post_${name}
をコピーしておきましょう。このファイルは新しくvrmを読み込むと上書きされるため、最新版を読み込んだあと再設定しやすいように。
blenderから読み込んだmodelを動かしてみた。
- 髪の毛が動かない: hairにウェイトは設定されているか
- 表情が動かない: 元のobject構成に再統合されているか