• WEB

初心者がUnity2Dでアクションゲームを作るチュートリアル その2 【Mecanimの使い方】

  • マイケル
    マイケル デザインちーむ
  • このエントリーをはてなブックマークに追加
初心者がUnity2Dでアクションゲームを作るチュートリアル その2 【Mecanimの使い方】

こんにちは、前回は歩くアニメーションを配列でUpdateで作りましたが、UnityのMecanim(メカ二ム)というツールを使ってアニメーションの遷移をするやり方の方が、ナウいヤングのやり方みたいなので、そちらの方法で「歩く」とか「ジャンプ」のアニメーションをつくろうと思います。

とりあえず心機一転作っていくため、前回つくったHierarchyのPlayerを削除しときます。

Playerを削除

Projectから歩きのプレイヤー画像を3つ選択して、Sceneにドラッグ&ドロップします。
Hierarchyにも追加されているので、名前を「Player」とかにしておきます。

あと、Projectに2つファイルができます。

上の方がAnimation Controller(Player)というやつで、「歩く」、「ジャンプ」なんかを命令するファイルです。
下のAnimation Clip(Walk)でさっきSceneに追加した歩くのアニメーションデータが入ってるファイルです。

それぞれ、名前をPlayerとWalkにしときます。また、InspectorにもAnimatorというコンポーネントが追加されてます。

Sceneにドラッグ&ドロップ

ここで再生ボタンを押します。

なんていうことでしょう(ビフォアフター風)、すでに歩くアニメーションが出来上がってます。
これはさっきのProjectにあるAnimation ClipファイルがWalkが再生されてます。

歩くアニメーション

このままだと、空中お散歩になるので、前回同様にRigidbody 2DとCricle Collider 2Dをアタッチしときます。

Collider 2Dをアタッチ

次に、ジャンプのアニメーションを作ります。

ジャンプの画像は1枚しかないので、歩くのアニメーションの時のように3つ選んでドラッグ&ドロップとかして自動でAnimation Clipファイルを作ことができないので、手動で作っていきます。
たぶんこちらのやり方が本来の作り方かと思われます。

メニューの[Windows]がら[Animation]を選択。

そしたらAnimationのパネルが出てきた状態でHierarchyのPlayerを選択状態にします。
そして、リストのPlayerの三角アイコンをクリックすると、歩くアニメーションの画像つきのタイムラインが出てきます。

タイムライン

左上の「Walk」をクリックして[Create New Clip..]をクリック。保存のダイヤログが出てくるので、Jump.animの名前で保存。

保存する様子

Animationのタイムラインに、プレイヤーのジャンプの画像をドロップして持ってきます。

ジャンプの画像をドロップ

ProjectにもJumpのAnimation Clipファイルが出来上がってます。

Animation Clipファイル

HierarchyにあるAnimation ControllerのPlayerを、ダブルクリックしてAnimatorのパネルを表示させます。
ステートといわれる角丸四角のものがいくつか表示されています。

もし、ステートの名前がplayer_0とかになっていたら名前をWalkに変えときます。

ステートが表示される

このAnimatorのパネルで、歩くとかジャンプだとかのアニメーションの命令をコントロールします。

Walkのステートで右クリックして、「Make Traditon」をクリックします。
そうすると、線が出てくるのでそれをJumpのステートのところにクリックして線でつなげてあげます。

逆にJumpからWalkへの矢印線もつなげておきます。

これで、WalkからJumpへ、またJumpからWalkへアニメーションへ移行する導線ができました。

導線の完成

次に、Animatorのパネル左のところにPrametersをクリックし、「+」ボタンをクリックして「bool」を選びます。
名前はGroundにします。

つまり、このGroundにチェックが入ってtrueのときWalkアニメーションにして、チェックが入ってなくてfalseの時はJumpアニメーションにするという風にする感じです。

Groundにチェック

この条件を実際にどこに適用していくかというと、さっきつくったステートから出ている矢印線です。

まずwalkからJumpに向かってる方の矢印線をクリックします。
InspectorにConditionsがあるのでそこの「+」をクリックしてGroundを選択してfalseにしておきます。逆にJumpからWalkに向かっている矢印線の方はJumpをtrueにします。

ステートを設定

そして、ここで再生ボタンを押して確認します。
マウスでAnimatorのパネルのJumpのチェックボックスを付けたり外したりすると、ちゃんとアニメーションが切り替わってます。

アニメーションの完成

このような感じで、視覚的にアニメーションの切り替え編集ができるので分かりやすいです。

また、今回はGroundのチェックボックスの切り替えは、直接マウスクリックを行いましたが、通例はスクリプトからの命令でやるみたいです。
今度は機会があればその辺のことを書きたいと思います。

ありがとうございました。

このエントリーをはてなブックマークに追加

マイケルが最近書いた記事

WRITERS POSTS もっと見る

他にもこんな記事が読まれています!

  • WEB
  • マーケティング
  • サーバー・ネットワーク
  • ライフスタイル
  • お知らせ