Unreal Engine 4.22から「Experimental(実験的機能、いわゆるベータ版)」として実装されたリアルタイムレイトレーシング機能が、ついに今年5月のバージョン4.25から一般的に利用可能な「Production Ready」に昇格され、安定的に使えるようになった。4.22リリース時に有志により開催されたリアルタイムレイトレーシング勉強会「UE4 Ray Tracing Night @ Tokyo」がオンラインイベントとして復活。「UE4 Ray Tracing Night Week」と称して約1週間にわたり、毎日講演動画をオンライン配信し、最終日には講演者全員によるふり返りとQ&Aに対応する生放送が行われた。各講演の概要をお届けする。
TEXT_安藤幸央(エクサ)/ Yukio Ando(EXA CORPORATION)
EDIT_小村仁美 / Hitomi Komura(CGWORLD)
●関連記事
・UE4のレイトレーシング実装が広げる、リアルタイムCGの可能性〜「UE4 Ray Tracing Night @ Tokyo」レポート
<1>8月17日(月):UE4 Ray Tracing イントロダクション ~UE4 Ray Tracing Night Weekを楽しむために~
●講演動画
初日を飾ったのは、Epic Games JapanのDeveloper Relations Lead 篠山範明氏による「UE4 Ray Tracing イントロダクション ~UE4 Ray Tracing Night Weekを楽しむために~」。UE4やレイトレーシングに詳しくない人に向けて概要を解説する約35分の講演だ。UE4のレイトレーシングの強み・弱み、難しさや注意点についての平易な解説と、得手不得手を理解した上でレイトレーシングを効果的に使えるような紹介が行われた。
まず最初にレイトレーシングとは、3D空間でレイ(光線)を飛ばし、その衝突や黄砂などのレイを追跡することでシーンを解析する手法であることなど、ごくごく基礎的なところから解説がなされ、UE4レイトレーシングの最初の一歩として網羅的かつわかりやすい内容であった。
▲レイトレーシングの基本的なしくみ
UE4でリアルタイムレイトレーシングが可能になることで、ゲーム業界からは今までにできなかった表現ができるという期待、映像業界・建築業界からは、これまでの数倍、数百倍の速度で画像を生成できるという期待がもたらされた。主な特徴としては次の5つ。レイトレーシングならではの表現について、従来型の表現との違い、メリット、制限などがわかりやすく解説されている。
●Reflection(反射)
●Shadow(影)
●Global Illumination(大域照明)
●Ambient Occlusion(アンビエントオクルージョン)
●Translucency Refraction(半透明屈折)
また、UE4のGPUレイトレーシングにまつわる3つの課題も紹介された。
●レイトレのための世界の構築する必要がある
●レイの経路の複雑さ(未対応の経路がある)
●ノイズとの戦い、コンテンツに合わせて最適なノイズ対策、デノイザを活用する
UE4を映像制作に用いる場合、UE4.25からBeta版として搭載されているHigh Quality Media Exportという機能が便利に活用できるとのことだ。
<2>8月18日(火):UE4.25のレイトレで出来ること/出来ないこと
●講演動画
●講演資料
2日目は、UE4やSubstance Designer、DirectXなどを幅広く解説するWebサイト「もんしょの巣穴」管理人のもんしょ氏より「UE4.25のレイトレで出来ること/出来ないこと」と題した動画が公開された。内容は昨年の「UE4 Ray Tracing Night @ Tokyo」のアップデートとのこと。
●昨年の講演資料
UE4.25でProduction Readyになり、製品にレイトレが使えるというEpic Gamesのお墨付きを得たと思いきや、実際には波乱万丈な道のりが待ち構えている。UE4.25では、下記のような発表、特徴が紹介された。
●描画可能なオブジェクトが増えた。World Position Offsetへの対応
●既知の不具合がいくつか修正され、挙動の見直しによる高速化が図られている
●レイトレ描画のためのテクニックは前バージョンから特に変わりはない
●NVIDIA RTX/GTXシリーズのみならずAMD RDNA2への対応も発表
●新ゲームコンソールPS5とXbox Series Xが対応を発表
▲レイトレを使った半透明のガラス表現が可能となった
<3>8月19日(水):UE4 Ray Tracingによるリアルタイムコンテンツ制作
●講演動画
3日目に登場したのはEpic Games Japan Developer Relations Tech Artistsの小林浩之氏。UE4のレイトレーシング機能は実際どうなのか?ということで、AO(アンビエントオクルージョン)、GI(グローバルイルミネーション)、Sky Light(天空光)、Reflection(反射)、Translucency(半透明)といった機能をできるだけ使い、4K60fpsの映像制作における品質、パフォーマンス、ノイズについて検証した内容が紹介された。
▲動き続ける列車と動的ライティングのテスト
検証結果をまとめると、以下の通り。
●AO(アンビエントオクルージョン): クオリティ、パフォーマンスとも優秀。リアルタイムコンテンツに使えるレベル
●GI(グローバルイルミネーション):速い動きに弱い。デノイザの調整でリアルタイムも可能
●Sky Light(天空光):シャドウ関連の問題に注意。速い動きに弱いがデノイザの調整で改善
●Translucency(半透明):正確には映らない部分を把握しておく。広い面積で利用するには厳しい
▲すりガラスのような柔らかい透明表現のクラゲの作例
レイトレーシングを活用してコンテンツを制作するメリットは、以下のような点にあるという。
●ライティングの動的変化に追従できること
●反射やライティングの物理的な正確さ
●イテレーションの速さ。ベイク不要なので、モデル作成からライティングまでの試行錯誤がかなり素早くできる
一方デメリットとしては、処理負荷、未対応な部分があること、動きがあるとノイズが増えることなどが挙げられるとのこと。
次ページ:
<4>8月20日(木):映像勢のためのUE4レイトレ2020
<4>8月20日(木):映像勢のためのUE4レイトレ2020
●講演動画
●講演資料
4日目に登場したコンノヒロム氏は2020年1月に開催された「UE4ぷちコン映像編」で大賞を受賞、そのほかCinema 4Dを用いてUE4で使うEpic Skelton互換キャラクタをセットアップするテンプレートを公開している。
▲【UE4ぷちコン 映像編 応募作品】SEEKING SUNRISE
▲C4D Character Templete for UE4 Epic Skeleton
今回の検証では、なぜ映像制作にUE4を用い、なぜレイトレを使うのか? UE4レイトレーシングのメリットやデメリットの紹介のほか、RTGI(リアルタイムグローバルイルミネーション)を使いこなすためのノウハウ、動画書き出し機能であるHigh Quality Media Exportが紹介された。
UE4を映像制作に用いるメリットは、高速にワークフローを回せること、コストパフォーマンスが良くお金と時間を節約できることにあるという。そして無理にレイトレーシングを使わずに「ラスターに戻す勇気」と無理にでも「レイトレを貫く度胸」の両方が大切だとのこと。High Quality Media Export機能によって旧来のRender Movie出力では不可能だった高画質設定で出力が可能になった。
▲High Quality Media Export機能。リアルタイム画面とは別に独立した設定ができ、プリセット保存が便利
<5>8月21日(金):レイトレーシングが変える? UE4でのシーンデザイン
●講演動画
●講演資料
5日目はFramesの真茅健一氏だ。真茅氏はバージョン4.22の際の検証をベースとし、4.25に一部アップデートした内容で建築ビジュアライゼーションでUE4レイトレーシングを活用する際の工夫や落とし穴、それらの回避策を仔細に説明した。
●検証のために制作したデモ映像
動画の最後にはおまけとして、レイトレーシングシャドウを使った影絵表現が紹介され、その制作テクニックは最終日のQ&Aで言及された。
▲レイトレーシングシャドウを使った影絵表現
<6>8月24日(月):UE4 Ray Tracing Night Week ポストモーテム
最終日には発表者全員がビデオ会議に集まり、視聴者からの質問に答え、全体を振り返るポストモーテムが開催された。以下質疑応答の一部を紹介する。
●講演動画
▲UE4 Ray Tracing Night Week 講演者の皆さん
エンジニア系の質問
Q. UE4で開発しパッケージングしたゲームで、ゲーム内でレイトレーシングのON/OFFは可能ですか?
A. ひとつひとつのエフェクトのON/OFF、リフレクションを切り替えるのは可能。レイトレーシング関連を一括起動後に動的にON/OFFはできない。レイトレーシング機能のないGPUの場合は、使えないが動きはする。レイトレーシングON用のパッケージ、OFF用のパッケージを作り分ける必要はない。「UE4で .iniファイルの設定をコマンド引数で上書きする方法」という記事が参考になる(篠山氏)。
Q. レイトレーシングで作成したシーンをWeb版VRで公開したいのですが、可能でしょうか?
A. WebVRというブラウザ上でのVR表現ができるが、現状のWebVRの機能でレイトレーシングは難しい。UE4のサーバ側でレンダリングした画像をブラウザで表示するPixel Streamingの機能があるが、VRは常に視点が動いており速いフレームレートが必要なので実際のところは難しい。
Q. レイトレーシンググローバルイルミネーションのファイナルギャザーは一次反射しかとれないのはなぜですか?
A. ファイナルギャザーのアルゴリズム上、各サンプリング点がライトから受ける直接光成分を計算することで計算が速くなっているため、2次反射を取得することはできない。将来的にどうなるかは不明。
Q. Hybrid Translucency の使い方は?
A. NVIDIAがgithubでUE4の技術的な検証をしているRTXブランチが公開されており、それをビルドする必要あり。『Deliver Us The Moon』というゲームではこのHybrid Translucencyの機能が使われている。
・NVIDIA RTX-Dev for Unreal Engine 4
docs.nvidia.com/rtx-dev-ue4/intro-relnotes/
アーティスト系の質問
Q. 真茅氏の影絵表現のメイキングについて
A. 変わったことはやっておらず、投影面にTwo Sided Foliage シェーディングモデルのマテリアルを使って、キャストシャドウがONのままでは、こういった透けた感じの絵が出ないので、投影面のキャストシャドウをOFFにし、レイトレーシングっぽい影のボケが表現できた。
▲投影面の後ろの様子
Q. アセット制作の際、見えない壁や面も作成した方が良い? 透過が関係するモデルだけきちんと作る必要がある?
A. 現状、内観を作るときは、レイトレーシングの全機能を使うのではなく、リフレクション、シャドウ、AOを使うくらい。構成要素に反射するものが多いとき、クルマのように映り込みが多く反射が重要になる場合は見えていない面もきっちり作るのが良い。例えばガラスが二重になっているペアガラスでは、そこまで正直に作ると不必要に計算が重くなり、映り込みが四重になるので制御も難しい。ある程度妥協した方が良い結果が出る可能性が高い。ベイクを併用する場合は、カメラから見えないところも作っておかないと正しく計算できないので注意が必要。
Q. Temporal Samplingによるモーションブラーを綺麗に出すためには Post Process Volumeのモーションブラーも用いなければいけませんか?
A. 綺麗なブラーのためにはポストプロセスのブラーを使うのが良いが、使わずとも32サンプルくらいだと綺麗にボケる。4Kや8Kなど高解像度のレンダリングの場合、ポストプロセスに制限が出ることがあるので、状況に応じて使い分けるのが良い。
今回のUE4 Ray Tracing Night Week全体のまとめとして、「綺麗な画像を作るにはTemporal Sample Countを増やすと良い」という話で締めくくられた。UE4では細かいオプションをいじらなくても、Temporal Sample Countを増やすだけでどんどん画が綺麗になっていく。レンダリング時間が許容できない長さになってから、いろいろとパラメータを調整しはじめると良いのだという。オフラインのレンダラでパラメータを調整すると、その後どれくらいレンダリング時間が増加するのか読めないが、UE4でサンプルカウントを増やすだけなら時間が倍々になるだけなので、レンダリング時間は長くなるが、トータルのレンダリング時間を予測しやすいというメリットはある、と語られた。