標準で用意されるFirstPersonController(FPSカメラ)を利用する
About
Unityにはゲーム開発で標準的に利用されるであろうスクリプトやプレファブなどのアセットが用意されています。その中の一つである、FirstPersonControllerについてここでは解説します。FirstPersonControllerは、一人称視点ゲームのカメラ機能と操作機能を持っています。キャラクターを用意し、そのキャラクターにカメラを載せて移動させることができます。具体的には、キャラクターは画面上のマウスがある方向を向き、WASDコマンドでキャラクターを移動し、スペースキーでジャンプします。
- Unity_StandardFpsCameraTest.zip
- Unity4.0.1f2
パッケージのインポート手順
まずは"標準的なアセット=StandardAssets"を入手します。[Projectウィンドウ]の[Assetsフォルダ]を右クリックして、展開されたメニューから[ImportPackage]>[CharacterController]を選択して実行します。
するとプロジェクトにインポートするアセットが一覧されたウィンドウが表示されます。ここでは全て選択された初期状態のまま[Import]をクリックしてインポートを実行します。
インポートが完了すると、[Assetsフォルダ]の下に[Standard Assetsフォルダ]が追加され、その下にさらにいくつかのフォルダが追加されていることが確認できます。今回利用するのは[Character Controllersフォルダ]の中にある[FirstPersonControllerプレファブ]です。
インポートの手順やインポートするアセットの内容は、バージョンによって異なる可能性があります。
FirstPersonControllerプレファブの利用
まず適当なステージを作ります。床はPlaneにしておいて、あとは適当な物体を置いておきましょう。やや低めの位置に配置された物体もあるほうが良いです。ジャンプ動作の確認に利用します。
適当なステージが完成したら、[Assetsフォルダ]から[FirstPersonControllerプレファブ]を選択し、ステージ中に配置します。この時、配置する位置を床の上にしておく必要があります。配置した時点で最低限の利用が可能な状態になります。
ゲームの実行と動作の確認
スクリプトの内容まで扱うと解説が長くなるので割愛します。ゲームを実行して、マウスを上下左右に移動し、キャラクターがマウスの方向を向くことを確認してください。移動して、設置した障害物に当たることも確認できます。またスペースキーでジャンプすることによって、低い位置にある障害物の上に着地することも確認できます。
なお床面を設置していない場合には自由落下していきます。またFirstPersonControllerプレファブのカプセルが床にめり込んだ状態であると(物理エンジンの)処理によっては移動できなかったり、開始直後に奈落の底へ落ちて行ってしまうので注意が必要です。