週刊アスキー

  • Facebookアイコン
  • Twitterアイコン
  • RSSフィード

西川善司が分析!『アンチャーテッド』のグラフィックスのスゴさとは【PR】

2015年10月09日 08時00分更新

 こんにちは。再び登場の西川善司である。

 10月8日発売の『アンチャーテッド コレクション』の魅力を伝えているこの短期連載の第二回目は、このアンチャーテッドシリーズのグラフィックス技術面にスポットをあててみたいと思う。

 前回と比べると、少々難しい内容になっているかも知れないが、別に全てを理解する必要はなく、「なるほど、わからん。でもアンチャってすげえ」と言うことさえ伝わればヨシなので気にしないでいただきたい。

アンチャーテッド コレクション

“不気味の谷”を渡るアンチャーテッドシリーズのキャラクター表現

 アンチャーテッドシリーズは冒険活劇ではあるが、それを演じるのは魅力的なキャラクター達である。その魅力的なキャラクター達は人間であり、擬人化された動物ではない。我々は、ゲームの中に登場するのがそうした擬人化された動物キャラであれば、寛容な目線で見て「可愛らしい」と感じることが出来るが、これが人間となると事情が変わってくる。生半可な人間表現では「気持ち悪い」と感じてしまうのだ。これが、ロボット工学者の森政弘氏が唱えたとされる“不気味の谷”現象だ。

 アンチャーテッドシリーズでは、先進のグラフィックス技術を盛り込むことで、PS3世代としてはトップクラスのリアルな人間表現を実現していた。

 まず、人間表現で最重要項目となるのが人肌の表現だ。人間は人間社会で生活しているので実生活で人肌に目が慣れている。そのため、不自然な人肌の見た目には違和感を強く覚えるのだ。PS2時代の人間キャラクタの人肌は紙かプラスチックか、あるいは瀬戸物チックに見えたと思う。あれは人肌の反射要素のうち、”拡散反射”の要素だけで描画していたからだ。拡散反射とは照射された光が一様に拡散する反射現象のこと。対義語的に“鏡面反射”というものもあり、これは、入って来た光が同じ角度で出ていくような、まさに鏡のような反射現象のこと。

 PS3世代になると、人肌にこの鏡面反射の要素を入れるゲームグラフィックスも増えてきたのだが、今度はなんだかツルツルテカテカの厚化粧のように見えてしまうことがあった。

 実は人間の肌は透過率こそ低いものの半透明材質なので、拡散反射と鏡面反射の反射モデルを採用しただけでは表現が出来ないのである。では、人肌はどんな反射現象をするかというと、半透明材質の人肌に光が差し込むと、光は皮膚下に浸透し、皮膚内部で散乱して差し込んだ場所とは別の場所から出てくるのだ。しかし、そんな複雑な反射現象はゲームグラフィックスでは実現不可能である。

 そこで、アンチャーテッドでは、映画『マトリックス・リローデッド』のCG制作で採用された“皮下散乱シミュレーション”をゲーム向けに簡略化して適用することにしたのだ。

アンチャーテッド コレクション
↑人間の皮膚における皮下散乱現象の概念図。

 アンチャーテッドシリーズが採用した疑似皮下散乱シミュレーションは、普通に拡散反射モデルでライティングした結果を、人間の肌に白色光を打ち込んだ際に観測される色分布(照射点に近いほど白く、遠いほど黄色を経て赤味を帯びていく)に従ってボカすという、かなりシンプルなものだ。しかし、その効果は絶大で、それまでのゲームの人肌表現から一線を画すリアリティを発揮できるようになったのだ。

アンチャーテッド コレクション
↑人間の肌の“反射率拡散プロフィル”。真っ暗闇で人肌に白色レーザー光を照射したときに、照射点の外周からどんな色の光が出てくるかを計測したもの……と考えるとイメージしやすい。中央が白に近く黄色を経て遠方に行くに連れて赤くなっているのが分かるかと思う。
アンチャーテッド コレクション
↑悪役ゾラン・ラザレビッチの白色光でライティングした結果。画像はテクスチャスペースでの表示。
アンチャーテッド コレクション
↑これを反射率拡散プロファイルを用いてボカしたもの。
アンチャーテッド コレクション
↑これを、普通に拡散反射の計算と鏡面反射の計算を行って描画した結果に足し合わせると、人肌の半透明感がリアルに再現される。
アンチャーテッド コレクション
↑実際のゲームシーンでのひとコマ。
アンチャーテッド コレクション
↑2016年発売の第4作でも、同系の疑似皮下散乱シミュレーションが適用されているが、クオリティはさらに向上している。第4作ではディズニーアニメーションスタジオがSIGGRAPH2012で発表した物理ベースシェーディング技術をリアルタイム向けに簡略化して実装したことが明らかになっている。

 人肌に次いで重要な髪の毛についてもアンチャーテッドシリーズではこだわりの表現が実装されている。

 現実の毛髪は細い円筒形で、ここにやってきた光は表面で反射したり内部に浸透したり、あるいはその浸透した光が別の場所から出射したりする。これが異方性反射と呼ばれる特殊な光沢感を生み出し、これは俗に“天使の輪”と呼ばれるたりもする。

 アンチャーテッドシリーズでは、この毛髪に関してSIGGRAPH2004でATI Research(現AMD)のThorsten Scheuermann氏が発表した論文『Practical Real-Time Hair Rendering and Shading』をベースにした異方性反射モデルを採用しており、ポリゴン片を頭皮に植え込んだ毛ヒレ実装型の毛髪表現にしてはかなりリアルな見た目を実践している。

アンチャーテッド コレクション
↑左が第1作目のネイサン、右が第2作目のネイサン。ポリゴン数は2308から4002に向上しているだけでなく、第2作では毛髪特有の異方性反射の表現に対応した。
アンチャーテッド コレクション
↑描画後。
アンチャーテッド コレクション
↑毛髪シェーダーオフ時。第1作目相当。
アンチャーテッド コレクション
↑毛髪シェーダーオン時。第2作目以降。

 人間の表現は、見た目のリアルさだけでなく、その動きにも求められる。

 アンチャーテッドシリーズの主要キャラクタ達は、人体ボディのリグ(ボーン、骨)数は約250本程度(手足、指、顔面含む)と同時代の他作品と比べると随分多い。約250本のうち、顔面を動かすリグ(ボーン)は約100本で、これもかなり多めだ。多彩な肢体の動き、感情表現豊かな顔面の動きの秘密はここにあると見ていい。

アンチャーテッド コレクション
↑アンチャーテッドシリーズのリグ構造。実際のゲームランタイムで使われているのは左端。

 そしてアンチャーテッドシリーズでは、作を改めるごとにPS3のCPUやGPUの応用活用と最適化技術が進化したこともあって、同じPS3上で動作する作品でありながら後期作になればなるほど表現力は進化している。

 後期作になると、ジオメトリ処理(ポリゴン単位の幾何学演算)はGPUだけでなく、PS3のCPUであるCELLプロセッサ内に複数ある128ビットSIMD型RISCプロセッサの“SPU”(Synergistic Processor Unit)も積極動員するようになり、1キャラあたりのポリゴン数も増加している。余談になるが、PS3のGPUに搭載されるプログラマブル頂点シェーダを活用するよりも、SPUを動員した方がジオメトリ処理が高速に処理出来ることが判明し、こうした技術トレンドはアンチャーテッドシリーズ以外のPS3専用タイトルにも波及するのであった。

アンチャーテッド コレクション
↑左が第1作目のネイサン、右が第2作目のネイサン。ポリゴン数は増大。
アンチャーテッド コレクション
↑顔面アニメーションの表現力も増した。
アンチャーテッド コレクション
↑左が第1作目のネイサン、右が第2作目のネイサン。目回りのポリゴン数も向上。眼球上のハイライトはシーン内のキーライト位置の方向に出るようになっている。
アンチャーテッド コレクション
↑第2作目はシワの描画などもリアルになっている。

 ちなみに、2016年にPS4向けにリリースされる予定の最新作『アンチャーテッド 海賊王と最後の秘宝』では、人肌表現、毛髪表現はPS3世代のアンチャーテッドシリーズからさらに進化しているので、要チェックである。

アンチャーテッド コレクション
↑ちなみに、2016年発売の第4作ではより進化した眼球シェーダーとなり、角膜の屈折効果にまで対応している!

卓越した“水”の表現

 アンチャーテッドシリーズは、考古学アドベンチャーの側面もあって、主人公のネイサンご一行は自然豊かなロケーションへと旅をする。

 自然物を表現する上での動植物、地形、水など要素はたくさんあるが、なかでも“水”はPS3時代のアンチャーテッドシリーズにおいては象徴的な表現要素となっていたので本稿で紹介したい。

 第1作の『アンチャーテッド エル・ドラドの秘宝』でも、海岸、川沿いのシーンがあるので水表現は盛りだくさんだ。特に激流での川上りの戦闘シーンは、今見ても「凄い」と思わせるリアリティと説得力があった。

アンチャーテッド コレクション
↑第1作の川上りシーンの水面。

 水面自体は、フレネル反射に対応した屈折/映り込み表現、濁水表現、大波・さざ波表現、泡沫挿入とほぼ全部入り。フレネル反射とは視点位置と水面までの角度に応じて水底の様子と映り込み情景の混合率が変わる異方性反射現象のこと。足元の水たまりは水底の土やアスファルトがよく見えるが、遠くの水たまりには水底はほとんど見えず周囲の情景が強く映り込んでいる光景は実生活でも見たことがあるはずだ。ああいった反射のことだ。

●第1作の水面表現の要素分解ショット

アンチャーテッド コレクション
↑頂点単位の波と映り込み情景のみ。
アンチャーテッド コレクション
↑上に対してさざ波表現(法線マップテクスチャによるバンプマッピング)を適用した状態。
アンチャーテッド コレクション
↑波や映り込み表現を外し、屈折効果と濁水表現だけにした状態。
アンチャーテッド コレクション
↑右に影を足した状態。
アンチャーテッド コレクション
↑波の頭頂付近に泡沫テクスチャを追加した状態。
アンチャーテッド コレクション
↑太陽光による鏡面反射ライティングの結果。
アンチャーテッド コレクション
↑全要素を合成した最終ショット。

 しかし、『アンチャーテッド エル・ドラドの秘宝』では特に渓流表現が凄かった。

 あの渓流の激しくも複雑な“流れる波と水面”表現は、頂点単位およびピクセル単位で事前計算で算出して仕込んでおいた“仕込みの水流ベクトル場(Flow Vector Field)”を引数にして独自レシピで作り上げた円循環性の写像関数で算出させるプロシージャル的手法で実現されていた。

アンチャーテッド コレクション
↑“サイン”“コサイン”は非常に役に立つのである(笑)。

 第3作の『アンチャーテッド 砂漠に眠るアトランティス』では、さらにゲーム向けに実装するには難度が高いされてきた“大洋表現(Ocean Waves)”と“巻き込み波(Rolling Waves)”に挑戦。

  『アンチャーテッド 砂漠に眠るアトランティス』では嵐の海を航海する海賊に改造された豪華客船に潜入するシーンがあるが、あの時の大洋の波も独特なプロシージャル的な手法で実践していたのである。採用したのは米テキサスA&M大学のCem Yuksel氏らがSIGGRAPH2007で発表した論文である『Wave Particle』法だ。これは、波の凹凸の最小単位をスタンプのようなイメージで、海面モデルに対して数百個のオーダーで適用していくもの。なお、ここでも渓流表現に用いられた事前計算水流ベクトル場のテクニックは応用されている。

アンチャーテッド コレクション
↑大洋の波は“Wave Particle”法を活用。このテクニックはほかのゲームでも採用された。
アンチャーテッド コレクション
↑水流や波の高低制御は第1作目の渓流の時のテクニックを流用。
アンチャーテッド コレクション

 ところで、この豪華客船シーンはもうひとつ驚くべき技術が適用されている。それはキャラクター達が乗船している、その豪華客船自体がこの波に摂動されて動いているという点だ。大ざっぱにはなるが、船底と海面上の波の衝突を取り、そこから算出される力場のバネモデルを使って船体の動きを制御しているのだ。こちらもシミュレーションというよりはプロシージャル的な手法だが、“アイディアと技術”の独創なクロスオーバーぶりにはほんと驚かされる。

アンチャーテッド コレクション
↑3作目のチャプター14。荒れ狂う波に翻弄される海賊たちの根城と化した豪華客船のシーン。 このシーンのゲーム舞台となる揺れる船体は、実際に、荒れ狂う波によって動かされている。

 “巻き込み波”とは、サーファー達が好みそうな“高波”のことで、進み行く過程で崩れていく表現を伴う波だ。『アンチャーテッド 砂漠に眠るアトランティス』では嵐のシーンや津波のシーンがあるためこの表現に挑戦せざるを得なかったのだ。
「流体シミュレーションを実践しないと無理」と言われてきたこの表現テーマに対し、開発元のノーティドッグは、これまた“アイディアと技術”であっさりと実現してしまうのであった。

 やり方はシンプル。流体シミュレーションはやらない。算術曲線関数の“Bスプライン曲線”で、高波の断面形状っぽい曲線を作り、これで水面を持ち上げることで実現してしまったのだ。高波に乗る微細な波や泡沫は従来の水面表現のテクニックを組み合わせており、進みながら崩れゆく表現は適当なスケール値の掛け合わせや絞り込みのアニメーションで実践している。

アンチャーテッド コレクション
↑水面を、Bスプライン曲線を少し加工した形状(図中の赤い曲線)で持ち上げる。ただし、両端は絞って、見た目をそれっぽく調整。
アンチャーテッド コレクション
↑実際のゲームではこのような高波、巻き込む波の表現となる。
アンチャーテッド コレクション
↑描画後。
アンチャーテッド コレクション
↑実際のシーンにおける水面表現も、ここまで述べてきたような技術が応用されている。
アンチャーテッド コレクション
↑第3作では、沈み行く豪華客船の船内シーンも大迫力だ。

(次ページでは、アンチャーテッドにおける“環境による光の影響”、“足跡”や“パーティクル”の表現を解説)

この記事をシェアしよう

週刊アスキーの最新情報を購読しよう