Unityでキャラにこっちを見てほしい(Head Look Controller編)
2016年04月19日
なぜか五七五タイトル。
Head Look ControllerというUnity公式アセットを使って、キャラクターの頭を上半身ごといろんな方向に振り向かせることができます。
簡単に説明すると、キャラクターにHead Look Controllerコンポーネントをセットアップして、コンポーネントのTargetに座標をセットすると、キャラクターがその方向を向くようになっています。
TargetにVRのカメラの座標を毎フレーム設定すれば、キャラクターがこちらをずっと見てくれるようになります。とりあえず、サンプルシーンを簡単に改造してみましょう。
VR向けのプロジェクトの作成
まずVR向けのプロジェクトを作成します。
(HTC Viveの場合)
- Unity 5.3.xで新規プロジェクトを作成
- Asset StoreからSteamVR Pluginをインポート、Accept Allをクリック
詳しくはUnity+HTC Vive開発メモを参照してください。
(Oculus Riftの場合)
Unity+Oculus Rift開発メモを参照してください。
サンプルシーンの改造
Head Look ControllerアセットにHead Look Testというサンプルシーンが含まれています。キャラクターがマウスでポイントした方向を向くようになっていますが、これを、VRでこっちを向いてくれるように改造します。以下の手順に従ってください。
- Head Look Controllerをインポート
- Head Look Controller/Head Look Testシーンを開く
- (HTC Viveの場合)Main Cameraを無効化してSteamVR/Prefabs/[CameraRig]をシーンに配置
- シーンのTarget Sphereを削除または無効化(マウスで向きを指定するためのオブジェクトです)
- Target.csという名前で以下のスクリプトを作って、
(HTC Viveの場合)[CameraRig]/Camera (head)
(Oculus Riftの場合)Main Camera
にアタッチ
using UnityEngine;
public class Target : MonoBehaviour
{
public HeadLookController controller;
void LateUpdate()
{
controller.target = transform.position;
}
}
- 最後にTargetコンポーネントのControllerにHumanを割り当て
これでとりあえずこちらを向いてくれるようになったと思います。
キャラクターにHead Look Controllerをセットアップする
φ(..)メモメモ中
なお、Head Look ControllerのパラメータについてはSomeluさんのエントリが詳しいです。
HTC Viveのルームスケールトラッキングだと、キャラクターの周りを歩いて回れたりするので楽しいですね。妄想……もとい夢が膨らみます。
(書いた人: こりん )
ブログトップへ