TAKOYAKING’s blog 一覧

TAKOYAKING’s blog

たこ焼き系

Unity:オブジェクトのパスが変わった時にアニメーションのパスを一括変更する

アニメーションをすでに設定している時に対象のオブジェクトのパス構造を変えたい時に、アニメーションファイルも同じようにパス構造の変更を反映して欲しい時の解決策です。

現象

アニメーションが設定されている対象のオブジェクトのパス構造を以下のように変更しました。(1階層深くなった)
変更前:
f:id:TAKOYAKING:20200413215152p:plain

変更後:
f:id:TAKOYAKING:20200413215159p:plain

Animation タブ:
f:id:TAKOYAKING:20200413215326p:plain
「Missing!」 で黄色く表示され、黄色くなってしまい、アニメーションが動かなくなってしまいます。

解決

いちいち手動で一つ一つ再設定するのも面倒なので、直接アニメーションファイルを修正します。
[filename].animになっているファイルをテキストファイルで開きます。
次に path: を検索していき、正しいパス名に修正していきます。

写真のサンプル例だと階層が深くなったので、以下のような感じで修正していくことになります。
bone_arm_L -> barb/bone_arm_L
f:id:TAKOYAKING:20200413220731p:plain

感想

動いてよかった!
ただ、boneの階層が変わっただけなので、うまく修正できたけど、他のパターンでもちゃんと修正できるかはわかりません。