CEDEC 2016のセッション「UE4 VRのロードマップ」の様子を紹介する。
講師は、Epic GamesのJoe Conely氏
UE4の最近の進捗
エピック社では、自身がコンテンツを制作することでUE4のフレームワークを改善し、最適化している。
以下は、Bullet Tranでの例となる
不可視と可視エリアのメッシュ
不可視のジオメトリをカリングしてメッシュを描画し、適用可能な場所にのみポストプロセスを適用。
不可視エリアのマスクでは、メッシュを使って最終画像で不可視のピクセルをアーリーアウトし、画面外の黒いエリアに何も描画しないようにしている。
可視エリアのマスクでは、メッシュを使って可視ピクセルだけにポストプロセスを適用している。
これらにより、ディファードレンダラでは可視エリアのメッシュで大幅に最適化が実現でき、プラットフォームにより異なるものの、ゲームコンテンツにおいて0.25〜1.0msの短縮を達成している。
カメラのリファクタリング
カメラコンポーネントに直接メッシュやUI等のコンポートをアタッチすることが可能になった。
レイテンシーの改善
レイテンシーは非常に重要なので、GPUのスレッドを作業開始前にカメラ、アタッチメント、モーションコントローラを更新して可能なかぎり迅速に処理するようにしている。
これは、60Hzのプラットフォームでは非常に大きな違いになる。
Instanced Stereo Rendaring
一回のドローコールで左右の目を映像を同時に描画し、CPU及びGPUの時間短縮を実現。現在、PCおよびPSVRで機能しているが、将来的にはモバイルのプラットフォーム有効化する予定である。
マルチ・ビュー
ver 4.13で実装予定の機能で、Instanced Stereo RendaringをPSVRで最適化する機能となっている。
アーリーZパスの改善
アーリーZパスにはメリットもあったが、レンダリングの順番の問題等があり、最大限に活用できていなかったが、動的なメッシュも含むことでDrawスレッドの時間が少し増えたものの、全体的には高速化を実現した。
現在UE4がサポートするプラットフォームはOculus Rift、Steam VR(HTC Viveを含む)、PSVR、OSVR(プレビュー)、Gear VR、Daydream、Leap Motionとなっている。
これらサポートする全プラットフォームは、UE4共通のVRインターフェースを利用していているため、コンテンツを一度作成すると他のものにもデプロイが可能となっている。
ARでは、Project TangoおよびMagic Leapに対応している。
また、新しいVR・ARプラットフォームも対応予定である。
エンジンとフレームワークの機能
ver 4.12では、パフォーマンスの向上のために、ブループリントからC++の自動的な変換機能を実験的ではあるが使用可能で、これは将来的にはさらに改善予定となっている。
プラットフォームからタイミング情報を得るためにフックを追加し、必要時応じてリアルタイムにパフォーマンスを上下にスケーリング可能となる。
これにより、ゲームやシーンに応じて最適なスケーリングが選択可能となる。
VRのバーチャルシーンと実写映像の合成映像を、誰でも簡単に作れる機能をエンジンに追加予定。
また、将来的には映像を直接エンジンにキャプチャする機能もサポート予定。
レンダリング
Bullet Trainの開発では、ディファードレンダラを使用している。
GBufferにあるシーンに関する情報を活用して様々な最適化を図り、エフェクトを工夫して作成することが可能となる。
例えば反射表現は、地面の下に下のモデルの板ポリを配置し、そのシーンの放線をりようして反射に見えるように歪みを加えて実現している。
このように、ディファードレンダラを利用すると視覚的にリッチな体験を作成することが可能だが、すべてのVR体験には必ず該当しないトレードオフも存在する。
レンダラには、ディファードレンダラとフォワードレンダラがあり、それぞれ特徴が異なっていて、メリットもある。
ディファードレンダラは機能が多く便利だが、すべての活用するにはある程度のスキルが必要となる。また、TemporalAAは画像の鮮明さに限界がある。
一方フォワードレンダラは機能を特化したレンダラのため、機能は少ないが高速なレンダリングが可能となる。さらに、MSAAはアンチエイリアシングでは最も鮮明なソリューションなので、画質は非常に良い。
ver 4.13にはForward Shadingがあるが、機能がすべてではないため、もう少し待ったほうよい。
このデスクトップフォワードレンダラは、秋にリリース予定となっている。
VRエディタについて
エピックでは98年以来、常に革新的なゲームコンテンツ制作を追求してきた。
その中でもVRエディタは、エピックとスタンフォード大学の学生との協力の賜物である。
大学には2つのチームがあり、それぞれのチームがVRのコンテンツ編集において異なるアプローチをしていた。
Team KARAAGEでは、Novint Falconや3D CADマウスなどの斬新な入力デバイスを試みていた。
その結果、感触の重要性や斬新な入力デバイスは習得に時間が必要だという知見を得た。
Team JARVISでは、2つのモーションコントローラをつかってスマートフォンのようなインターフェースの再現を重視していた。
このインターフェースは非常に直感的で簡単に習得できることや、UIの制限を対処するために音声制御を試みていた。
VRを作るときにはいくつかの対象ユーザーが存在する。
ゲーム開発者はレベル作成プロセスにおいて、最初と最後の20%はVRHMDとマウス、キーボードを使う為非効率である。そこで、直接VRを使って操作することでインタレーション時間の短縮を目指したい。
プロではないゲームデベロッパーにおいては、VRエディタがあれば直感的なインターフェースにより、3Dツールに慣れていない人でも使いやすい自然な操作が可能となる。
UE4では、VRエディタのプレビュー版をver 4.12から同梱している。
また、実際に使用したユーザーからのフィードバックをできる限り得るために、社内でもVRエディタを使用している。
フィードバックに基づく改善例
つかめる範囲を大きくしたり、オブジェクトを操作するときの配置や回転のスナップの性能を改善といった編集ギズモの改善及び正確さの向上。
ウィジェットインタラクションコンポーネント。3D空間に配置しているUMGやSlateウィジェットと簡単にインタラクションを可能する
VRエディタでは通常の全UIを利用可能だが、専用のUIを使うことでメリットがある他のワークフローもあることを検討している。
例えば、
- アニメーションオンポージング
- クイックレベルスクリプティング
- マテリアルの編集
などだ。
モーションコントローラを使用してフォリッジのをペイント可能にしている。なお。トリガーの圧力検知も利用可能である。
テクスチャとメッシュの頂点にペイントできるようにもなった。
VR上でのカラーピッカーの利用も可能である。
VRに入ったまま、ゲームを開始できるようにすることで、編集モードとプレイモードの切り替えを容易にした。
装着センサを利用し、ボタンやキーボードを押さずにVR編集モードの行き来を可能に。
VR編集モードにおけるフラッシュライトとスクリーンショット機能を追加。
ドキュメントと学習
ドキュメントの追加を積極的に行うことで、UE4はどんどん使いやすくなっている。
プロジェクトで使用可能なVRコンテンツサンプルを用意し、VRで必須の共通タスクを示すことで、すぐに作業を開始できるようにしている。
ターゲットデバイスで実行可能なコンテンツ作成を開始する為の優れたベースとなるテンプレートプロジェクトを用意している。
VRで最適なレンダリングとパフォーマンスの設定があるため、そこからすぐにプロジェクトをビルドできる。
これらを利用し、良いスタートを切ることがVRコンテンツ作成成功の鍵である。
テンプレートやサンプルは、準備が出来次第ver 4.13で提供予定だ。
ドキュメントは、すべての現行デバイス及び左進SDKを反映するよう現在更新作業を行っている。
まとめ
エピックでは、
- 自社でのVRゲーム開発によりUE4の最適化と拡張
- 新しいVR/ARプラットフォームにも積極的に対応
- DeferredかForwerdを自分のプロジェクトで選べる
- VRエディタ等を通じてゲームのさらなる進化を実現
に取り組んでいる。
VRエディタには、今後のVRコンテンツ作成の参入障壁がぐっと下がる可能性を感じる。
また、更なるVRエディタの進化への期待は大きいだろう。
Copyright ©2016 VR Inside All Rights Reserved.