桔梗ちゃんアバター改変メモ
目的
VRoid製の髪型を移植する
腰を小さくする
手順
髪
VRoidモデルをロード・VRChat用に変換し、Root・Hair・secondaryを残して削除する
secondaryから髪以外のPhysBoneを削除
ルートオブジェクトからAnimator以外のコンポーネント(VRCAvatarDescriptor等)を削除
位置とサイズを調整する
素体
桔梗ちゃんのプレハブを設置、ルートオブジェクトからAnimator以外のコンポーネントを削除
スカート等はメッシュもArmatureも削除(あとで別の服を着せるので)。Armature以下のPhysBoneも削除しておく。
腰を小さくする
Armature/Hipsのscaleを x=0.9, z=0.95に
Armature/Hips/Spineのscaleをx=1/0.9, z=1/0.95に
骨格
桔梗ちゃんのプレハブを設置。これにはVRCAvatarDescriptor等を残す
Armatureのみを残してメッシュを削除。Armature以下からもHips以外削除。Armature以下のPhysBoneも削除しておく。
Armature以下の全オブジェクトの位置を、素体(上記の腰縮小後素体)の同パーツの位置にそろえる
このためのスクリプトRecursiveTransformSetter.csを作った。
統合
キセテネを使い、
(1) まず、骨格に素体を着せる (服:素体 アバター:骨格)
(2) 次に、(1)に髪を着せる (服:髪 アバター:(1))
VRCAvatarDescriptorの Face Mesh、Left/Right Eye Bone、Eyelids Mesh等の参照が外れているので付けなおす
Left/Right Eye Boneは例えば Head/LeftEye ではなく Head/Head/LeftEye であることに注意。キセテネによって骨格に素体を着せているため。
Head/Head/LeftEyeをHead/LeftEye以下に移動してもよいと思う
VRCAvatarDescriptorの Use Auto-Footsteps for 3 and 4 point trackingと Force Locomotion animations for 6 point tracking にチェックを入れる。
指を移動する。
例えば Hand.L/Index Proximal.L は骨格の方なので動かず、実際に動く指は Hand.L/Hand.L/Index Proximal.L である。
なので Hand.L/Hand.L/Index Proximal.L を Hand.L/Index Proximal.L の下に移動する。
このためのスクリプトMoveFinger.csを作った。Armatureに付けて実行すると自動ですべての指を移動する。
吸収された素体オブジェクトの中のArmatureは削除し、メッシュをルートオブジェクト直下に移動する。こうしないと表情アニメーションが動作しない。
Pipeline ManagerのBlueprint IDが空欄でなければDetatchしておく。
服を着せるときは、素体と同様に
Armature/Hipsのscaleを x=0.9, z=0.95
Armature/Hips/Spineのscaleをx=1/0.9, z=1/0.95
…に設定してからキセテネを実行する