Unity実用Tips――衝突判定とCollider、複数Tagの使い方:ゲーム開発初心者のためのUnity入門(13)(2/4 ページ)
Unityで3Dゲームを作るまでのいろいろな処理を解説する連載。今回は、本格的なゲームを作るのに必要となる、衝突判定とCollider、複数Tagの使い方など実用的なテクニックを解説する【Windows 10、Unity 5.4に対応。C#のコードを追加】。
Unityマンの配置とタグなどの設定
まず、Unityマンを配置する。「Project」内の「UnityMaskMan」フォルダの「Prefabs」内にある「UnityMask」をScene画面内にドラッグ&ドロップする。
先ほど設定した「Border」の内側に配置する。Scene画面では「Border」は消えて見えないが、Hierarchyで「Border」を選択すると枠線が表示される。
Unityマンは、足元をきっちりとPlaneに接触するように配置しよう。表示される3方向の「黄色い矢印」で調節するといい。
次に「UnityMask」のInspectorの「Animator」にある、「Controller」に「Locomotion」を設定する。
続いて、「Add Component」ボタンで「Physics」→「Character Controller」と選択し、「Center」の「Y」を「1」に設定する。同じく「Add Component」から「Scripts」→「Locomotion Player」を指定する。
この辺りの詳細な説明は前回解説しているので、参照してほしい。
Scene画面は図7のようになる。
タグの設定
次に、「UnityMask」を選択し、Inspectorの「Tag」の「Untagged」の横にある「上下▲」をクリックする。すると、「Add Tag」の項目があるのでこれをクリックする(図8)。
表示される「Tags & Layers」の、「Tags」にある「List is Empty」の右隅下の「+」アイコンをクリックする(図9)。
すると、「Tag 0」の入力欄が表示されるので、「Player」と入力する(図10)。
再度Hierarchyから「UnityMask」を選択し、Inspector内の「Tag」の「Untagged」の横の「上下▲」をクリックして、「Player」を選択する。「UnityMask」のタグが「Player」となる(図11)。
Animatorの設定
Unityマンがモンスターたちに接触したときに、キックを開始するアニメーションも設定しよう。Animatorの設定については、前回記事の「3Dキャラクターが「蹴る」動作をAnimatorで設定する」を参照してほしい。
モンスターたちの配置とタグなどの設定
次に、モンスターたちをScene上に配置する。
各モンスターは、「Project」の「Assets」→「ENTIGI」→「FantasyMonsterPack」→「Prefabs」内にある、「Orc.prefab」「Orc2.prefab」「Orc3.prefab」をScene画面上にドラッグ&ドロップする。配置すると、このモンスターがかなり巨大であることが分かるので、InspectorからTransformのScaleの値を全て「0.3」に指定しておく。またUnityMaskと向かい合うように、Rotationの「Y」に「180」と指定する。全てのモンスターに、この設定を行う。
「Main Camera」の位置も、Game画面を見ながらUnityMaskとモンスターが表示されるように配置する(図12)。
見えない境界線を挟んで、Unityマンとモンスターが向き合っていることになる。
複雑な形状のオブジェクトにも「Box Collider」が使える
次に、「Hierarchy」から「Ctrl」キーを押しながら、全ての妖怪を選択し、「Inspector」内の「Add Component」ボタンから「Physics」→「Rigidbody」→「Box Collider」を追加する。この「Rigidbody」「Box Collider」を追加していないと、Unityマンが妖怪をキックしても、妖怪は跳ね飛ばされないので、必ず全ての妖怪に追加しておく必要がある。
また「Box Collider」を追加して、「Inspector」内の「Box Collider」の「Size」の「X」「Y」「Z」の位置にマウスを持っていき、マウスカーソルが「←→」に変わった状態で、左右にドラッグして、妖怪がうまく囲まれる程度の大きさにしておく。
「Size」の「Y」が高く取ってあるので、マウスでドラッグして短くし、最後に「Center」の「Y」をマウスで操作して、妖怪が中央にうまく収まるように設定する。
全ての妖怪の「Box Collider」を設定したのが図13だ。
Ork.Controllerを編集する
Projectの「Assets」→「ENTIGI」→「FantasyMonsterPack」→「Animator」内にある、「Ork.Controller」をダブルクリックしてStateやTransitionが表示されている画面を表示する。
真ん中のオレンジのIdleを選択して、Inspectorから名前を「Fighting」とし、「Motion」にも「Fighting」を選択する(図14)。最初に表示されたときに、モンスターはファイティングポーズをとることになる。
タグの設定
次に、各モンスターのタグを設定する。図11のようにUnityマンに「Player」と設定したのと同じ手順で、図10の続きに各モンスターの名前を登録していく(図15)。
ここでHierarchyにある各モンスターを選択してInspectorを表示し、設定した「Tag」に登録した名前を指定する(図16)。図16では一例として「Orc」のタグを設定している。
この他の、「Orc2」、「Orc3」についても同様に「Tag」を選択して指定しておく。これで、各3Dキャラクターの設定は完了だ。
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」を使ったサンプルを紹介する。