Luminous Productionsは、自社ゲーム開発エンジンであるLuminous Engineの次世代ゲーム向け機能強化の一環として、CEDEC2019にて技術デモ『BackStage』を発表した。NVIDIAのコンシューマ向けグラフィックボードGeForce RTX 2080 Tiを使いリアルタイムパストレーシングによる描画に挑戦した本プロジェクトの全貌を解き明かす。

<Luminous Productionsの求人情報>
『FFXV』で築いた資産を次世代につなげる開発者を募集

※本記事は月刊『CGWORLD + digital video』vol. 259(2020年3月号)掲載の「Luminous Engineが挑戦するリアルタイムパストレーシング 技術デモ『BackStage』」に加筆したものです。

TEXT_澤田友明 / Tomoaki Sawada(コロッサス Rスタジオ)
EDIT_尾形美幸 / Miyuki Ogata(CGWORLD)
PHOTO_弘田 充 / Mitsuru Hirota

▲Luminous Engine技術デモ『BackStage』


▲CEDEC2019のセッション「ルミナス・エンジンへのリアルタイムレイトレーシング実装事例の紹介」の記録映像(約59分)。登壇者は竹重雅也氏(NVIDIA)と荒牧岳志氏(Luminous Productions)

Turingアーキテクチャによる、リアルタイムパストレーシングの実現

イギリスの天才数学者アラン・チューリングの名に由来するTuringアーキテクチャを搭載したNVIDIAの第8世代GPUの登場により、世の中は一気にリアルタイムレイトレーシングに沸いた。Turingアーキテクチャは、レイトレーシング演算を加速させるRTコアと、AIに対応したTensorコアを組み合わせることで、フォトリアル描画に欠かせないレイトレーシングによる物理的に正確な光の反射や影を、リアルタイムに計算し表現することを可能にした。

これまで、ゲームやVRなどのリアルタイム表現の世界では、フォトリアル描画を行いたくてもレイトレーシング演算を使用できず、スクリーンスペースによる反射表現や、ラスタライズをベースとした屈折表現、シャドウマップによるぼかした影など、およそ物理的に正確ではない手法で表現せざるをえなかったのだが、Turingアーキテクチャの登場により、物理的に正確なフォトリアル描画が一気に現実的なものになると期待が膨らんだ。

あの興奮から1年以上が経過した今、現実はどうかというと、ゲームの世界では一部にリアルタイムレイトレーシング演算を使ったハイブリッド表現のタイトルがいくつかあるだけで、全てがレイトレーシングになったわけではなかった。オフラインレンダリング(プリレンダー)の世界でも、RTコアを使ったGPUレンダラが登場しているが、1枚の画像を計算するのに数秒から数十秒かかっている。

このように少々沈滞した雰囲気がある中、果敢にリアルタイムレイトレーシングを超えたリアルタイムパストレーシングに挑戦しているプロジェクトがある。それがLuminous Productionsの内製ゲームエンジンであるLuminous Engineと、これを用いた技術デモ『BackStage』だ。本記事ではプロジェクトの中核メンバーへの取材を通して、その真髄を掘り下げてみたい。

▲左から、アートデパートメントディレクター・黒坂一隆氏、プログラマー・増野健人氏、プログラマー・坂本良太氏(以上、Luminous Productions)

制作活動に集中できるアーティストフレンドリーな設計

『BackStage』は、そのタイトルが示す通り、ほの暗いバックステージの鏡の前でひとりの女優がメイクをしている様子を描いている。今までの常識なら、このような映像はプリレンダーで計算されることが当たり前だったが、本作はGPUでリアルタイムに動作するエンジンによってつくられている。

▲『BackStage』の作中ショット


この驚異的な映像を生み出したLuminous Engineは、インハウスプログラムにありがちなプログラマー目線のUIではなく、全画面がGPUで描かれたビューアとなっており、その上にアーティストが必要とする最小限のパラメータウインドウを透過表示する設計となっている。これにより、最先端のプログラムでありながらも、マニュアルを見ないと理解できないような多量のアイコン群に囲まれた古い設計のUIとは一線を画す、使い勝手の良さを実現している。

▲Luminous EngineのUI。アートデパートメントディレクターの黒坂一隆氏らの要望を踏まえ、プログラマーの増野健人氏や坂本良太氏らがパラメータウインドウを改良していった。ビューア上に半透明でオーバーレイされるウインドウを使い、各種設定のON/OFFの切り替えが可能だ


▲インタビューの席にて、筆者もLuminous Engineを体験させてもらった


© Luminous Productions Co., Ltd.

次ページ:
設計思想はアーティストのクリエイティビティ回復

[[SplitPage]]

設計思想はアーティストのクリエイティビティ回復

この先進的なUIを使い、プリレンダーでしか行えなかった表現をリアルタイムに描画できるLuminous Engineの設計思想が意味するところは、アーティストのクリエイティビティ回復である。例えば、従来のゲームエンジンでフォトリアルなルックを表現するためには様々な裏技を使わなければならず、モデリング、マテリアル、レイアウト、ライティングなどの各工程で、特殊な仕込みが必要だった。Luminous Engineでは本来必要なもの(キャラクター、背景、マテリアル、ライト)を用意すれば、後はエンジン側がリアルタイムに描画してくれるため、アーティストに余計な負担がかからず、制作活動に集中できる。

▲【上】リアルタイムパストレーシングによる鏡の反射をONにした状態/【下】OFFにした状態


▲【上】同じく眼の屈折表現をONにした状態/【下】OFFにした状態


▲【上】同じく耳のサブサーフェス・スキャタリング(SSS)をONにした状態/【下】OFFにした状態


加えて、現在デファクトレンダラとなっているArnoldとの互換性をもたせている点は、Luminous Engineを初めて使うアーティストにとって、この上なくフレンドリーな設計と言えるだろう。Luminous Engineは独立したレンダリングプログラムだが、データインポート時のコンバート作業の負荷を軽減するため、Mayaで作成されたArnoldのシェーダを読み込み、自動的にLuminous Engineのシェーダへコンバートする機能を実装している。

▲【上】シェーダのコンバート前/【下】シェーダのコンバート後。ArnoldのシェーダをLuminous Engineで再現している

繊細な間接光、透明素材の反射・屈折、ソフトシャドウの描画

多数の光源からの光による複雑な影をリアルタイムに処理する場合、従来のゲームエンジンでは事前計算したシャドウマップを使用する。前述したように『BackStage』が描くのはほの暗い室内だが、多数の光源が設置されており、繊細な間接光と、柔らかな影(ソフトシャドウ)の表現が必要となる。これらをリアルタイムに描画する場合には、カメラからレイを飛ばして拡散反射計算を行わなければならない。

▲『BackStage』のシーン内に設置された多数の光源と、そこから発する光。本作の光源は17灯にのぼる


▲【上】リアルタイムパストレーシングによる間接光の計算をONにした状態/【下】OFFにした状態


本作のドレッサー周辺の処理は特に複雑で、透明素材のブラシ立てや化粧道具による光の反射・屈折の計算が必要になるのに加え、鏡の周囲には複数の電球が設置されている。


  • このような点光源からの光を単純なレイトレーシングで処理すると、明瞭な影を落としてしまう。しかし現実の電球は完全な点光源ではなく、発光源となるフィラメントには長さがあるため、ソフトシャドウが生じる。本作では、パストレーシングを使って複数のシャドウレイを飛ばすことにより、ソフトシャドウを表現することに成功した。

  • アートデパートメントディレクター・黒坂一隆氏


▲【上】リアルタイムパストレーシングによる反射・屈折の計算をONにした状態/【下】OFFにした状態。透明素材のブラシ立てや化粧道具が鏡の前に置かれているため、とりわけ描画負荷が高い領域となっている


▲【上】同じくソフトシャドウの計算をONにした状態/【下】OFFにした状態


© Luminous Productions Co., Ltd.

次ページ:
1秒間に5フレームというパストレーシングの限界

[[SplitPage]]

1秒間に5フレームというパストレーシングの限界

パストレーシングはレイトレーシングを拡張発展させたレンダリング法で、カメラからレイを飛ばして反射・屈折を計算する際に、モンテカルロ法を用いて確率的に計算できるようにしたものだ。グローバルイルミネーション(GI)や複雑な影などのフォトリアル描画が可能だが、その分だけ計算量も指数関数的に増大していく。

▲パストレーシングにおける、レイ追跡の概要。(1)カメラからレイを飛ばし(2)直接光(ライトレイ)を計算した後、複数のシャドウレイを飛ばすことにより、ソフトシャドウを表現する。同様に、(1)カメラからレイを飛ばし、(3)反射レイ、(4)GIレイ、(5)半透明・屈折レイを飛ばすことにより、反射・屈折や間接光を表現する



  • プログラマー・坂本良太氏
  • 実際に『BackStage』のシーンをリアルタイムパストレーシングで処理しようとすると、RTX 2080 Tiをもってしても1秒間に5フレーム程度しか計算できなかったそうだ。現在のTuringアーキテクチャの演算能力は、残念ながらプリレンダーによるフォトリアル描画と同等の処理をリアルタイムに実現できるレベルには達していないのだ。


そのような状況にも関わらず、Luminous Engineの開発チームは、リアルタイムで、なおかつフォトリアル描画を行うという相反する課題にチャレンジし、後述する様々な創意工夫によって、この難題を乗り越えてきた。

レイの本数を絞り、デノイズやポストエフェクトを活用

リアルタイムにパストレーシング演算を行うという夢のようなエンジンを実現するために、Luminous Engineでは特に処理が重いライトレイの計算の軽量化に取り組んだ。全てのライトを同じ扱いで計算するのではなく、シーンにおけるライトの影響度を見て、確率的に選択することで計算負荷を減らした。また、反射・屈折表現で使われる反射レイを複数飛ばすことは止め、1本に絞った。

その結果、多量に発生したパストレーシングノイズは、NVIDIAが共同開発したパストレーシング用の新しいデノイザーであるSLGF(Spatiotemporal Variance-Guided Filtering)を使って抑え込む手法をとった。Luminous Engine側からはレンダリング時にDirect Diffuse、Indirect Diffuse、Direct Specular、Indirect Specularなどのバッファを出力し、それに対してNVIDIAのSLGFでデノイズ処理を行うことでリアルタイムパストレーシングを実現している。

▲【上】デノイズをONにした状態/【下】OFFにした状態。多量に発生しているノイズが、デノイズによって激減していることがわかる


被写界深度によるボケ効果や、アンチエイリアシング処理は、パストレーシング時ではなく、ポストエフェクト時に処理することで計算負荷を軽減させている。

▲【上】被写界深度をONにした状態/【下】OFFにした状態


▲【上】鏡の中の被写界深度をONにした状態/【下】OFFにした状態


▲【上】アンチエイリアシング処理をONにした状態/【下】OFFにした状態


© Luminous Productions Co., Ltd.

次ページ:
メッシュ量の削減と、デノイズ量の調整

[[SplitPage]]

メッシュ量の削減と、デノイズ量の調整


  • プログラマー・増野健人氏
  • さらに、処理するデータ量を軽減するため、直接見えない部分のメッシュを削減したり、髪の毛の本数を現実の人間よりも減らすなどの工夫を行なっている。なお、当初は髪の毛をビルボードで表現していたが、鏡からの反射レイにヒットしないことがわかり、三角柱メッシュとして出力したそうだ。


▲【上】キャラクターのメッシュを最適化した上で、【下】衣服の下の直接見えない部分のメッシュは削減している


▲現実の人間の髪の毛は10万本程度だが、Curveは2,458本、Runtime Hairは約6万本まで減らし、少し太くした髪の毛を織り交ぜることで自然な見た目にしている


▲【上】髪の毛をビルボードで表現すると鏡からの反射レイにヒットしないことがわかったため、【下】三角柱メッシュとして出力した


デノイズをかける際、あまりかけすぎるとディテールを損ねてしまったり、眼や金属のハイライトが減光してしまうことが判明したため、アーティストがその量を加減できるよう、デノイズの値を視覚的に確認できるデバッグモードが用意された。

▲デノイズ成分を視覚的に確認できるデバッグモード


▲髪は100%、眼は70%、肌は40%のデノイズがかかっていることを視覚的に示している


▲【上】眼のデノイズを100%にした場合/【下】眼のデノイズを70%にした場合。デノイズを抑えることで、眼のハイライトが明るさを取り戻している


これらの様々な創意工夫により、間接光、反射・屈折、ソフトシャドウ、被写界深度を含む極めて複雑なシーンであっても、最終的には1秒間に30フレームを超える計算速度を得ることができたという。

ゲームであれ、VRであれ、コンピュータがリアルタイムで描画する映像は、まだまだリアリティが足りていない。特にリアリティで先行するプリレンダーされた映画を見慣れている世代は、厳しい目をもっている。それらの課題は、テクノロジーの進歩により、近い将来に解決されるかもしれない。しかし、課題解決の先取りに貪欲だったLuminous Engineの開発チームは、現状のハードウェアにおける様々な制約を乗り越えて、リアルタイムに、パストレーシングを用いたフォトリアル描画を行うという夢のようなエンジンを実現させてきた。このエンジンが描くゲームやVRの映像ならば、今までとはレベルのちがう没入感を得ることができるだろう。開発に携わった彼らの熱いハートに心からエールを送りたい。


© Luminous Productions Co., Ltd.


<Luminous Productionsの求人情報>

『FFXV』で築いた資産を次世代につなげる開発者を募集
cgworld.jp/interview/202001-lp.html

©2016 SQUARE ENIX CO., LTD. All Rights Reserved. MAIN CHARACTER DESIGN:TETSUYA NOMURA



  • 月刊CGWORLD + digital video vol.259(2020年3月号)
    第1特集:漫画制作に活かす3DCG
    第2特集:エンバイロンメント・ハック
    定価:1,540円(税込)
    判型:A4ワイド
    総ページ数:128
    発売日:2020年2月10日
    cgworld.jp/magazine/cgw259.html