実写レベルの映像を実現する新エンジン
2014年9月2日~4日の3日間、パシフィコ横浜にて日本最大のゲーム開発者向けカンファレンス“CEDEC 2014”が開催。その初日となる2日に開催されたセッション“シリコンスタジオの最新テクノロジーデモのレンダリング技術解説”のリポートをお届けしよう。
シリコンスタジオとは、世界最高レベルのリアルタイムCG技術に取り組んでいる開発メーカー。ゲームエンジンに加え、『3Dドットゲームヒーローズ』や『ブレイブリーデフォルト』シリーズの開発も担当している。今回のセッションでは、発表された新レンダリングエンジン“Mizuchi”によって作られたリアルタイムのデモムービーをいかにして作成したか、という解説が行われた。講師は、シリコンスタジオの田村尚希氏、安田廉氏、川瀬正樹氏の3名が務めた。
なおムービーは同社の公式サイトで公開中(⇒記事はこちら)。本記事にも掲載しておくので、まずはこちらを見て頂きたい。
「本セッションは物理ベースに特化している」とのことで、“物理ベース”対応のエンジンやツールを使ったことがあり、実装しようとしている、というレベルの人向けの講義。そもそも物理ベースって何?というレベルの人にはちょっと難しい内容になっているそうだ。
まず、田村氏によりデモの概要説明が行われた。このムービーはリアルタイムデモのキャプチャー動画で、GeForce GTX 780 Tiを搭載しているようなハイエンドPCでは、フルHDで60fps弱のフレームレートで動作するとのこと。GeForce GTX 860Mを搭載しているようなモバイルPCでも20fpsほどで動くそうだ。なお同様のデモはGDC2014でも紹介されたが、当時よりも背景を中心にブラッシュアップされ、パフォーマンスも最適化されているという。
そもそもこの技術デモを開発しようと思ったきっかけは、「技術やハードウェアの進化により、一段上のグラフィックスを実現できると感じた」からだそうだ。“一段上のグラフィックス”と言っても方向性は色々あると思うが、シリコンスタジオが目指したのは“まるで実写”。「映像作品のような絵作りにトライしてみたかった」と田村氏は語る。
幾多の努力の末に待ち受けていたのはエイリアシング地獄
続いては、具体的な技術について。まず安田氏より、ライティング/シェーディングについての解説が行われた。映像は、LightMapsやAlbedoMaps、Local Reflectionなどの技術で作成。「結果的には実写は言い過ぎかもしれないが、一定の水準は満たせた」と安田氏は語る。
実写レベルの映像を実現するため、ライティングは現実に即した証明・環境マップと、Global Illuminationを採用。材質感は、つるつる・ざらざらの表現、金属の表現などをしっかり行うことが目標だったそうだ。また今回のデモでは接写のシーンがあったため、それに堪えうる解像度も重視した。
リニアワークフローは、Raw画像からリニア現像するプラグインを作成したが、ほぼ使用しなかったという。その理由は、プラグインを用意しても素材撮影は手間が多すぎたため。すべて自動化できないとコストが高すぎるので、今回のような小規模のチームでは厳しいとの結論に達したそうだ。
このように多彩な機能を実装し、モデルも作り込んだことで最高のデモが完成した! と思ったのもつかの間、待っていたのはエイリアシング地獄だったという。とくに「スペキュラーエイリアス以外に目がいかないほど」だそうで、会場で流されたデモムービーでは、金属部分が異様なほどにギラついていた。
エイリアス量と実写感は反比例しており、“物理ベース”なシェーディングではエイリアス量はむしろ増大する。このエイリアスの除去はプロジェクト当初は十分に想定できておらず、「あとでかなり苦労するハメになった」と安田氏。「これから物理ベースレンダリングに取り組む方は、アンチエイリアシングにかなりの時間が必要になる」と注意を促した。
テンポラル・スーパーサンプリングでエイリアスを除去
続いて、川瀬氏よりポストエフェクトについての解説が行われた。デモではモーションブラーや色収差など、多くのポストプロセスを使っているとのこと。
今回のセッションでは、テンポラル・アンチエイリアスが中心に語られた。先の話にも登場したが、物理ベースのレンダリングでは極めて鋭いスペキュラーが発生する。頂点数が増えてしまうためエッジが増加し、高輝度のノイズのようなスペキュラーエイリアスが生じるとのことだ。「桁が違うHDRになってしまう」と川瀬氏。
この高輝度高周波スペキュラーには、「MSAAやFXAAはほぼ効果がない」そうで、サンプル数を物理的に増やさないとどうにもならないそうだ。そのため、GDCのときは内部的に3K~4Kの解像度でレンダリングを行うスーパーサンプリングで対応。ただし、これでも効果は限定的で、しかもコストパフォーマンスは非常に悪い。
そこで、時間方向への積分でサンプル数を擬似的に増やしていこうという考えかたで、テンポラル・スーパーサンプリングを採用。Unreal Engine 4をベースに拡張したもので実装しているそうだ。効果は非常に大きいが、全体的に薄暗くなる、映像のディティール感が失われやすいなど、デメリットも多々あるという。それでも「エイリアス除去のメリットのほうが大きかったため、採用に至った」と川瀬氏。
最後に全体を振り返り、「当初想定していた映像レベルは達成できた。また想定内、想定外の問題が発覚したことで、実装上のさまざまなノウハウを得ることができた。とはいえ、まだまだ課題も多いというのが現実的なところです」とまとめて、セッションを締めくくった。
プリレンダリングムービーレベルの映像を、実用的な範囲でどう実現したか、その苦労が読み取れる講義であった。内容は非常に高度だったが、この映像レベルのゲームはきっと近いうちに登場する。そんな、未来に期待をよせてワクワクしてしまうセッションであった。