ヒストリア式!UE4によるVR開発の手引き 第1回

はじめまして! ゲームエンジンUnreal Engine 4(以下、UE4)専門のゲームデベロッパー、ヒストリアです。この度はMoguraVRさんでVRの不定期連載を担当させていただくことになりました。VRタイトルでは、現在Steam等で絶賛配信中の「ネコぱらいぶ」や、VR ZONEで稼働していた「アーガイルシフト」の実装を担当させていただき、今現在も数タイトルのVRコンテンツを制作しています。

年末に向けてハードやソフトが続々と発売され、ますます熱を帯びているVRゲーム。それに応じて、VRの開発者も益々増えていることかと思います。VRゲームを制作する方法はいくつかありますが、この連載では多くのVRコンテンツで採用されているゲームエンジン、UE4でVRゲームを制作する方法や、日々進化するUE4のVR新機能の解説をしていきたいと思います。

初回となる今回は、UE4を触ったことのない方に向けた入門編として、UE4のインストールからプロジェクトを作成し、VRで見られるようにするところまでをご紹介します。ハードウェアはOculus Rift / HTC Vive のどちらかを想定しています。

※この記事では既に使用する各ヘッドマウントディスプレイ(HMD)の初期セットアップが完了していることを前提に進めていきます。まだ初期セットアップが済んでいない方は以下のMogura VRの記事を参考に初期セットアップをしてください。

・HTC Vive製品版の初期セットアップ方法 – 開封から体験開始まで
[http://www.moguravr.com/htcvive-setup/]
・Oculus Rift製品版の初期セットアップ方法 – 開封から接続まで
[http://www.moguravr.com/oculusrift-setup-open/]
・Oculus Rift製品版の初期セットアップ方法 – ソフトウェア編
[http://www.moguravr.com/oculusrift-setup-softwear/]

UE4をインストールする前にブループリントの紹介!

UE4をインストールする前に、本連載でも度々使用するUE4の目玉機能 ブループリントビジュアルスクリプティングシステム(以下、ブループリント) をご紹介します。ブループリントは、様々な機能のノード(節)を繋げることで処理を組むことが出来ます。これにより、プログラムを打たなくてもゲームを作ることが出来ます。

image02

プログラマーなしで処理が組める!

ブループリントは、アーティストなどプログラマー以外の職種でもすべての機能を使えるよう設計されており、複雑なことをしなければブループリントのみですべてが完結できるようになっています。そのため、「こんなギミックがあったら面白そう!」というアイディアや、「ここにエフェクトを追加したい!」という要望をプログラマーに頼まずに自分で試してみることが出来ます。

image14

プログラマーにとっても嬉しいブループリント

プログラマーにとっても、ビルドが不要でイテレーションが早い点、アセットとの連携が強力な点、視覚的に実行箇所が分かる点、最初からある程度の機能がノードとして存在している点から、非常に便利なツールです。実際に弊社のプロジェクトでも6~9割はブループリントで実装されており、プロジェクトによっては1行もC++コードを書いていないこともあります。C++との連携もスムーズで、C++を利用してオリジナルのノードを作成することも簡単にできます。

では、ブループリントを押さえたところでUE4のインストールを行っていきます。

Unreal Engine 4のインストール

1) UE4公式ホームページhttps://www.unrealengine.com/jaの右上にあるダウンロードをクリック。
image13

2) アカウント作成画面に必要な項目を入力し、アカウントを作成します。
3) アカウント作成後、ホームページのTOPに戻されますので先程と同様に右上にあるダウンロードをクリック。
ダウンロードページが表示されますので、左側にあるUnreal Engine 4のダウンロードをクリックし、インストーラーをダウンロードします。

image12

4) ダウンロード完了後、インストーラーを起動し指示の通りにインストールを行います。

5) インストール完了後、「Epic Games Launcher」を起動します。

6) 起動後、左上にある「エンジンのインストール」をクリック。

image06

7) インストールオプションが表示されます。
基本はデフォルトのままでのインストールで問題ありません。必要に応じて以下のオプションをインストールしましょう。

・デバッグ用エディタシンボル
C++を含むプロジェクトを利用した際に、エンジンのソースコード内でブレークポイントをかけたり、変数のウォッチが可能になります。ブループリントでは基本役に立たない機能なのでC++を使用し、プログラミングする場合にインストールしましょう。インストールサイズがとても大きいので注意が必要です。

・アートツール
[エンジンのインストールフォルダ]/Epic Games/[エンジンのバージョン]/Engine/Extrasに3dsMax、Mayaのスクリプトがダウンロードされます。

image08

※インストールオプションに関しては、エンジンのインストール完了後でも削除と追加が可能になっています。

a.「Epic Games Launcher」の左メニューからライブラリ→エンジンスロットにある変更したいエンジンバージョンの▼からオプションを選択。
image07

b.インストールオプションが開かれるので編集後適用します。

image11

8) インストール完了後、先程の「エンジンのインストール」だった箇所が「起動」に変わっていますのでここからエンジンを起動させます。

image15

プロジェクトの作成

UE4では1つのゲーム=1つのプロジェクトとなっており、新しいゲームを作るごとに新しいプロジェクトを作ります。
ではプロジェクトの作成手順を見ていきましょう。

1) エンジンを起動するとまず初めにプロジェクトブラウザが開きます。
上のタブから「新規プロジェクト」を選択します。

2) ブループリント/C++とタブが分かれています。「ブループリント」はC++を使用せずにブループリントのみを使用する開発で選択します。「C++」はプログラミング言語であるC++とブループリント両方を使用して開発する場合に選択します。今回は、C++は使用しないのでブループリントを選択します。
image16
3) 先程選択したブループリントタブの下に複数のテンプレート(※)があります。

※テンプレートとは、ゲームのタイプに合わせてすでに基本的な機能が組み込まれてあるアイテムです。テンプレートを使用して作成したプロジェクトは作成直後であってもゲームのアイデアをすぐに実装することが出来ます。開発の開始点としてはとても便利に使用することが出来ます。

今回はVRがテーマなので、複数あるテンプレートの中から「Virtual Reality」テンプレートを選択します。
image10

4) テンプレートのさらに下にプロジェクトの設定項目があります。
左から以下のように選択してください。

・ターゲットハードウェア:デスクトップ/コンソール
デスクトップ/コンソールまたはモバイル/タブレットを選択できます。今回はPCを使用するのでデスクトップ/コンソールを選択しています。

・描画レベル:ハイエンド
ハイエンドまたはローエンドを選択できます。今回は時に指定はないのでデフォルトのハイエンドを選択しています。

・スターターコンテンツの有無:有り
スターターコンテンツは、基本的なテクスチャとマテリアルやメッシュ。パーティクルなど開発に有用なアセットが入っているコンテンツパックです。この記事では使用しませんが、プロジェクトをいじって試してみるときにあったほうが便利なので有りを選択しています。

最後にプロジェクトの保存場所と名前を入力してプロジェクトを作成します。
image05

プロジェクトが作成されると同時にUnreal Editor(以下、エディタ)が起動し、作成したプロジェクトが開きます。

※保存先に指定したフォルダには、プロジェクト名のフォルダが作成されています。
今後はそのフォルダ内にある「プロジェクト名.uproject」もしくは、「Epic Games Launcher」のライブラリ→マイプロジェクトからプロジェクトを開きましょう。

HMDでゲームを確認する

エディタが起動し、プロジェクトが開いたら早速HMDで確認してみましょう。

VRプレビューでゲームを起動する

エディタの上側には大きいアイコンが複数並んでいるメニューがあります。
その中にある「プレイ」からゲームを起動させることが出来ます。「プレイ」にはいくつか種類があり、「プレイ」の横にある▼から選択できます。
今回はVRなので「VRプレビュー」を選択。HMDで確認してみましょう。
image01

起動時に設定されているレベル(※)では、VRテンプレートの説明だけの内容となっているのでHMDで確認しても360度見渡せるだけとなっています。このテンプレートには他に2つのレベルが用意されているのでそれぞれ見てみましょう。

※レベル:UE4ではこのレベル単位でゲームを起動し実行します。レベル上にキャラクターや建物などを配置し、ゲームを制作します。

他のレベルを開いて確認する

エディタ上には「コンテンツブラウザ」というブラウザが開かれています。
このコンテンツブラウザに各ブループリントやメッシュ、マテリアル、レベルなどこのプロジェクトに入っているアセットが表示されます。

image03

・StartupMap
最初にVRで確認したレベルです。他に用意されている2つのマップの操作方法などの簡単な説明があります。
image04

・HMDLocomotionMap
ゲームパッドとHMDの注視点を使用して操作できる機能が組み込まれているレベルです。頭を動かしてマーカーを移動し、Aボタンを押しながら左スティックで方向を決め、Aボタンを離すことでテレポートできます。
image09

・MotionControllerMap
HMDに付属されているモーションコントローラーを使用して操作できる機能が組み込まれているレベルです。タッチパッドまたはスティックでマーカーを操作しテレポート、トリガーでレベルに配置されている青い箱を掴むことが出来ます。
image00

「HMDLocomotionMap」と「MotionControllerMap」を開いてそれぞれVRプレビューで起動し、HMDで実際に操作をしながら確認してみましょう。

一通りUE4のインストールからプロジェクトの作成、VRプレビューでの起動まで駆け足で進んできました。

今回選択したVRテンプレートには初めから、「物を掴む」、「マーカーの位置にテレポートする」などVRでのゲーム制作に使うであろう基本的な機能が既に実装されている状態です。ここを開始点に機能を追加していき自分なりのVRコンテンツを作成していくことになります。

この記事を書いた人

  • ヒストリアアイコン

    カワイ トモヤ

    ゲーム系の専門学校卒業後、ヒストリアに入社した新卒2年目の新人プログラマー。日々、プロジェクトでVRと格闘中。VRに弱い体質ですが、めげずに頑張ります。
    Twitter:https://twitter.com/historia_Inc