イベント
最優秀賞は「Hellblade」の開発に使われたUE4用のパフォーマンスキャプチャ技術が獲得。「Real-Time Live!」レポート後編
OculusのVR手描きツールからPSVR用インディーズゲームまで。注目のリアルタイムデモが登場した「Real-Time Live!」レポート前編
Pixarの映画制作にも使われ始めたリアルタイムグラフィックス技術
今回取り上げるDirk Van Gelder氏によるセッション「Real-Time Graphics in Pixar Film Production」で扱われたのも,そうしたPixarによるリアルタイムグラフィックス技術の一例だ。
4年前のSIGGRAPH 2012でPixarは,同社が保有するCatmull-Clark(カトマル・クラーク)法のテッセレーション技術に関する特許を無料開放したうえで,そのリアルタイム実装に向けたオープンソースプロジェクト「OpenSubdiv」をスタートさせて,CG業界に衝撃を与えた。そのときにPixarを代表して講演を行ったのも,Gelder氏である。
USDとは,もともと1998年公開のCG映画「バグズ・ライフ」をPixarが制作していた頃から開発が進められていたという3Dシーンのデータ構造だ。CG業界的な用語でいえば,Pixarが制作した「大規模シーングラフ」(Scene Graph)のフォーマットといったところか。
PixarがUSDのデータ構造をオープンソース化したことにより,Pixar製以外の3D CGソフトウェアでも,USDを利用できる可能性が出てきたわけだ。そして,実際に他社製ソフトウェアでUSDを利用するためのプロジェクトを,Pixarはスタートしているという。
話をRTLに戻そう。Gelder氏によるステージでは,OpenSubdivを含む最新のリアルタイムグラフィックス技術を導入した,Pixar製映像制作ツールの現状が説明された。
最初の実演は,日本でも夏休み映画として公開された「ファインディング・ドリー」のワンシーンを,Pixar製のCGアニメーション制作ツールである「Presto」で読み込んで,実際にツール上でシーンをいじるデモだ。
以下に掲載した動画は実演を撮影したもので,小魚たちがエイのバスに乗って移動するシーンは,背景や主要キャラクタも含めて総勢8000体もの3Dモデルをレイアウトしているのだという。総ポリゴン数は約5200万。各キャラクタモデルは,シンプルな基本形状モデルをテッセレーションで滑らかな曲面にしたうえで,ディスプレースメントマッピングでディテールを追加してから描画している。
このシーンがUSD形式で構築されており,そのデータ構造には,海藻群のレイアウトやシミュレーション情報までをも含んでいるそうだ。デモでは,この大規模なデータを用いるデモシーンを,わずか3秒で読み込めることが強調されたほか,60fpsでのアニメーション再生も可能である点がアピールされていた。
ファインディング・ドリーを見たことがある人ならば分かるだろうが,映画で動いている映像は,当然ながらツール上でリアルタイムに動いている映像よりも,はるかに高品質だ。RTLで見せたのは,あくまでも制作フェーズでの映像である。
Pixarの場合,最終的なレンダリングには,CPUベースで実装したレイトレーシングソフトウェアを用いており,1フレームの描画には,数十分から数時間をかけているそうだ。
それでは,なんのためのリアルタイム技術なのかといえば,最終映像をイメージするのに必要十分なクオリティで映像制作を迅速に行うためということになる。
現在のPixarの制作現場では,テッセレーションによる多ポリゴン化や,ディスプレースメントマッピングによるディテールのジオメトリ描画に加えて,影生成やアンビエントオクルージョン(環境光遮蔽),被写界深度表現,各オブジェクトに対する物理ベースレンダリング技術によるライティングやシェーディングを適用した60fpsのグラフィックスを,Presto上で確認しながら作業を行えるそうだ。
それ以前は,テッセレーションなしでディテールも加えられていない低ポリゴンモデルに,ごく限定的なライティングを施した,それこそ20年以上前のCGのような画面で制作していたとのこと。しかし,リアルタイム技術を利用した制作環境がある現在は,格段に作業がしやすくなったと,Gelder氏は説明していた。
GoogleのARプラットフォーム「Tango」がRTLに登場
2016年5月にGoogleは,AndroidをベースにしたモバイルVRプラットフォーム「Daydream」(関連記事)を発表したのだが,実はそれよりも以前から,AR関連プロジェクトとして「Project Tango」という取り組みを行っていたことを覚えている人はいるだろうか(関連記事)。
2016年9月には,世界初のTango対応スマートフォン「Phab 2 Pro」(ファブツープロ)が,Lenovoから発売予定となってだ(関連リンク)。
Tangoでは,端末に内蔵されたカメラと深度センサーに加えて,加速度センサーやジャイロといった慣性計測装置(Inertial Measurement Unit,IMU)を組み合わせることで,カメラで捉えた3D空間をリアルタイムに再構築できるという。
ちなみに,Tangoの深度計測は,Xboxの「Kinect」のような赤外線カメラを用いた「Time Of Flight方式」(TOF方式)による計測だけでなく,二眼式のステレオカメラで撮影した映像から取得することもできると説明されている。
Moratto氏は,このTangoが,3つのキーテクノロジーによって成り立っていると述べる。
1つめは「モーショントラッキング」。これは,ユーザーが被写体に端末を向けて動かしたときに,カメラとセンサーで捉えた情景の特徴を追跡して,方向や傾きなどを算出する技術とのこと。
2つめは「エリアラーニング」(空間学習)。捉えた情景の特徴を学習することで,瞬間的には情景の一部しか取得できていなくても,学習した特徴点同士を照合して映像をつなぎ合わせることで,3D空間を再構築する手がかりにするための技術であるという。
開発者は,Tangoが提供する3つのベース技術を利用することで,多様なARアプリケーションを開発できると,Moratto氏はアピールしていた。
GoogleのTango公式Webページ(英語)
スマートフォンのグラフィックスはここまできた
独自エンジンを使ったシューター「Afterpulse」
スマートフォンの性能面における進化は,PC以上に非常に速い。たとえば,2015年9月に登場した「iPhone 6s」の搭載SoC(System-on-a-Chip)である「A9」プロセッサには,GPUコアとして「PowerVR GT7600」が統合されている。このGPUコアは,約250GFLOPSの浮動小数点演算性能があるとのことで,これはPlayStation 3が搭載したGPU「RSX」の224GFLOPSを凌駕しているほどだ(関連記事)。
つまり,現代のハイスペックスマートフォンが持つGPUは,PlayStation 3を超えた性能を持つに至っているのである。
ところが,大半のスマートフォン向けゲームは,2〜3年前の製品やエントリークラスの製品でも動作するように開発するのがセオリーだ。また,GPUをフル回転させると激しくバッテリーを消費してしまうという問題もあり,最新GPUの性能をフルに活用したタイトルは少ない。
DLEは,Electronic ArtsやEidosといった著名なゲーム会社で活躍してきた優秀なエンジニアが手がける独自のゲームエンジン「Karisma engine」を有している。今回のRTLで,DLEのChief Technology OfficerであるUnai Landa Bonilla氏は,Karisma engineで作られた3rd Personシューティングゲーム「Afterpulse」のデバッグ版を「iPad Pro」上で動かして,グラフィックス表現力をアピールするデモを行った。
Karisma Engineは,機能面で妥協せずに最新のリアルタイムグラフィックス技術を搭載することをコンセプトにして,エンジン自体が64bitプロセッサを前提とした設計を採用している。グラフィックスエンジンは,DirectX 12やVulkanと同世代のiOS向けネイティブグラフィックスAPIである「Metal」ベースで構築されているとのことだ。
Afterpulseは,1フレームあたりの総ポリゴン数が20万〜30万ポリゴン程度で,遮蔽されている3Dモデルやポリゴンを破棄するカリング処理により,約40%程度のポリゴンを描画対象から除外しているという。
レンダリングエンジンは,物理ベースレンダリングに対応したディファード・レンダリング(Deferred Rendering)方式を採用している。
Deferred Renderingは,ライティングやシェーディング,テクスチャの適用といったものは後回し(Deferred)にしてシーンのジオメトリ(3Dモデル,ポリゴン)を中間バッファ(G-Buffer)に描画してしまい,後段でライティングやシェーディング,テクスチャの適用を行うという処理系だ。
メリットとしては,冗長な反復描画を避けて複雑な材質表現(ライティングやシェーディング)を効率よく行える点と,使用できる動的光源の数に制限がなくなるという点が挙げられる。この利点により,最新のゲームエンジンでの採用事例が,非常に多いレンダリングテクニックといえよう。
RTLでの実演でBonilla氏は,まず,Karisma EngineにおけるDeferred Renderingで,G-Bufferをどのように使っているのかを説明した。
以下に掲載した動画の1:50から,アルベド(Albedo)と金属度(Metalness),法線ベクトル(動画中ではNormal),滑らかさ(Smoothness),アンビエントオクルージョン(環境遮蔽),深度(Liner Depth)といったG-Bufferの中身が順番に紹介されている。
ただし,半透明オブジェクトやフォグは,従来型のレンダリング(Forward Rednering)で行い,それをDeferred Renderingによる結果と合成しているそうだ。
事前生成ベースではあるが,スマートフォンやタブレット用SoCで,間接光の影響にも配慮したリアルタイムレンダリングを行っている点にも注目だ。ゲームシーンをグリッドで区切り,各グリッドにおける全方位からの入射光を取得して,これをもとにで拡散反射光のライティングを行っているという。
また,シーンの要所要所で全方位の環境マップ(リフレクション)を取得して,それをライティングやシェーディングに応用するイメージベースドライティング(Image Based Lighting,IBL)も行っている。動画で2:23以降の,映像左上に「Indirect Diffuse」や「IBL」というテロップが表示されているシーンがそれだ。
そのほかに,太陽のような平行光源に対する影生成は,6枚のシャドウマップを近距離から遠距離までに振り分けて生成する,6カスケードシャドウマップ技法を採用しているという。
また,ポストエフェクトとしては,フィルム調のトーンマップ,階調補正,HDRレンダリングの効果としてのブルーム表現,光筋表現なども行っているとのことだ。
スマートフォンのゲームグラフィックスも,本気を出せばここまでできるという意味で,チェックしておくといいゲームかもしれない。
(c)GAMEVIL USA, inc.
「Afterpulse」ダウンロードページ
UE4上で俳優の演技を取り込んで映像を作れるシステムが最優秀賞に
本稿冒頭で,Pixarが映画制作にリアルタイムグラフィックス技術を応用し始めているという事例を紹介したが,それと手法こそ異なるものの,よく似た方向性の技術が,RTLで披露された。
「From Previs to Final in Five minutes: A Breakthrough in Live Performance Capture」(プリビズから5分で最終形へ:ライブパフォーマンスキャプチャの革新)と題するそのデモは,RTLでは最も大きな拍手で称えられ,終了後には最優秀Real-Time Live賞に選出されたほどである。デモを担当したのは,Epic GamesのMichael F.Gay氏だ。
このデモは,ゲームエンジンである「Unreal Engine 4」(以下,UE4)を使用するものの,ゲーム制作用の技術ではなく,映像やカットシーンを制作するための技術となる。
俳優の発声や,身体,表情による演技のすべてをモーションキャプチャする「パフォーマンスキャプチャ」でCGキャラクタを動かすには,キャプチャしたデータ群を整形したり,CGキャラクタにデータを割り当てて調整するといった,人手による作業が必要だった。演技のモーションを編集する必要があったりすると,さらに手間は増えていく。こうした一連の作業を,ゲームエンジンだけで完結させるというのは,とても難しい。複数のツールを使い,ツール間でデータをやり取りする作業がどうしても必要になるためだ。
今回のデモは,こうした作業をすべてUE4上で完結させようという,ある意味,壮大な実験プロジェクトの実演を行うというものだった。
プロジェクト自体は,UE4自体の発展と進化を狙ったものであるが,「Heavenly Sword」や「DmC Devil May Cry」を手がけて日本でも知られるようになった,イギリスのゲームスタジオであるNinja Theoryが開発する新作アクションゲーム「Hellblade: Senua's Sacrifice」(PC / PlayStation 4,以下 Hellblade)の制作で実用化されたので,今回はEpic Gamesだけでなく,Ninja Theoryも共同発表者として名を連ねている。
RTLで実際に行われたのは,ステージ上で俳優が動き回ったり,表情を作りながら台詞を喋ったりといった演技をキャプチャしたうえで,一連の演技をすぐにUE4上のCGキャラクタに反映させ,さらに演技の編集までしてしまうというデモだ。
Hellbladeの開発に当たってスタートしたプロジェクトなので,デモ中で出てくるアセットは,どれもHellbladeのものである。
以下に掲載した動画では,Hellbladeの主人公「Senua」役の女優が,「鏡の中のSenuaと現実のSenuaが対話する場面」を一人二役で演じる様子をキャプチャしたデータを,2人のキャラクタそれぞれに割り当てて再生し,そこから余分な場面をカットしたり,キャラクタの配置や演技の再生タイミングなどを調整したりして,1つのカットシーンに仕上げるまでを収録している。
8分を超える長めの動画だが,なかなか興味深いデモなので,とくにゲーム開発者には最後まで見てほしい。
一連の映像制作プロセスで使われたUE4のツールは「Sequencer」というもので,ビデオ編集ソフトのように,ゲームのシネマティックシーンを制作できるツールだ(関連リンク)。
ちなみに,今回のシステム構築にあたっては,UE4の開発元であるEpic Gamesと,ゲームの開発元であるNinja Theoryだけでなく,CG関連企業の2社が協力しているという。
1つは,Cubic Motionという企業だ(関連リンク)。Cubic Motionは,コンピュータビジョン技術を応用して,人間の顔映像から表情筋の立体的な動きデータを取得する「フェイシャルアニメーション」を専門とする企業である。
もう1つは,3Lateralという企業だ(関連リンク)。こちらは,3Dキャラクタを制作したり,3Dキャラクタに自然な動きを付けるためのボーン設定(リギング設定)の技術を開発する企業であるという。そのため,今回の発表もこれら4社の連名で行われていた。
RTLでは,ごく短いシーンを作成しただけだが,今回の技術を使って制作したHellbladeの予告編がYouTubeで公開されている。興味がある人は,そちらも参照してほしい。
Real-Time Live! ― SIGGRAPH 2016
4GamerのSIGGRAPH 2016レポート記事一覧
- 関連タイトル:
Unreal Engine
- 関連タイトル:
Hellblade: Senua's Sacrifice
- 関連タイトル:
Hellblade: Senua's Sacrifice
- この記事のURL: