万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

同時にアニメーション Unity

同じ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に数字セット

の順番を守ること!