同じGameObjectに対してアニメーションするときに
Animation myAnim = animation; myAnim.Play("HOGE"); myAnim.Play("BAR");
にしたら、二番目のBARのアニメーションが優先され、HOGEは実行されなくなってしまう。
※myAnimの変数に入れているのはパフォーマンス向上のため。
だからといって、
Animation myAnim = animation; myAnim.Blend("HOGE"); myAnim.Blend("BAR");
Blendを使うと、中途半端に混合してしまうっぽい。
・Animation.SyncLayerを使う!
URL: http://docs.unity3d.com/Documentation/ScriptReference/Animation.SyncLayer.html
Animation myAnim = animation; myAnim.Play("HOGE"); myAnim["HOGE"].layer = 1; myAnim.Play("BAR"); myAnim["BAR"].layer = 1; myAnim.SyncLayer(1);
SyncLayerを使えば、同じレイヤーのアニメーションは同期して並行実行できる。
さらに、注意点としては、
注意
Play
↓
.layerに数字セット
の順番を守ること!