検索
連載

Unity Mecanimの肝Animator Controllerとステートマシンの基本ゲーム開発初心者のためのUnity入門(7)(2/2 ページ)

Unity 5.4で3Dゲームを作るまでのいろいろな処理を解説する連載。今回は、「Animator Controller」画面の使い方、StateとTransition(メカニムステートマシン)の作成方法を紹介する【Windows 10、Unity 5.4に対応、C#のスクリプトを追加】。

Share
Tweet
LINE
Hatena
前のページへ |       

ジャンプのアニメーションを実行

 ジャンプして障害物の上に乗せたいので、障害物「Obstacle」(Cube)オブジェクトの高さを少し低くしておこう。それと障害物の長さも少し長くしておく。勢い余って落ちる可能性があるからだ。前回使用したトランスフォームツールの「スケール」ツールで行うといい。

 これで、プレー画面で実行すると、動画1のようになる。

動画1 キャラクターがジャンプする

 ここで、Unityのメニューから「File」→「Save Scene as」で「キャラクターのジャンプ」という名前で保存しておこう。

歩かせるユニティちゃん、床、などの基本設定

 次に、新しいプロジェクトを作成しよう。「NEW」から「UnitychanWalk」というプロジェクトを作成する。

 今回は、ユニティちゃんを歩かせてみよう。「“Unity-chan!” Model」は連載第3回でインポートしているので、インポート済みを前提として解説する。

 Hierarchyの「Create」→「3D Object」→「Plane」を選択して「床」を作る。次に、「Project」→「UnityChan」→「Models」→「unitychan.fbx」をScene画面内にドラッグ&ドロップする。

 ユニティちゃん(unitychan)のInspectorから、「Transform」→「Rotation」の「Y」に「180」を指定して、ユニティちゃんがカメラの方を向くようにしておく。また、Hierarchy内の「Main Camera」を移動キーで操作して、Game画面を見ながら図9のような配置にする。


図9 ユニティちゃんを配置した

新しく「Animator Controller」を作成する

 本稿の前半でジャンプのアニメーションを追加したときは、既に用意されていた「Animator Controller」に新しいStateやTransitionなどを加えたが、今度は「Animator Controller」自体も新規で作成してみよう。

 Unityメニューの「Assets」→「Create」→「Animator Controller」と選択する。「Project」内の「Prefabs」フォルダに「New Animator Controller」が作成されるので、名前を「myUnitychanController」と変更しておく(図10)。


図10 「myUnitychanController」を作成した

 図10の状態で、「myUnitychanController」をダブルクリックすると、「Animator Controller」画面が表示される。「Any State」と「Entry」という長方形が表示されているだけだ。この画面の、何もないところを右クリックして、「Create State」→「Empty」と選択する。すると、「New State」という長方形が表示される。

 この「New State」を選択すると、Inspectorが表示されるので、「名前」を「Walk」と変更しておく。次に、「Motion」項目の右端にある「○に・」ボタンをクリックして表示される「Select Motion」の、表示されるリストから「walk」を選択する(図11)。


図11 「Select Motion」から「walk」を選択

 次に、Inspectorから「unitychan」を選択し、Inspector内の「Animator」の「Controller」の右端に表示されている「○に・」ボタンをクリックして、「Select RuntimeAnimatorController」を表示し、先ほど作成した「myUnitychanController」を選択する。

 「Apply Root Motion」にチェックを付けておく。チェックを付けていないと、カメラが追従してくれないので、注意が必要だ(図12)。


図12 Controllerを指定した

カメラの追従

 「Main Camera」を選択して、「Add Component」から「Camera-Control」を選択し、表示される「Smooth Follow」を選択する。すると、「Main Camera」に「Smooth Follow(Script)」の項目が追加されるので、「Target」に右端に表示されている「○に・」ボタンをクリックして、「Select Transform」画面から、「unitychan」を選択する(図13)。


図13 「Smooth Follow(Script)」の「Target」に「unitychan」を指定

 歩いて進んでいるのが分かるようにしよう。「UnityChan」フォルダの「Stage」→「Material」内にある、「unitychan tile3.mat」を「Plane」(床)に、上にドラッグ&ドロップする(図14)。


図14 Materialを「Plane」上にドラッグ&ドロップした

 次に、「Plane」の大きさを変更しよう。Hierarchy内の「Plane」を選択し、Inspector内の「Transform」の「Scale」の値を「X」を「70」に、「Y」を「0」に、「Z」を「70」にする(図15)。


図15 「Plane」のサイズを変更した

 プレー画面で実行すると、動画2のようにユニティちゃんが黙々と歩き続ける。

動画2 ユニティちゃんが歩き続ける

 ここで、Unityメニューの「File」→「Save Scene as」と選択して「歩くユニティちゃん」という名前で保存しておこう。

次回は、「パーティクルシステム」について

 今回は、これで終わりだ。3Dキャラクターにジャンプの機能を追加する手順を例にAnimator Controllerの使い方を解説し、「Mecanim Locomotion Starter Kit」をユニティちゃんに適用させてみたが、いかがだっただろうか。このように、「Mecanim」は他の3Dキャラクターにも応用できる便利な機能だ。後の回も読んで使い方を覚えて、いろいろ試してほしいが、次回はいったん「パーティクルシステム」について解説する。

参考文献

■更新履歴

【2016/12/22】Windows 10、Unity 5.4に対応しました。C#のスクリプトを追加しました。


*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***

著者プロフィール

薬師寺 国安(やくしじ くにやす) / 薬師寺国安事務所

薬師寺国安事務所代表。Visual Basicプログラミングと、マイクロソフト系の技術をテーマとした、書籍や記事の執筆を行う。

1950年生まれ。事務系のサラリーマンだった40歳から趣味でプログラミングを始め、1996年より独学でActiveXに取り組む。

1997年に薬師寺聖とコラボレーション・ユニット「PROJECT KySS」を結成。

2003年よりフリーになり、PROJECT KySSの活動に本格的に参加。.NETやRIAに関する書籍や記事を多数執筆する傍ら、受託案件のプログラミングも手掛ける。

Windows Phoneアプリ開発を経て、現在はWindowsストアアプリを多数公開中。

Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。

Microsoft MVP for Development Platforms - Windows Phone Development(Oct 2012-Sep 2013)。

Microsoft MVP for Development Platforms - Client Development(Oct 2013-Sep 2014)。

Microsoft MVP for Development Platforms-Windows Platform Development (Oct 2014-Sep 2015)。


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |