お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2010/07/27 22:02

ニュース

[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か

3Dゲームグラフィックスは物理ベースのレンダリングへ


画像集#002のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
Naty Hoffman氏(Technical Director, Activision)
画像集#001のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
株式会社トライエース代表取締役社長,五反田義治氏
 SIGGRAPH 2010開幕初日は,実質的に午後から静かに開幕した。
 初日午後のセッションの目玉は2009年末公開されて大ヒットとなったSF映画「Avatar」のメイキング関連セッションで,14時のセッション開始時刻付近では立ち見が出るほどの盛況ぶり。
 4Gamerはゲームメディアなので,「Avatar」ではなく,「Physically Based Shading Models in Film and Game」というセッションを拝聴することにした。
 こちらはActivisionでテクニカルディレクターを務めるNaty Hoffman氏がオーガナイズしたコースセッションで,「3Dゲームグラフィックスを物理ベースに近づけていこう」というコンセプトを掲げるものであった。ちなみに,Hoffman氏は,ゲーム開発者のバイブル的な書である「Realtime Rendering Third Edition」の著者の一人であり,この世界ではかなりの著名人物だ。

 このセッションでは,日本のゲームスタジオであるトライエースの代表取締役で,自らがR&Dのトップを務める五反田義治氏が登壇し,トライエースが推し進める「物理ベースレンダリング」を紹介した。本稿では,この五反田氏の講演を基軸に物理ベースレンダリングとは何かを紹介していく。


3Dゲームグラフィックスも物理ベースへ進化する時代?
トライエースは材質表現にBRDF法を本格導入


 3Dゲームグラフィックスは,“ゲームを成り立たせる一要素”という側面で進化してきたことから,例外を除けば,リアルタイム性が最優先されて進化してきた経緯がある。
 なので,「それっぽく見えれば正義であり,リアルタイム性と見栄えがトレードオフの関係にあれば,物理的な正確性は問われない」とされてきた。
 こうした,よく言えば「職人芸」,悪く言えば「チート」ともいえるようなテクニックの積み重ねで,現在の3Dグラフィックスの「リアル」は構築されている。

アーティストの直感で調整された反射パラメータは特定条件下ではリアルに見えても条件が変わると破綻することが多い。物理的に正しいアプローチにすればこういう試行錯誤は不要になるはず……
画像集#004のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か

 こうしたアプローチをHoffman氏は「Ad-hoc」(アドホック)アプローチと呼称する。Ad-hocとは「その場限りの適当な」という意が込められており,これの対義語的に定義されるのがこのセッションコースのタイトルにもなった「Physically Based」(物理ベース)のアプローチということになる。

 「Ad-hocアプローチでもよいじゃないか」という声もあるにはあるが,実は強健性(Robustness)に乏しい。
 Ad-hocアプローチは簡単に言えば拡散反射要素,鏡面反射要素,フレネル反射要素,その物体の形状に依存した見え方などに配慮して調整を行うものになる。この手法で,ある材質を表現しようとすると,特定のライティング条件下ではそれなりに正しい結果が得られる(=リアルに見えるようになる)が,条件が変わると破綻してとたんに変に見えてしまうのだ。

 トライエースでは,Ad-hocアプローチにおける各種シェーダ係数の調整をアーティスト(デザイナー)に委ねていたが,HDRレンダリングのパイプラインに組み込んで様々な条件下でレンダリングしてみると,破綻するケースがままあることが確認されたという。このままだと,シーンの条件を変えるたびに係数調整が必要になり,作業効率に響く。そこでAd-hocアプローチに変わる手段を模索し始めたのだ。
 そこでトライエースが社内の独自エンジン(独自開発フレームワーク)として開発したASKAエンジンでは,材質表現にはブリンフォン・シェーディングベースのBRDF法の実装を行った。

画像集#003のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
トライエースが誇るASKAエンジンでは材質表現にBRDF法を導入。トライエースのアーティストは,シェーディングパラメータをいじるのではなく,表現したい材質をまずは選び,その材質パラメータをいじって行いたい表現をチューニングしていくように,その制作スタイルに革新がもたらされた

トライエースのBRDFモデル。正規化要素は線形関数に置き換えて簡略化してはいる
画像集#005のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
画像集#006のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
画像集#007のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
 BRDFは「Bidirectional Reflectance Distribution Function」の略で,日本語では「双方向反射率分布関数」となる。これは簡単にいうと,光がどう反射するかを実際の光学現象に則って一般化したもので,視線,光源,法線などのパラメータを引数にして陰影処理結果を返す関数になる。
 実際には,視線,光源,法線などのパラメータを引数にして,事前にデータテーブル化(=テクスチャとして格納)しておいた材質表現パラメータ群を参照する仕組みで実装されることが多い。ちなみに,このデータテーブル自体は,測定器から取得して生成する場合が多いが,このデータテーブル自体をハンドメイドする場合もある。

 さて,トライエースのASKAエンジンでは,このBRDF法を,独自の近似手法と高速化アプローチを施し,これをASKAエンジン内で規格化し,さらに様々な材質のBRDFデータを蓄積していくことで,多様な材質表現の首尾一貫性を獲得した。
 たとえば,金属ならばチタン,アルミニウム,銅といったマテリアルを選べば,その材質でそのキャラクタの衣装を表現できるし,場合によっては特定のベースとなる材質を選択してパラメータを調整して,何か特殊な見え方をする新しい材質表現を作り出すこともできる。
 これまで「そのシーンでその材質をいかにリアルに見えるようにするか」として行っていたライティングパラメータとの格闘から,アーティストは解放されることとなったというわけだ。

Ad-hocアプローチとBRDFアプローチとの比較。静止画だと分かりにくいが,異なる材質が1つのモデルに混在している感じがライティング結果からも伝わってくる。「このBRDFアプローチの成果はリアルタイムで動いているのを見てもらうとより分かりやすいんです」(五反田氏)
画像集#008のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
画像集#009のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
画像集#010のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か

例えば,コカコーラの缶の赤と白の色ですが,現実世界の缶は赤と白で塗料の材質が異なるんです。今までだと赤と白のテクセルのテクスチャを貼り付けて終わりでした。だからライティングを行っても見た目として現実世界とは少し違っていました。今の例で行けば,赤の塗料には酸化鉄が含まれていて,我々のシステムだとちゃんとこの顔料の特性を再現します。この特性を持った赤の塗料で缶をペイントすると,ライティングが変化すると,本当に現実世界のコカコーラの缶のような赤の陰影の微妙な変化が再現されるんです」(五反田氏)


環境光ライティングに対してもBRDF法を対応させる


 この仕組みの導入でトライエースのASKAエンジンの最新版は材質表現の強健性を獲得したとするが,実際のシーンレンダリングの結果に対しては,もう一つ不満点が残った,と五反田氏はいう。

 それは環境光にまつわる問題だ。

 環境光というものは,厳密には現実世界には存在しない。実際の光源からの光の拡散光や,光源からの光に照らされた物体の反射光などの総体こそが環境光といわれるものの正体になる。しかし,3Dゲームグラフィックスでは,その総体をリアルタイムに求めるのが不可能であるため,事前計算して求めた適当な固定データを環境光として扱い,これを二次ライティング要素として与えることが一般的だった。

疑似GI手法を組み合わせ,環境光からの影響をリアルに見せる方法はいろいろある。中央はフレネル反射を擬似的に再現する特殊シェーダーによる表現。右端は環境光っぽい光源を別途置くことで無理矢理再現した例
画像集#011のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か

環境光に配慮したBRDF。それが「Ambient BRDF」
画像集#012のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
画像集#013のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
画像集#014のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
 事前計算して求めたシーン内の環境光分布をライティングに反映させる手法が,最近では疑似GI(Global Illumination,大局照明)としてもてはやされてきたが,このテクニックでは,実は環境光の色味をシェーティング結果に加味するだけに過ぎない(「ソニック・ワールド・アドベンチャー」「KILLZEONE2」「バイオハザード5」などの疑似GI手法もこの方式)。せっかくの物理的に正しいアプローチのBRDF法による材質表現も,光源からの直接光だけによって行われているだけに過ぎず,より厳密にいくならば,環境光に対してもBRDFに配慮しなければおかしい,というわけだ。
ああした事前計算の疑似GI手法では,環境光によって得られた拡散反射の結果だけを得ていることになるんです。次のステップとして,我々は,環境光によるライティングで得られる鏡面反射の結果についても求めていこう,と新しいテクニックに開発に取り組んだのです」(五反田氏)

直接光によるBRDFだけと,環境光によるBRDFまでを配慮した映像の比較。エッジ付近に淡いハイライトが出ている点に注目
画像集#015のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
画像集#016のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か

 そこで,トライエースでは,前出のBRDFベースのライティングを環境光にも配慮して行う手法を開発した。具体的にはその材質のBRDFを,事前計算で全方位分(半球分)積分してしまい,これを環境光専用のBRDFデータとして別のボリュームテクスチャの形で持つようにする。このボリュームテクスチャには環境光によるBRDFベースのライティング結果の鏡面反射の強さを格納しているので,実際のライティング演算はこのテクスチャを参照して読み出すだけで行える。
本来は環境光によるBRDFの拡散反射の結果もボリュームテクスチャとして持つべきなのですが,我々の実装では,鏡面反射で得られたエネルギー以外は全て拡散反射の結果となったという大胆な近似で拡散反射の結果は計算で一意的に求めてしまっています。でも,これは十分許される近似だと思います」(五反田氏)

今回発表された二つのBRDF技術全部入りと従来のAd-hocアプローチとの比較映像。拡散反射の感じに大きな違いはないように見えるが,鏡面反射によるハイライトの出方に決定的な違いがある。シーン全体としてみると光が充満していてそれが正確にライティングしている感じが伝わってくる。影ではなく“陰”内の陰影の出方もだいぶ違う
画像集#017のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
画像集#018のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
画像集#019のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か

セッション後の質問タイムでは多くの聴講者が質問に並んだ。欧米のカンファレンスらしい一コマ
画像集#020のサムネイル/[SIGGRAPH 2010]これからの3Dグラフィックスは物理ベースのレンダリングへ。ところで,物理ベースのレンダリングとは何か
 トライエースではこの手法を「Ambient BRDF」と命名している。
 ちょっと難しいかもしれないが,まとめると「直接光と環境光の両方によるBRDFベースの材質表現を実装することにより,材質表現のリアリティが高まった」ということだ。ひいては,疑似GI手法において,拡散反射だけでなく,鏡面反射の結果も得られることになったということでもある。
 環境光によって淡いハイライトや淡いフレネル効果が出る感じは,「地味」と言ってしまえばそれまでだが,説得力は確実に向上しており,オフラインレンダリングのクオリティに少し近づいたようにも見える。

 この技術はトライエースのASKAエンジンの最新版には組み込み済みなので,トライエースが手がける次期タイトルには確実に反映されるはずだ。トライエースの次期タイトル発表に期待しよう。
 なお,本稿で解説した技術について,より詳細な情報は発表資料をまとめたページより入手してほしい。
  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:10月15日〜10月16日