Unity Adventure Creatorチュートリアル:シーンの切り替え-Roomシーンの作成

ゲーム開発ツールのUnityを少しづつ勉強中。Unityのアセットストアで購入したアドベンチャーゲーム制作アセットAdventure Creatorの公式サイトに掲載されている英語のチュートリアルを翻訳しながら進行中。

今回はシーンの切り替えのチュートリアルPart1で勉強した内容を実際に作って確認してみたいと思います。

チュートリアル-シーンの切り替え-Roomシーンの作成

原文:Switching scenes

RoomとFieldという2つのシーンを作成してそれぞれシーンを行き来できるようにしてみましょう。

新しいゲームの作成

こちらの手順を参考に新しいゲームの設定ファイルを作成します。メニュー:Adventure Creator > New Game Wizardを選択。今回はポイント&クリックでプレイヤーキャラクターの移動を行います。

Playerキャラクターの設定

プレイヤーキャラクターを設定します。今回もロボットKyleを使用します。[AC Game Editor]ウインドウ > [Settings]タブ:Settings manager > Character settings > Player: にRobot Kyleプレハブを割り当てます。

Roomシーンの作成

ではRoomシーンを作成しましょう。まずはシーン構成を作成。メニュー:File > New Sceneを選択。[AC Game Editor]ウインドウ > [Scene]タブ:Scene manager > Organise room objects: > [With folders]ボタンをクリック。

プリミティブ形状を組み合わせてこんな感じになりました。北側にシーン移動用のドアを付けてあります。

ゲームカメラを配置しましょう。[AC Game Editor]ウインドウ > [Scene]タブ:Scene manager > Scene prefabs > Camera > [GameCamera]ボタンをクリック。部屋の南西の天井近くにカメラを配置。Game Cameraをデフォルトカメラに設定します。[AC Game Editor]ウインドウ > [Scene]タブ:Scene manager > Scene settings > Default camera: フィールドにGameCameraをに割り当てます。

では次にポイント&クリックを実行するためのオブジェクトを用意します。[AC Game Editor]ウインドウ > [Scene]タブ:Scene manager > Scene prefabs > Navigation > [NavMesh]ボタンをクリック。

作成されたNavMeshプレハブの設定をします。[Hierarchy]ウィンドウ > _Navigation > _NavMesh > NavMeshプレハブを選択。[Inspector]ウィンドウ > Mesh Collider > Meshフィールドの右側の◎をクリック。ファイル選択ウィンドウが開いたらPlaneを選択ます。

[Scene]ビューをみると割り当てたPlaneメッシュオブジェクトが垂直になっているので90度回転させましょう。

[AC Game Editor]ウインドウ > [Scene]タブ:Scene manager > Scene settings > Default NavMesh: フィールドに作成したNavMeshプレハブを割り当てます。

ではゲームを実行してナビゲーション機能を確認してみましょう。マウスでクリックした場所に向かってキャラクターが移動します。[Scene]ビューで確認するとクリックした位置とキャラクターの位置の間に青色で移動線が表示されます。

ナビゲーションが機能しない場合
床オブジェクトをPlaneで作成した場合、PlaneとNavMeshが同じ座標に重なっているとクリックしてもキャラクターが移動せず、ナビゲーションが機能しませんでした。その場合はNavMeshのY座標を少し移動するか、PlaneオブジェクトのLayerを”Ignore Raycast”に変更すると解決しました。

最後にカメラがキャラクターの方に向きを変える設定を追加しましょう。
[Hierarchy]ウィンドウ > _Cameras > _GameCameras > GameCameraを選択。[Hierarchy]ウィンドウ > Game Camera (Script)コンポーネント > Spin rotationパネル > Lock?のチェックを外し。Affected by: [Look At Target]に設定。Field of Viewパネル > Lock?のチェックを外します。Field of Viewはキャラクターの位置に合わせてカメラの視野角が変化します。

これで大体Roomシーンの作成が出来上がりました。ここまでできたがったものをWebGLでビルドしてみました。

マウスクリックした場所にキャラクターが移動します。カメラの動きがあると画面全体に動きが出るのでいい感じです。

次回はフィールドシーンを作成を行いたいと思います。