Unity Animationを利用しているオブジェクトの階層を変更した場合の対応方法

概要

以下のようなAnimationを利用したオブジェクトの階層構造がある
f:id:yasuaki-ohama:20151104133100p:plain
この階層にmiddleというオブジェクトを追加しすると、以下のように参照が外れてしまう。
f:id:yasuaki-ohama:20151104133109p:plain

参照の修正方法

ファイルを修正できるように設定を行う
f:id:yasuaki-ohama:20151029120540p:plain

アニメーションファイルのパスを調べる

➜  Assets  grep path Animation.anim
    path: B/B:Child
    path: D/D:Child
    path: A/A:Child
    path: C/C:Child
    path: A
    path: B
    path: C
    path: D
    - path: 1696498558
    - path: 1976881102
    - path: 1836819750
    - path: 3557989513
    - path: 3554254475
    - path: 1255198513
    - path: 1037565863
    - path: 2746444292
    path: B/B:Child
    path: D/D:Child
    path: A/A:Child
    path: C/C:Child
    path: A
    path: B
    path: C
    path: D

このファイルを以下のように修正する

    path: 階層
    path: middle/階層

今回は、Xcodeで置換した
f:id:yasuaki-ohama:20151104134128p:plain
処理後

➜  Assets  grep path Animation.anim
    path: middle/B/B:Child
    path: middle/D/D:Child
    path: middle/A/A:Child
    path: middle/C/C:Child
    path: middle/A
    path: middle/B
    path: middle/C
    path: middle/D
    - path: 1696498558
    - path: 1976881102
    - path: 1836819750
    - path: 3557989513
    - path: 3554254475
    - path: 1255198513
    - path: 1037565863
    - path: 2746444292
    path: middle/B/B:Child
    path: middle/D/D:Child
    path: middle/A/A:Child
    path: middle/C/C:Child
    path: middle/A
    path: middle/B
    path: middle/C
    path: middle/D

結果

f:id:yasuaki-ohama:20151104134228p:plain