Unity Adventure Creator:一人称視点のプレイヤーキャラクターの作成

Unityのアドベンチャーゲーム制作アセットAdventure Creator を使って、一人称視点のプレイヤーキャラクターの作成をやってみます。

一人称視点のプレイヤーキャラクターの作成する

以前の記事で三人称視点のPlayerプレハブにカメラを追加する形でFirst Personプレイヤーを作成しました。今回は復習も兼ねて何も無いところからFirst Personプレイヤーキャラクターの作成をしてみたいと思います。

手順については、Adventure CreatorのYouTubeチュートリアル動画の内容”Creating a first-person player“の内容を元に進めていきたいと思います。

シーン階層の作成

まずはAdventure Creatorの新規シーン階層を作成します。手順はこちらの記事のとおり。メニュー:Adventure Creator >
Getting Standard > New Game Wizardを選択。プレイヤーの操作方法は”First Person”を選択します。

New Game Wizardを完了したときに新規シーンとシーン階層が作成されている場合はそのまま始めます。シーン階層が無い場合は[AC Game Editor] > [Scene]タブ > Basic structure > Organise room objects: [With folders]ボタンをクリックでOKです。

Playerオブジェクトの作成

まず、[Hierarchy]ウィンドウ > [Create]ボタン > Create Emptyを選択。[Inspector]ウィンドウ > Transformの右側にあるボタンをクリックしてリセット。名前を”Player”に変更。そしてTagを[Player]に変更。Layerを[Ignore Raycast]に変更します。

そのまま[Inspector]ウィンドウ > [Add Component]ボタン > Adventure Creator > Charactars > Playerを選択。追加された[Player (Script)]コンポーネント > [Animation settings: ]パネル > Animation engine: [Mecanim]に変更します。できあがると次のようになります。画像拡大

Playerオブジェクトにカメラを追加

Playerオブジェクトにカメラを追加しましょう。[Hierarchy]ウィンドウ > [Create]ボタン > Cameraを選択。Playerオブジェクトにドラッグして子オブジェクトにします。カメラの位置と高さを調整します。追加したCameraを選択。[Inspector]ウィンドウ >Transform > Position X 0 / Y1.5 / Z 0に設定します。不要なコンポーネントを削除しましょう。[Flare Layer]、[GUI Layer]、[Audio Listenner]コンポーネントの名前の右側にあるボタン > Remove Componentを選択します。

Playerオブジェクトにカメラスクリプトを追加を追加

次に、Adventure Creatorのカメラスクリプトを追加します。[Add Component]ボタン > Adventure Creator > Camera > First Person Cameraを選択。出来上がりは次の通りです。

Playerオブジェクトをプレハブに変換

最後に、[Hierarchy]ウィンドウProject]ウィンドウにドラッグしてプレハブに変換します。先にシーンに配置してあるPlayerオブジェクトは不要なので削除しておきます。それから変換したPlayerプレハブをAdventure Creatorに登録します。[AC Game Editor]ウィンドウ > [Settings]タブ > Charactar settings > Player: フィールドに[project]ウィンドウにあるPlayerプレハブをドラッグして登録します。

ゲームを再生して動作確認

一通り設定が終わったので動作確認してみます。シーンに板を配置して地面の代わりにします。[Hierarchy]ウィンドウ > [Create] > 3D Object > Planeを選択。真っ白な板のままでは移動してもわかりにくいのでUnityのAssets Store から無料のマテリアルをダウンロードします。今回はこちら”Yughues Free Wooden Floor Materials – Nobiax / Yughues“を使用します。

とりあえず、普通っぽいフローリングを貼ってみました。

ここでゲームを再生してみましょう。ん?マウスを移動しても視点の向きが変わらない。しかもいたからはみ出しても墜落しない。設定がまだ抜けているようです。確認しましょう。

公式サイトのチュートリアルの”Setting up a Player prefab for First Person “に入力設定の説明がありました。

メニュー:Edit > Project Settings > Imputを選択。[Inspector]ウィンドウに入力の一覧が表示されます。一覧から”MouseX”と”MouseY”の入力を次の通りに書き換えます。

  • MouseX > Name [CursorHorizontal] / Gravity [1000] / Dead [0.001] / Sensitivity [0.02]
  • MouseY > Name [CursorVertical] / Gravity [1000] / Dead [0.001] / Sensitivity [0.02]

そしてカーソルロックを切り替える入力”ToggleCursor”を追加します。Axis: sizeの値を増やして”20″に変更します。

[Enter]キーを押すと入力リストの一番下にあった”Menu”が複製されて2つ並んでいます。下側の”Menu”の内容を変更しましょう。

  • Name [ToggleCursor]
  • Positive Button [tab]
  • Alt Positive Button [joystick button 19]
  • Gravity [1000]
  • Dead [0.001]
  • Sensitivity [1000]

ではゲームを再生して確認してみましょう。[Tab]キーを押す度にカーソルロックが切り替わり、視点の向きを変えられるようになりました。視点の移動スピードを変えたい場合は、Playerプレハブの[Camera]コンポーネントで調整します。[Project]ウィンドウからPlayerプレハブアイコンの右側にある三角形ボタンをクリック。階層が開いたら”Camera”を選択します。そして[Inspector]ウィンドウ > First Person Camera (Script) > Freelook sensitivity: のフィールド値を変更します。

とりあえずこれでFirst Personプレイヤーキャラクターが操作できるようになりました。まだ当たり判定のコライダーやサウンドのコンポーネントを追加する必要があるようですが。今回はここまでにしたいと思います。

今日のひとこと

画像素材:フリー写真素材ぱくたそ