Home » Unreal Engine 4で高品質なVRコンテンツを作る秘訣【前編】


テック 2016.07.21

Unreal Engine 4で高品質なVRコンテンツを作る秘訣【前編】

Unityと並びVRコンテンツの制作に使用されているゲームエンジンUnreal Engine 4(UE4)。7月15日に開催された『Game Tools & Middleware Forum 2016 Tokyo(GTMF)』では、UE4で高品質な作品を作るためのヒントを提供する講演として「Unreal Engine 4で高品質なVRコンテンツを制作するために知っておきたい100のテクニック」と「Unreal Engine 4を利用した先進的なゲーム制作手法 The Unreal Way 2016」の2つが開かれました。今回は、これら講演で共有された知見を紹介します。

GTMF UE4

UE4で高品質な作品を作るためのテクニックとして「知っておきたい100のテクニック」

UE4は現在、『エースコンバット7』、『サマーレッスン』、『サイバーダンガンロンパVR』等のVRタイトルの制作に使われています。

本講演では、エピック・ゲームズ・ジャパン サポート・マネージャーの下田 純也氏が、高品質のVRコンテンツを生み出すための手法について紹介しました。

そもそもなぜ、映像クオリティと体験の質を上げるのか

GTMF UE4

下田氏は「VRが産業として成り立つものにしたい。VRで継続的にお金が得られるようなレベルにしたい」と考えており、「産業として成り立つためには、継続してお金を得るシステムを構築する必要がある。そのためには映像クオリティの向上体験の質の向上が必要だ」と説明。映像クオリティの向上という点では、一般ユーザーがお金を出しても良いと思えるような、現実と見粉うほどの映像クオリティが必要と考えているとのこと。

また、体験の質の向上という観点からは、VR酔いの発生しない設計を行い、かつお金を払っても良いと思える程度のプレイ時間の長さが必要と説明しました。

Epic Games がこれまで開発してきたデモから得られたもの

エピック・ゲームズは、これまでに多くのハイクオリティなVR用デモをイベント等で展示、配信してきました。下田氏は今回の講演で、『Couch Knights』、『Vehicle Game』、『Showdown』、『Bullet Train』といった作品群で得られたVRコンテンツ開発における気付きを紹介しました。

『Couch Knights』では「酔いを防ぐ」

GTMF UE4

『Couch Knights』は、2014年3月にゲーム開発者会議GDC(Game Developers Conference )にてOculus Rift DK2向けのサンプルコンテンツとして公開されたもので、自分はソファに座っているという設定で、テーブルにいる小さなキャラクターを操作するといった内容です。ネットワーク対戦を行うことも出来ます。

『Couch Knights』の開発においては「酔いを防ぐ」ということが重要視されています。Oculus Rift DK1向けにUE4のコンテンツをVR化を試みたところ、酔いやすいコンテンツが多かったことが背景です。下田氏は、VRコンテンツを体験するときに酔ってしまう原因を以下のように挙げました。

・DK1の時代ではヘッドトラッキングが効かないので、実際の頭の動きと映像との間に大きな差異があった
・フレームレート(最大60Hz)も低く、DK1装着者の頭の動きへの反応も遅かった
・現実の身体は動いていないのに、映像側が動いているように感じてしまうこと(いわゆるベクションという現象)。ベクションやそれに類する感覚の不一致がVR酔いを引き起こす要因になっていた

こういった反省を踏まえて、Couch KnightsデモをDK2向けに開発しました。

GTMF UE4

『Couch Knights』の制作過程で得られた気づき
・DK2以降のヘッドトラッキングでは、頭の動きと映像が一致するようになり、酔いを抑えることができた。しかし、フレームレートが遅くなったり遅延が発生すると酔いの原因となるので、高フレームを維持する設計が必要
・上記の写真のように、ゲーム内のキャラクターが座っていることと体験者自身が座っているということの体勢の一致により酔いが発生しにくくなる
・(関連して)体験者の身体をゲーム内で見せることにより、実際にその世界にいる感覚を得ることができるようになる
・1人称視点の場合、視点だけ動くと違和感があるので、頭や体の位置もVRデバイスの位置と合わせて動かす必要があり、位置が追随しないと違和感が発生する
・本作の制作までは、VRを生かしたゲームプレイは1人称視点のゲームが多かったが、プレイヤ―の主観視点ではない3人称視点のゲームも楽しめることがわかった
・マルチプレイヤーの対戦はVRでも楽しめるが、同一PCに複数のVRHMDを接続するのは難しいため、必然的にネットワークプレイが前提となる

『Vehicle Game』のVR化では「動かしたいときの酔い防止」

GTMF UE4

『Vehicle Game』は、UE4用のデモとしてユーザーであれば無料でダウンロードできるゲームです。バギーで荒野を走る3人称視点のレースゲームになっています。下田氏は、このゲームをVR化してみたとのこと。DK2向けに移植をした際には”酔う”という意見が多く寄せられたため、酔わないコンテンツにするにはどうしたらいいかと分析を行いました。下田氏は、Vehicle GameのVR化で酔う要因は主に以下の通りだと分析しています。

・プレイヤーは座ってプレイしているのに、バギーカーの激しい揺れによる身体感覚との差異でベクションが発生
・レースゲームという性質上、バウンドや上下左右の回転、ブレなどの激しい車の挙動

以上の点を踏まえて行った酔い対策が下記となります。

・上下のバウンドや左右の振動、回転、ブレを抑える。実際のレースで撮影に使用されているようなステディカムやジンバル、スタビライザー等の機能を使用する必要があるため、UE4のSpringArmというコンポーネントを挟んでプロパティ調整を行った。しかし、この施策だけではまだ酔いが発生する。
・自分が座っているのに、見ている世界が回転してしまうことによるベクションを抑えるために、上下左右の回転を起こさず、シーンを水平に保つ。プレイヤーが座っている感覚と視界の移動を近づけると、かなり酔いを抑えることができた。ただし、アーケードやイベント展示等で可動筐体等が使える場合には、上下左右の回転を抑える必要がない場合もある

『Showdown』から得られた高品質なVR体験へのヒント

GTMF UE4

『Showdown』は2014年9月にOculus Connectにて公開されたもの。Oculus Rift製品版プロトタイプに対応させ、まるで本物のような近未来的な市街戦と非現実的なスローモーションの世界を体験することができる2分程度のシネマティック体験です。このデモで得られた知見はこちら。

・酔いを低減するためのスローモーション移動や、一定速度で進む等速直線運動、そして高フレームレートを維持することで、ヘッドトラッキングから実映像までの遅延を極限まで減らす設計を行って酔いを軽減
・スローモーションの世界を作ることで、非現実な体験をユーザーに与えることができたという点と、スローモーションであるため作りこむ世界の範囲が狭く、その分高品質のモデルをじっくり見ることが可能に
・高品質かつ高パフォーマンスを実現するために、様々なフェイク表現を使用。しっかりとした影をつくろうとするとバッファを切り替えたりサンプリングの際にとても重くなってしまうので、キャラクターの足元に写る影や車の影は、ぼんやりとした丸影で表現している
・「Parallax Mapping」という一枚板で奥行きを表現できる技法を使っており、建物の窓から中を覗いた風景のレンダリングにテクスチャを何枚も使用せず、一枚で表現することではるかに軽い設計に。また、弾痕や爆発による穴も一枚の板で表現できる仕組みを取り入れており、穴が開いているレンダリングを一枚で済ませている。
・今までの爆発表現は何枚もの板ポリを使って表現をしていたが、VRでやってしまうと立体感がなくなってしまうため、エフェクトを立体的に作ることで回避

(参考記事)
EpicGames、弾丸が頬を切るハイクオリティなVRデモ『Showdown』の配信を開始

Bullet Traiデモから得られた「手をVRで動かす体験の演出」

GTMF UE4

2015年9月にOculus Contect2にて公開されたOculus Touch対応コンテンツ。銃を拾いながら、迫りくる敵を倒していくFPSです。Bullet Trainから得られた内容は以下の通りとなっています。

・酔いをなくすために、基本的には定点で戦うような設計にして、移動によるベクションを回避した。移動するにはテレポートを使っての移動となるが、いきなりテレポートすると違和感が発生するため、画面をホワイトアウト・ホワイトインを挟むことでテレポートしている感じを演出した
・銃を持って戦うため、手を表示する必要があった。国や地域によって肌の色や質感が異なるため、肌の違和感をなくすために腕を青い半透明にする演出を行った。
・今までの画面のレンダリングだと、左目と右目、それぞれの画面用にレンダリングを行っていたが、それだと同時に2回のレンダリングを行うという無駄が発生するため、Instanced Stereo Renderingという機能を使って両目に映る同じオブジェクトを同時にレンダリングすることで速度を稼ぐことに成功
・床に様々な写りこみがあるが、これもフェイク表現を使っており、あらかじめ用意されていたテクスチャから合うテクスチャを選んで貼っているようにしている
・複数マテリアルからマテリアルをベイクすることで軽量化
・手でオブジェクトをつかむ範囲が人によってかなり差があり、うまく物がつかめないとストレスになってしまう。その回避策として、掴める奥行きはかなり広くして、掴める状態になったオブジェクトに対してハイライトで光らせる等の効果を付けることで、掴めるかどうかを分かりやすく工夫した

(参考記事)
体験レポ】Oculus Touchで体験したこれまでで最も楽しい銃撃戦。VRFPS『Bullet Train』


VR/AR/VTuber専門メディア「Mogura」が今注目するキーワード