ブログ毎日更新は312日目になります。前回「【Unity2D】斜め移動できるようにしよう」にてキー配列を作成しました。今回はアニメーションとアニメーターコントローラーについて知りましょう。うろ覚えなので2回に分けてアニメーション実装を行います。知識を確立させるためにも覚えたことを確実にアウトプットするためゆえ、スローペースなのをお許しください。Unity2DでARPG作成、第5回目始めましょう。{{id="post-head-01"}}Unityにはアニメーターコントローラーとアニメーションという仕組みがあります。簡単に言うとアニメーターコントローラー:アニメーションファイルを制御する管理者アニメーション:一連のアニメーションを記した手順書アニメーションファイルはその名の通りアニメーションの手順を記したファイルです。条件によって遷移を分岐させたり色々出来る制御管理用ファイルです。Unityを始めたばかりのころはこの辺で混乱してしまう人もいるのではないでしょうか。{{id="post-head-02"}}まずはアニメーションの遷移をコントロールするためのアニメーターコントローラーを作りましょう。Controller」を選択すると作成できます。私のディレクトリ構造は「Assets」→「Animate」→「Player」としています。Controller(以下アニメーター)を作りました。アニメーションファイルも各対応するキャラクターごとにディレクトリの中に格納していきます。アニメーターファイルをダブルクリックすると以下のような画面になります。今は何もないのでAnyStateとEntryだけですね。ここにアニメーションファイルをD&Dで入れて遷移の仕組みを作っていくという感じです。{{id="post-head-03"}}次はドット絵をアニメさせたいので、アニメーションファイルを作っていきましょう。動きのあるドット絵は各自ご用意ください。用意できない人は四角に色を付けて数字を記述する絵でも大丈夫です。絵がパラパラ漫画のように動いてくれればドット絵が手元になくても、アニメーションを設定した後から用意した画像に差し替えるだけで大丈夫です。下向きの歩行アニメを作るのに、アニメーションのファイル名は「Player_DownWalk」としました。名前はファイル名を見ただけで何をしているのかわかりやすいようにしておくと管理が楽になります。ファイルを作成したらダブルクリックでアニメーション管理タブが自動的にアクティブになります。実はこのままだと何も設定できないので、Playerオブジェクトにアニメーターをコンポーネントとして設定します。ヒエラルキーでPlayerオブジェクトを選択し、アニメーターファイルをコンポーネントにD&Dしてください。するとアニメーションが設定できるようになっています。動画作りをしたことがある人ならすぐに理解できると思いますが、タイムラインという場所にスプライトを設定していきます。このように設定して再生ボタンを押すとアニメーションしてくれます。Sampleの数値を少なくするとゆっくり動いてくれるので調整してみてください。60はちょっと早すぎるので私は12ぐらいに落としました。歩行アニメーションの場合は自然なループになるように作ります。アニメーターでデフォルトアニメーションを設定アニメーションファイルを構築したら忘れずに保存しましょう。アニメーターのタブに戻り先ほど作った下歩行アニメファイルをD&Dでアニメーターに実装します。初期の状態でアニメーションファイルを入れると自動的にオレンジ色になりEntryから矢印が付きます。これがゲーム実行時に動くデフォルトアニメーション設定です。複数のアニメーションがある場合、どれをデフォルトにするかは選択できます。このままゲームを実行してみましょう。......どうでしょうか?アニメーションが1回実行されたら止まったと思います。それもそのはずで、アニメーションにループ設定をしていないからですね。Time」にチェックを入れたらループするようになります。{{id="post-head-04"}}これでアニメーションの作り方は一通り完了しました。動いていないのにアニメーションしているのも変ですよね。止まっている時は何も動かないか、止まっている時の待機アニメーションにしたいところです。今回はまだ下歩行アニメしか作ってないので、下キーを押された時にだけ歩行アニメーションをさせたいですね。これは基本的にスクリプトで制御するのが楽ちんです。下キーがキー配列の0個目に入っていたら変数を1にする。アニメーターはその変数が1の時は下歩行アニメに遷移させ、1の状態であれば下歩行アニメを続けるといった感じです。キー配列がなくなったら変数を0にするとアニメーター側も下歩行アニメから待機に戻してくれます。次回はスクリプトでアニメーションの遷移を制御してみましょう。12/14なおキーヌ某なんでも屋企業のシステム管理者を務めつつリーマンからの解放を目指して奮闘中。FE&BE開発・Webデザイン・DTPデザイン・SEO・Webライティング等一人である程度のクオリティで大体のことが出来るなんでもエンジニア。小学校の夢でもあったゲームクリエイターを目指して2019年から少しずつ積み上げています。ゲーム作りの参考書TOP。