万年素人からHackerへの道

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

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    同時にアニメーション 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に数字セット

    の順番を守ること!