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

» 2016年12月22日 05時00分 公開
[薬師寺国安PROJECT KySS]
前のページへ 1|2       

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

 ジャンプして障害物の上に乗せたいので、障害物「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#のスクリプトを追加しました。


ユニティちゃんライセンス

このコンテンツは、『ユニティちゃんライセンス』で提供されています

著者プロフィール

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

薬師寺国安事務所代表。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)。


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。