UnityでGameObjectのPrefab化、動的インスタンス生成&物理演算エンジンRigidbodyを使う基本:ゲーム開発初心者のためのUnity入門(12)(4/6 ページ)
Unityで3Dゲームを作るまでのいろいろな処理を解説する連載。今回は、引数で指定したゲームオブジェクトのインスタンスを作成する「Instantiate」関数や、物理演算エンジンRigidbodyの基本的な使い方を解説する【Windows 10、Unity 5.4に対応。C#のコードを追加】。
3Dキャラクターに当たり判定を付ける
Hierarchyから「UnityMan」を選択し、Inspectorの「Add Component」ボタンをクリックし、「Physics」→「Character Controller」と選択する。Inspector内に「Character Controller」が追加される。「Center」の「Y」の値を「1」に指定する。これは当たり判定をする箇所で、ここが「0」のままだと、3DキャラクターがCubeなどの障害物をすり抜けてしまう。必ず「1」に設定しておこう。
設定するとScene画面上の3Dキャラクターが薄緑色の円柱形で囲まれる(図15)。
3Dキャラクターに「Locomotion Player」のスクリプトとRigidbodyを追加
次に、再度「Add Component」ボタンをクリックして、「Scripts」→「Locomotion Player」と選択する。Inspector内に「Locomotion Player」のスクリプトが追加される(図16)。
最後に、「Add Component」ボタンから「Physics」→「Rigidbody」を選択しておこう。全て設定したUnityManのInspectorは図17のようになる。
ここでいったん実行して3Dキャラクターの動きを確認
これだけの設定で、もう3Dキャラクターは動き回ることができる。実行した動画が動画2だ。
動画2を見ると分かるが、3Dキャラクターが画面から外れてしまうことがある。これはカメラが3Dキャラクターを追従していないために発生する現象だ。インポートした「Mecanim Locomotion Starter Kit」で3Dキャラクターを追従させよう。
上空からの視点でカメラの追従設定
Hierarchyから「Main Camera」を選択し、「Add Component」をクリックして「Camera-Control」→「Smooth Follow」と選択する。すると、Inspector内に「Smooth Follow」のScriptが追加される。「Target」の右隅にある「○に・」アイコンをクリックして、表示される「Select Transform」の画面から、「Scene」タブ内の「UnityMan」を指定する。
項目が多くて探しにくい場合は、一番上にある検索欄に「Unity」と入力するとUnityManが表示される(図18)。
「Smooth Follow」の中の「Distance」と「Height」には、カメラの「距離」や「高さ」を指定できる。今回は「Distance」に「4」、「Height」に「3」と指定してみた。各自がいろいろ値を変更してどのように表示されるか確認してほしい。
「Smooth Follow」を設定して実行したのが動画3になる。
ちゃんとカメラが3Dキャラクターを追い掛けている。
スペースキーで無数のCubeの落下を確認
今回のサンプルでは、「スペース」キーを押すと上空からCubeが落下してくることになっている。UnityManを配置した状態で、実際に「スペース」キーを押すとCubeが落ちてくるかを確認してみる。
動画4のようになる。
まだCubeが降ってくるだけで、Cubeと3Dキャラクターが接触しても何も発生しない。接触した場合に、3Dキャラクターが「Cube」を蹴散らす処理を作っていく。
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」を使ったサンプルを紹介する。