Unityで動きのアニメーションを簡単に付けられるMecanimの基本的な使い方:ゲーム開発初心者のためのUnity入門(6)(3/3 ページ)
Unityで3Dゲームを作るまでのいろいろな処理を解説する連載。今回は、Mecanimとスターター(初心者向け)キットの概要を紹介し、3Dキャラに「移動」の動きを付けたり、障害物で進めなくさせたりする方法などを解説する【Windows 10、Unity 5.4に対応】。
障害物を配置してMecanimの機能で進めなくさせる
障害物としてHierarchyの「Create」→「3D Object」→「Cube」と選択する。「Inspector」内の名前を「Obstacle」としておく。
図13のトランスフォームツールの赤の矩形で囲った「スケールツール」のアイコンで、Cubeオブジェクト(Obstacle)のサイズを適当なサイズにしておく。位置は左から2番目のいつも使用している移動アイコンで指定するといい。
障害物も白色なので「floor」と区別しにくい。そのため、「Project」内の「Locomotion Setup」フォルダの「Material」の中にある、好きなマテリアルを「Obstacle」にドラッグ&ドロップするといい。ついでに「floor」にも適当な「Material」をドラッグ&ドロップした(図14)。
この状態で、プレー画面で実行すると、動画3のように3Dキャラクターが、幽霊のように障害物をすり抜けてしまう。
これではマズいので、障害物に当たると前に進めなくする必要がある。この「Mecanim Locomotion Starter Kit」には、そのコントローラーもすでに用意されているのだ!
Hierarchyから「DefaultAvatar」を選択し、「Inspector」内の「Add Component」をクリックする。表示されるリストから「Physics」を選択する。「Character Controller」が表示されるので、これを選択する(図15)。
すると、「DefaultAvatar」の「Inspector」内に「Character Controller」が追加される。その中の「Center」の「Y」の値を「1」に設定する(図16)。こうすると、当たり判定が3Dキャラクターの中心に設定される。
では、この状態でプレー画面を実行してみよう。動画4のように障害物の前では先に進めなくなる。
最後に、この「Scene」をUnityメニューの「File」→「Save Scene as」から「LocomotionScene」という名前で保存しておこう。
3Dキャラが落下したときの処理を追加してみよう
以上で、今回は終わりだ。3Dキャラクターがステージから落下したときの処理は追加していない。前回記事の「アウトエリア(落下領域)の設定」以降を参考に、読者の皆さんで実装してほしい。全く同じ作業と、同じスクリプトがそのまま利用できる。
次回は、さらにMecanimの機能を紹介する。3Dキャラクターにジャンプの機能を追加してみよう。また、「ユニティちゃん」をウォーキングさせる処理も解説する。「Mecanim Locomotion Starter Kit」は、いろいろな3Dキャラクターに応用が効くので、その一例として紹介しておく。お楽しみに。
参考文献
- 『Unity4入門 最新開発環境による簡単3Dゲーム制作』(SBクリエイティブ刊)
■更新履歴
【2016/12/15】Windows 10、Unity 5.4に対応しました
著者プロフィール
薬師寺 国安(やくしじ くにやす) / 薬師寺国安事務所
薬師寺国安事務所代表。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.
関連記事
- Gear VRとは――UnityでAndroidアプリを開発するための環境構築
HMDの中でも比較的扱いやすいGear VRで体験できるVR/ARコンテンツをUnityで開発する方法を紹介する連載。初回は、Unityや、Androidアプリを開発するのに必要なAndroid Studioをインストールして、Gear VRコンテンツの開発環境を構築する。 - HoloLens用Unity 5のプロジェクトをUWPとして書き出しエミュレータで動かす
拡張現実(AR)用ヘッドマウントディスプレイ「HoloLens」のエミュレーターを使ってHoloLens用アプリの作り方を解説する本連載。今回は、HoloLens用Unity 5で簡単なUnityプロジェクトを作成し、それをUWPに書き出してHoloLens Emulatorに配置する方法について。 - UnityでWebカメラの画像をリアルタイムで複数テクスチャとして表示する&Kinectセンサーと連動させる
ゲーム開発環境Unity 5の「Personal Edition」では、Unity 4.6以前では有料だった機能が無料で使えるようになった。本連載では、Unity 5で無料になった機能の使い方について解説していく。初回はWebカメラと、「Kinect for Windows v2」を使ったサンプルを紹介する。