Blenderで調整したFBXをUnityに持っていったらPhysBoneの揺れが過剰になった際の対処例

丸2日苦しんだ末に解決できた記念パピコ_Lime_v1.0.0_20240509


1. エラー原因 ArmatureのScaleが1じゃない

・調整したFBXをUnityでセットアップ→PhysCopyでAvatarDynamicsにコピペ→いざPlaymodeで確認したら、揺れものの動きが過剰(過敏)でジャギジャギになる状態
・正常動作のものと比較したらArmatureのScaleの値が違う、1じゃない
・BlederのFBX書き出し設定がエラーの根本的原因

なんかおかしかった時
正常動作時

2. Blender→Unityの参照記事とエラー解消設定

2.1. BlenderにFBXを取り込む→適宜作業→FBXを書き出す

VRChat用にアバターを買ってBlenderでチョイチョイやって、Unityに持っていって問題なくVRCに持ち込むためのメモ – キャズムを超えろ! Rev.2 (warenosyo.com)

・取り込みは記事通りでOK
・書き出し時の設定について、Lime_v1.0.0.fbxの場合は上記記事通りだとArmatureが1ではなくなる
・トランスフォームうんぬんにチェックしないことで回避

これでいけた

2.1.1. CopyComponentsByRegexてなんやねん

以下記事参照

【VRC】Blender2.93からUnityに持っていく+Unity側独自の設定(ダイナミックボーンとかPhysBoneとか)の設定を引っ越しする|月白チェー (note.com)

正規表現を変えると色々できるらしい

2.2. Unityでのセットアップ

PhysCopyでfbx素体にPB移植|Tcam (note.com)

・セットアップ済みのprefabからAvatarDynamicsをコピペ
・PhysCopy
・Lime_v1.0.0の場合、この2操作できちんと動いた

2.3. PrefabやUnity Packageにする

HierarchyからAssetにドラッグアンドドロップするやで


どうせいつか同じような失敗をするので備忘録
ついでに誰かの問題解消に役立てば嬉しい
おわり