まるコットでメモ的な何か

FBXからPrefab化したモデルのボーンを更新する

Unity 2021.3.39f1

これは何の話?

  • モデルのボーンを更新してFBX出力→Unityに取り込むとPrefab化したモデルの該当ボーンのメッシュが壊れるのを直したい
←元々使ってたPrefabオブジェクト ボーン更新したFBXオブジェクト→

左のPrefabモデルの耳(?)の形状が壊れている。

Prefabの構成

fbxファイルをヒエラルキーにD&Dして作った「Spakko」というGameObjectを、
「SpakkoObject」という空のGameObjectに入れたものをPrefab化している。

選択中のGameObjectがfbxをD&Dして出来たものです

なぜ壊れるのか?

FBXからGameObject化した際、モデルのボーンの座標情報がGameObjectとして固定化される。

FBXでモデルのボーンを更新しても、PrefabのGameObjectとして固定化されたボーンの座標情報は更新されないため意図せずメッシュがねじれて壊れてしまう。

FBXでEar.LやEar.Rのボーンを更新したが、Prefabモデルには反映されない

解決方法

至ってシンプルで、FBXからGameObject化したモデルの該当ボーンObjectのTransform情報をPrefabモデルにコピペするだけ。

FBXモデルのEar.LボーンのTransformをコピー
Prefabモデルの同じ箇所にペースト
左耳が治った!

余談

ShapeKeyを更新したときにSkinned Mesh Rendererが壊れることもあるので、
もうちょっと手間なく修正する方法がほしいかも。

追記

もしかしてだけど、この段ボールにガムテープ貼られてるようなアイコン(FBXからD&DしたGameObjectをUnpackしない状態)ならきちんとFBXの更新も反映されるっぽい????????????????????

参考:モデルプレハブ https://docs.unity3d.com/ja/Packages/com.unity.formats.fbx@4.1/manual/prefabs.html

こんなのわからんよ

人生最大のミス

ボーンの更新後はAnimationClipもきちんと更新しようね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です