リアルタイムが正義:SIGGRAPH 2019 Real-Time Live!レポート
これは,ここ10年くらいでゲームグラフィックスの進化が著しいことに起因している。改めて言うまでもないだろうが,ゲーム業界以外のあらゆるCGに関連する業界がゲームグラフィックスに端を発したリアルタイムグラフィックス技術に注目しており「リアルタイムグラフィックス技術を使うことが正義」という気運まで生まれているほどだ。
今年のReal-Time Live!は,例年とは異なり,実際のゲームタイトルと関連した発表はゼロで,ほぼすべてが「ゲームグラフィックス技術(リアルタイムグラフィックス技術)のノンゲーム的活用」だった。
本稿では,今年のReal-Time Live!にて発表された10作品の中から,最優秀賞を取った作品と,筆者が気になった数作品をピックアップして取り上げることとする。
なお,ゲームエンジンUnityを有するUnity Technologiesの「The Heretic」は,Real-Time Live!と,すでにレポート済みのElectronic Theaterイベントとのダブル入選を果たしている。「The Heretic」についての解説は当該レポートのほう(関連記事)で行っているので興味のある人はそちらを参照いただきたい。
物理ベーステクスチャライブラリの最新事情
「Quixel's Rebirth: Megascans Environment Breakdown」Galen Davis氏
近年,日本のゲーム業界,映像制作業界においても注目度を上げているのが,ハリウッド映画CGクオリティのマテリアルライブラリ「Megascans」である。
Real-Time Live!では,Megascans開発元のQuixelにてHead of Evangelismを務めるGalen Davis氏が,Quixel内製リアルタイム短編映像「Rebirth」の背景がどのように制作されたかを解説した。
この「Rebirth」はGDC 2019におけるUnreal Engineのコースセッションのオープニング映像としても上映されたものになる。
実写と見紛うレベルほどに作り込まれた環境空間は,Quixelの3人のアーティストがMegascansで制作したものだそうだ。また,このプロジェクトのためにアイスランドで1か月をかけて1000以上の新規スキャンデータを採取したのだとか。ちなみに,Unreal Engine(UE4)の4.21を用いており,本作は基本的にはこのUE4のツールの中で制作されたものになる。
念のために,Megascans自体がどのようなものかも解説しておこう。
Megascansは,高品位な3Dスキャンを用いて制作された物理ベースシェーディング向けのテクスチャライブラリだ。現実世界にある膨大な環境物のテクスチャを,現実世界の実在材質の反射率(吸収率)と一致する形でデータ化し,模様/柄としてのテクスチヤだけでなく,微細な凹凸情報なども高品位にライブラリ化されている。ライブラリ素材は,そのまま使うこともできるが,材質同士を掛け合わせたり,ノイズ関数を畳み込んでまったく別の材質テクスチャに生まれ変わらせることもできる。
最近では,UE4とMegascans,そして大型ディスプレイ(ないしはプロジェクタ映像)で取り囲んだビデオウォール型のバーチャルセットを用いた,低予算かつ高品位なCM撮影などにも応用が進んでいるようである。
ところで,Megascansは,日本においてはシリコンスタジオが正規代理店を務めていたが(参考URL),現在は取り扱いを終了しているとのことである。
Unreal Engineの新物理エンジンの秘密
「Causing Chaos: Physics and Destruction in Unreal Engine」Michael Lentine氏, Jim Van Allen氏, Matthias Worch氏
Epic Gamesが開発を進めている新物理エンジン「Chaos」の機能解説とデモの実演がReal-Time Live!で披露された。Chaosについては本誌ではGTMF 2019のUnreal Engine4(UE4)関連セッションのレポートでも取り上げているが(関連記事),新しい情報も出ていたので本稿でも取り上げておこう。
機能解説のところでは,破壊表現用の3Dモデル分割/切断ツールの機能を紹介。幾何学的図形分割法の定番であるボロノイ分割,平面分割,煉瓦状分割の他,銃弾が当たったときの破壊表現に便利な,同心円状分割(Radial Fracture)などがサポートされることが実演と共に示された。
破片として分割された3Dモデルは,破壊発動時の表現始動時にUE4のパーティクルツールである「Niagara」での制御が可能だとのこと。また,リアルタイム処理には重荷となる超大規模な破壊挙動は事前計算して,ジオメトリキャッシュデータとして出力も可能だ。動的なキャラクターとの物理的なインタラクションはできないが,リアルタイムにレンダリングされるので,その破壊シーンで視点変更するといったことは可能となっている。
講演の後半はホール内の大スクリーンを使い,HTCのViveコントローラを使って「Robo Recall」の街並みを破壊できるChaosのゲーム風デモがリアルタイム実演された。
なお,Chaosはプレビュー版のUE4.23には組み込まれておらず,来年公開の正式版UE4.23にて実験的機能として搭載が予定されている。
機械学習ベースのリアルタイムフェイシャルキャプチャ
「Real-Time, Single Camera, Digital Human Development」Doug Roble氏, Darren Hendler氏, Jeremy Buttell氏ほか
アベンジャーズをはじめとしたハリウッド映画向けのCG制作を手がけているDigital Domainのプレゼンテーションでは,同社が内製で開発した深層学習ベースのリアルタイム顔面トラッキング(フェイシャルキャプチャ)システム「Masquerade」システムの実演が行われた。
デモでは,2人の男女の演者が,自身の顔面を近距離で撮影するアクションカメラ付きのヘルメットを被り,そのリアルタイム撮影映像から演者の顔面の筋肉の状態を読み取って,その演者の表情で3Dモデルの表情アニメーションが行われていた。
Masqueradeは,いわゆるFACS(Facial Action Coding System:顔面動作符号化システム)ベースの,顔面に仕込まれたボーン(リグ)を駆動するタイプの顔面アニメーションシステムではなく,昨今流行のAI技術(深層学習)を用いて,演者の表情画像から3Dモデル上の各頂点を直接駆動するアプローチとなっている。
学習時は,顔面にマーカーを付けた演者にさまざまな表情を演技させたデータを学習用入力データとし,その表情変化に対応した粗い仮面(Masquerade)のような顔面3Dモデルによるアニメーション結果を出力データとして深層学習を行う。
実際のリアルタイム利用時は,顔面にマーカーを付けず,カメラで撮影した素顔の映像から,その時点での表情に最も近い「粗い仮面3Dモデルの表情状態」を推論データとして出力させ,これを表情適用対象の顔面3Dモデルに適用するという流れになる。
粗い仮面3Dモデルの各制御点(≒頂点)が,動かしたい顔面3Dモデルのどの制御点(≒頂点)に対応するのかという設定は人力で行う必要があるようだが,マーカーレスかつ60fpsでほぼ完璧なリアルタイムフェイシャルキャプチャができることが,このMasqueradeシステムのウリだという。
学習時に,顔面上の筋肉に伸縮に応じたシワ,睫毛,眉毛の摂動や,テクスチャに関しては特定の表皮の赤味の変化,血管の浮き出しの変化も入力しておけば,推論時にそうした細かい部位の再現にも対応できるとのことである。
人工知能が美しい風景画を描き出す 「GauGAN: Semantic Image Synthesis with Spatially Adaptive Normalization」Taesung Park氏, Ming-Yu Liu氏, Ting-Chun Wang氏, Jun-Yan Zhu氏
GauGANは,カリフォルニア大学バークレー校とNVIDIAの共同研究の成果物で,平易にいえばAIベースの作画アプリケーションということになる。
GauGANの「GAN」とはGenerative Adversarial Networkの略で日本語では敵対的生成ネットワークと翻訳される機械学習型AIモデルの1つである。提唱されたのは比較的最近の2014年で,発表したのは当時モントリオール大学の学生だったIan Goodfellow氏だ。
GANは「偽札造り」や「絵画の贋作制作」によく喩えられる。あるAIが偽札や贋作を開発したとして,これを偽物か本物か見極められるAIを「敵」として同時に開発する。偽物を開発するAIは,敵性の真偽判定AIをだませるように学習データを洗練させ,真偽判定AIは偽物か本物かを見極める精度を高めるように学習データを洗練させていく。こうして互いに能力を高め合っていき,高品位なAIを生成させる仕組みがGANなのだ。たとえば,下の動画は,サラブレッドの馬の動画を,GANの仕組みで生成したAIによってシマウマにレタッチしたものになる。
GauGANは,風景画,風景写真の生成に特化したGANベースのAIペイントアプリケーションで,プレイヤーがやることは,任意の風景要素を任意のペンの太さで,画板に相当する画面に適当に塗っていくだけ。あとは,AIがその塗り分けを自動的に解釈し,不自然さを排除した,プロが描いたような写実的な風景画,というよりもほとんど風景写真のようなものを生成してくれる。
たとえば,画面の下半分を「水」のマテリアルで塗れば,さざ波が乗った海面を描き出してくれる。この海面に「岩」のマテリアルをポツン描けば,海から顔を出した岩礁が顔を出す。凄いのは,リアルな岩礁が描き出されるだけでなく,その海面にさざ波に揺れる鏡像(映り込み)までが描き出されるところ。
同様に画面上半分を「空」のマテリアルで塗って,上のほうに「雲」のマテリアルを適当に塗っていけば,リアルな雲が描き出され,当面水面にその映り込みも描かれる。雲を描いた先が画面の上側か下側で,遠景/近景の雲をリアルに自動的に描き分ける表現力にも驚かされる。
このGauGANシステムの開発にあたっては,NVIDIAのDGX-1上で深層学習システムのフレームワーク「PyTorch」を用い,100万枚の風景写真を教材データを入力しての学習が行われた。その学習の際のポイントは,各マテリアル要素が「画面内のどこに配置されたときにどう表現すべきか」「異なるマテリアルが重なったときにどう表現すべきか」という,位置相関,レイヤー相関的な意味情報までを付随させて学習させたところにあるという。
なお,GauGANとは,フランスの画家,ポール・ゴーギャン(Paul Gauguin)をもじったネーミングだとのこと。現在,GauGANはWeb版がテストリリース中(参考URL)となっているので興味がある人は触ってみるといいだろう。
レイトレならぬ「X」レイトレベースの医療ゲーム
「 Level Ex: Tracing All Kinds of Rays On Mobile」Sam Glassenberg氏, Matthew Yaeger氏
Cardio EXは,カテーテルを血管に通して動いている患者の心臓に到達させ,内部から動脈硬化手術を行うゲームだ。Glassenberg氏は「Cardio EXは速度と謎解きを伴った医療レーシングパズルである。失敗すれば患者は即死する」と述べて笑いを誘う。
LEVEL EX社のゲームは基本的には携帯電話でプレイできるゲームなのだが,今回,SIGGRAPHのReal-time Live!に入選したのは,このCardio EXに採用されている技術が先進的であると認められたためだ。
Cardio EXでは,最新高度医療の透視心臓カテーテル手術を再現したゲームになる。透視心臓カテーテル手術は,X線や超音波を照射して人体胸部を透視しながら,人体内部からカテーテル手術を行う医療になる。
この高度医療のゲーム化に当たって直面したのは,実際の外科医が専用手術機器で見ることになる映像をどうやって携帯電話のGPUで再現するのかだった。これに対しGlassenberg氏は「我々はレイトレーシングではなくXレイ(X線)トレーシングを行うこととした」と述べて再び笑いを誘う。
X線は,目に見える可視光とは違って,人体を突き抜けてしまう特性がある。なので現実のレントゲン写真などでも,X線を人体の背中に照射した場合であれば,胸に当てたフィルムで人体を突き抜けてきたX線の状態を記録する。透視心臓カテーテル手術でも原理としてはそれと同じで,人体を突き抜けてきたX線を撮像素子(センシングプレート)にてキャプチャする。
視点方向から投げたXレイ(X線)は,人体を構成する皮,筋肉,骨といった材質に衝突することになるが,Cardio EXではそれぞれの材質ごとの透過率,散乱率,吸収率に基づいた演算を行って仮想的なセンシングプレートに描画結果を得る仕組みを採用している。まぁ,実質的にはレイマーチング法を用いたボリュームレンダリングといっていいだろう。
Cardio EXのゲームで使われる人体3Dデータは実在の人間の身体のスキャンデータをもとに作成した「Signed Distance Field」(SDF)であると補足説明された。SDFとは,着目している地点から探査対象までの最短距離を格納したデータテーブル(事実上の3Dテクスチャ)のことだ。SDFはレイマーチング法を高速化するためのデータ形式としてよく用いられるが,PS4向けゲームの「The Tomorrow Children」でも使われたことがある。興味がある人は筆者の解説記事を参考にしてほしい。
現在のCardio EXでは,メインビジュアルはX線写真となっているが,これでは血管や筋肉が半透明になってしまい,患部の位置や手術内容によっては見づらい場合もある。そこで,現在LEVE EXでは,X線以外にも,超音波を用いたレイマーチング法による人体可視化にも挑戦中だという。今回の登壇では,その開発途中版をステージで公開していた。
この超音波によるボリュメトリックレンダリングも実際の医療機器に極めて近いグラフィックス再現に成功したとのことである。
超音波はX線と違い,音波なので,中空,水分,皮,筋肉,骨といった人体を構成する材質ごとに進行速度が変わってしまう特性がある。Cardio EXでも,この超音波の特性を正確に再現したうえでレイマーチング法を実装しているとのこと。具体的には,各材質に衝突した超音波は,その材質ごとの速度と散乱率を吟味した演算が行われて描画がなされる。その成果は「見た目」は,一見ノイズに見える楕円状の濃淡のの波紋のようなものとして表れる。超音波画像では定番のノイズ(?)だが,このノイズは,実際には「仕込み」による適当なノイズではなく,そうした超音波の特性から生成されるものだというのだ。まあ,本来欲しい画像効果ではないのでノイズだとは思うのだが,こうしたアーティファクトまでリアルに再現されるということをGlassenberg氏は訴えたかったのだろう。
ゲームグラフィックスは今フォトリアルを超えて(?),メディカル(医療)リアルに到達しようとしている。
最優秀作品賞はGauGANに決定
本稿で紹介した5作品以外にも,あと5作品がデモンストレーションされているので,興味がある人は,冒頭で紹介したRel-time Live!のアーカイブ映像をご覧いただきたい。
Electronic Theaterは,事前に審査員達が優秀作品を決めてしまっているが,Real-time Live!での最優秀作品の選出は,SIGGRAPH公式アプリを利用しての「リアルタイム投票」によって決定される。今年の最優秀作品賞はこの投票の結果によって,AIが風景画を描き出す「GauGAN」が受賞している。