アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_60

 2012年11月23日と24日、スクウェア・エニックスが東京都のベルサール神田で公開技術カンファレンス“スクウェア・エニックスオープンカンファレンス2012”を開催した。
 その中から本稿では、同社テクノロジー推進部のドリアンクール・レミ氏とメタアパノン・ナパーポーン氏による発表“リアルタイムグラフィックス技術解説”の内容をお届けする。なお、講演はおもに人体周りの内容をドリアンクール氏が、後半の無機物周りのシミュレーションなどをメタアパノン氏が行った。

 テーマは、テクノロジー推進部が開発中の最新ゲームエンジン“Luminous Studio”の技術デモ「Agni's Philosophy」を制作するにあたって、どのようなリアルタイムCG技術が使われているか。最新の学術的研究なども応用した専門的な内容だったが、講演中に見せていたデモ映像や参考画像が面白かったので、専門用語は適宜読み飛ばしつつ、「へー、そんなことやってるの」程度でも興味を持って頂ければ幸いだ。

グローバルイルミネーション

 おおざっぱに説明すると、照り返しなどの間接光などを考慮して照明効果を計算すること。実際にはすべての光線の行方を追うわけにはいかないので、さまざまな手法で事前計算を行なっておいて、擬似的に再現するのが一般的。

アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_23
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_26
▲ゲームのようなインタラクティブ性がないこと、質の高い結果が欲しいが他のリソースを犠牲にしたくはないといった「Agni's Philosophy」ならではの理由からグローバルイルミネーションを実現する手法が選択されている。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_24
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_25
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_29
▲静的なオブジェクトか動的なオブジェクトかによって間接光の事前計算結果をどこから取り出すかが異なる。
背景などの静的オブジェクトは2Dライトマップ、動的オブジェクトはイラディアンスボリューム。結果は球面調和関数を利用して格納されている。また、静的なオブジェクトか動的なオブジェクトかによって、静的オブジェクトのリアルタイムシャドウの影響を受けるかどうかが異なる。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_27
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_28
▲焼き込んだ結果。

アンビエントオクルージョン

 周囲から当たる環境光がどれだけ強いかを考慮するにあたって、物体の特定の部分がどれだけ遮蔽されているかによって色を変化させ、主に自然な陰影を再現する。

アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_30
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_31
▲「Agni's Philosophy」では複数のアンビエントオクルージョンを使い分けている。
▲「Agni's Philosophy」のシェーダー構成(簡略版)。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_32
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_33
▲事前計算で焼き込んだAO。
▲SSAOの場合。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_35
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_34
▲オブジェクトベースAO。タイヤと床板の間あたりに注目。左がオフで右がオン。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_37
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_38
▲アグニの場合。より自然な柔らかい陰影が生まれている。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_36
▲“サチュレーテッドAO”。遮蔽具合をカラーに対してかけるのではなく、カラーの強さに対してかける。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_39
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_40
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_41
▲左が通常のAO(黒く出る)。その中央と右がサチュレーテッドAO。色味が出て黒くなりすぎない。

肌周りの表現(サブサーフェイススキャッタリング、肌のスペキュラーetc)

 通常のシェーディングでは皮膚が「カサカサに見える」とドリアンクール氏。人間の皮膚の感じを再現するために、サブサーフェイススキャッタリングや独特なスペキュラー処理などを行なっている。サブサーフェイススキャッタリングとは、物体内に入った光が散乱する現象。人体モデルなどでは、手のひらを太陽に透かしてみると真っ赤に流れる僕の血潮が見えたりする、光の皮膚下散乱のこと。

アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_42
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_43
▲人間の肌はディフューズが94%でリフレクションが6%。皮膚は複数の層で出来ており、皮膚下で光が散乱する。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_44
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_45
▲いろいろ実験。皮膚の複数の層をシミュレートしてみたり、バンプマップを手がかりにしてみたり。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_46
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_47
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_48
▲バンプマップとブラーをかけたバンプマップの差分から色を変えている“フェイク・カラーシフト”での例。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_49
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_50
▲テクスチャ空間SSS、スクリーン空間SSS……。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_51
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_52
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_53
▲「Agni's Philosophy」で採用したのはスクリーン空間SSSにサンプリングポイントとしてポワソンディスクサンプリングを加えたもの。カメラとの距離などで最適化が行えるといったメリットがあるそう。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_54
▲SSSオフ。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_55
▲SSSオン。鼻のフチとかがちょっと赤くなっている。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_56
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_57
▲おヒゲの召喚士の場合。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_58
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_59
▲実は変身するハイエナやクリスタルなどにも使われている。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_61
▲スクリーン空間SSSでは、裏側に抜けてくる光を十分に再現できない。そのためこれを再現するための手法が別に実装されている。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_62
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_63
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_64
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_65
▲バックスキャッタリングの例。耳の部分に注目。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_66
▲“ドライ”スペキュラーと“ウェット”スペキュラーのふたつを使って皮膚の反射を再現。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_67
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_68
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_69
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_70
▲スペキュラーのみ(左)とキューブマップリフレクションを足した例(右)。生々しいぬめぬめ感。
▲“ウェット”スペキュラーでシドロ(召喚士のおっちゃん)に汗を足す(右)。涙などにも使える。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_71
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_72
▲ゲームのキャラクターはドアップになることもある。眼球(特に虹彩)がそれらしく見えるように、屈折も視差マッピングと屈折の組み合わせで表現している。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_01
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_02
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_03
▲アグニちゃんの目のアップ。普通。
▲虹彩部分にかかっている視差マッピングをオフ。なんか眼球内部がのっぺりしたような……。
▲視差マッピングを戻して今度はキューブマップをオフ。目が死んでいる……。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_73
▲完全に屈折を切るとこんな感じに。ギャー。

髪の毛の表現

 顔の表現同様、髪の毛についてもヴィジュアル・ワークス品質の髪をリアルタイムCGとして実現することを目指している。問題は1本1本シミュレーションした場合は自然で滑らかな髪の毛を再現できるが、負荷が大きい上にアーティストの蓄積がないこと。そこで「Agni's Philosophy」では、ふたつの毛のモデルを組み合わせている。

アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_74
▲髪の毛はポリゴンメッシュで作ったもの(“バナナリーフ”)と、ナーブスカーブで作り出すもの(NVIDIAの研究者にちなんで“タリク ヘアー”)を組み合わせて、動きとパフォーマンスのバランスを取っている。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_75
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_76
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_77
▲アグニちゃん風マネキン。
▲バナナヘアーを乗せる。
▲タリク ヘアーを乗せる。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_78
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_79
▲タリク ヘアーの作り方。糸状のナーブスカーブがマスターとなる。コントロールポイントを持っており、アニメーション可能。テッセレーションにより滑らかに分割され、ビルボードを形成してからシェーディング。
▲おヒゲや動物の毛なども同様の手法でできている。オリジナルでは295本、1656コントロールポイントだったものが、2種類のテッセレーションで2万9500本、71万コントロールポイントのもじゃもじゃに。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_80
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_81
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_82
▲というわけでパラメーターを放り込んでカールさせたり、先をひねったり、ヒゲの硬さを変えたり、重力からの影響を切ったり、自由自在。オブジェクトが当たることで変形するデモも披露された。

ガラス・屈折

 ガラス瓶のCGをいかにガラス瓶のように見せるか? 「Agni's Philosophy」には、銃創を負ったアグニが清涼飲料水に回復魔法を込めて自分を回復する印象的なシーンが出てくる。

アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_04
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_05
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_06
▲事前計算で屈折を計算しておく。表面だけ、表面と裏面だけの計算だと中身が詰まった物体がある感じ。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_07
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_08
▲瓶の屈折面は4つある。内側も計算してやるとそれっぽい感じに。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_09
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_10
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_11
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_12
▲屈折回数による違い。少ない回数では見えなかったオブジェクトが次第に出てくる。

パーティクルシステム(水、血、煙、光虫……)

 パーティクルとは、粒子のこと。「Agni's Philosophy」では、キャンドルの灯、回復魔法をかけた水、召喚獣の肉を形成していく大量の光虫などがパーティクルシステムで生成され、制御されている。中でも発光しながら飛ぶ超大量の光虫は圧巻。10万匹が生成され、互いに重なり合わないようにしながら飛びまわっている。光虫は召喚獣の骨に取り付いたところで置き換えられて肉を形成していくのだが、こちらもパーティクルで処理している。

アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_13
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_14
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_17
▲パーティクルシステムはGPUで実行。煙やキャンドルの灯、光虫や薬莢、水や血などの液体といった3タイプのパーティクルを生成・コントロール可能。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_15
▲オブジェクトにぶつかっても跳ね返されず、周囲に沿って流れていくような表現も可能。
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_21
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_22
▲液体タイプ。血や、召喚獣のお肉(メタボール)も表現。

アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_16
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_18
▲ビルボードタイプ。キャンドルの灯や煙など。

アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_19
アグニちゃんが実体感のある美人さんに見える理由――“Agni's Philosophy”の舞台裏【SQEXオープンカンファレンス2012】_20
▲メッシュインスタンスタイプ。メッシュを切り替えて光虫の羽ばたきも表現。ターゲットに追従するような動きもできる(デモビデオでは赤い光虫がクリスタルの動きを追従している)。