UnityでRPGを作ってみる

UnityでRPGを作ってみる

超ド基本のAnimation

アニメーションの作成

  1. Projectビューにて右クリック→Create→Animationで「***.anim」を作成
  2. 作成した「***.anim」を該当のオブジェクトにAddする

f:id:allmoreidea:20200830120109j:plain


最初の状態(ステート)を変更する

Animator」ウィンドウにて、該当のステートを右クリック→Set as Layer Default State

Tips:
最初は静止させておいて、何かのきっかけでアニメーションするような場合は、アニメーションを全く設定していない状態を初期状態とすれば良い


スクリプトでステートを変更する

[SerializeField] Animator lid_anim;

    public void Open()
    {
        open = true;

        lid_anim.Play("open");
    }

アニメーションを最初から(指定時間から)再生する

第3引数に再生させたい時間を入力する。最初からの場合は0.0fですね。
※第2引数はレイヤーらしい(現時点では良く分からん)

this.GetComponent<Animator>().Play("WindowOpen", 0, 0.0f);

アニメーションした最後の状態をそのまま維持させたい

遷移先を無くせばOK
※ほかに方法があるかもしれないけど、これでうまくっているので取り敢えずこれで。
f:id:allmoreidea:20200831223326j:plain