【Watch記事検索】
最新ニュース
【11月30日】
【11月29日】
【11月28日】
【11月27日】
【11月26日】

西川善司の3Dゲームファンのための「2007年の3Dゲームグラフィックス」講座
私が2007年に愛したシェーダーグラフィックスたち



 2007年も残すところあと少し。最後に2007年の3Dゲームグラフィックスがどういう傾向だったのかを「まとめ」の視点から振り返ってみたいと思う。



■ 2007年の3Dゲームグラフィックストレンド(1)~影編

 2007年の3Dゲームグラフィックスにおいて、3Dゲームグラフィックスの各要素をテーマに掲げ、そのそれぞれの要素が印象的だったタイトルを筆者の独断と偏見に基づいてピックアップしてみたいと思う。

 まず、取りあげたいのが、リアルタイム3Dグラフィックスにおいて基本かつ最重要なテーマ「影」について。本連載で何度も述べてきているように、現在のポリゴンベースの3Dグラフィックスの描画パイプラインでは、ライティング結果の陰影としての「陰」はなんの工夫をせずとも出せるが、他者から遮蔽されることによって生じる「影」はただレンダリングするだけでは出すことができない。3Dキャラクタの鼻の穴の中が鼻の頭に覆われているのにもかかわらず明るく見えてしまっているのはそうした理由からだ。

メジャー級タイトルとしては「F.E.A.R.」(Monolith)が最後のステンシルシャドウボリューム技法採用タイトルか
 影の生成には特別処理系を組み込んでやらなければならない。これまで様々な影生成技法が考案され3Dゲームにおいて活用されてきた。なかでも記憶に新しいのは「DOOM 3」に採用されてから一時期流行した「ステンシルシャドウボリューム」技法だ。この技法は「DeusEx 2」、「EverQuest II」、「F.E.A.R.」などにも採用されたが、ジオメトリ負荷が高くオーサリングワークが面倒であったために徐々に衰退し、現在ではもう1つのメジャーな影生成技法である「デプスシャドウ」(シャドウマップ)技法が主流になりつつある。

 2007年、最も採用例が高かったと思われるのが「ロストプラネット」でも採用され、その万能性が再確認された「カスケード・ライトスペース・シャドウマップ」技法だ。詳しい技術的解説は初出記事を参照して欲しいが、シャドウマップ技法の弱点であった、広範囲に落ちる影の品質格差を克服する拡張を施したのが「ライトスペース・シャドウマップ」技法だ。シャドウマップ系の影生成技法ではそのシーンの遮蔽構造を、影の生成元となる光源位置から深度情報をレンダリングして生成するが、最新の3Dゲームグラフィックスエンジンでは、このシャドウマップを複数枚用意して(カスケードさせて)利用することが一般化してきている。影生成だけのために十数MBのビデオメモリを消費することになるが、数百MBのビデオメモリを搭載する今世代のゲーム機やPCでは、それほど無謀な実装ではなくなってきているのだ。

 期待のタイトルでは「KILLZONE 2」も、この「ライトスペース・シャドウマップ」技法を採用していることを明らかにしている。

【スクリーンショット】
「ロストプラネット」(カプコン)でも採用された「カスケード・ライトスペース・シャドウマップ」技法は、近年のタイトルでここ最近の影生成技法の主流になりつつある 欧米地域ではPS3における最大期待作「KILLZONE 2」(SCEA)の影生成技法もシャドウマップ技法をカスケード拡張実装したものになる


「Army of Two」(EA Montreal)より。ソフトシャドウ表現は当たり前のものになってきた
 影生成周りで、もう1つビッグトレンドとなっているのがソフトシャドウ表現だ。現実世界の影は、影の生成元となる光源が、完璧な点光源ではなく、線光源や面光源であることが多く、また光そのものが空気で散乱/乱反射したり、あるいはその他のオブジェクトによって反射したりするため、影の輪郭がぼやけやすい。リアルタイム3Dグラフィックスの影はどうしても輪郭がはっきりとしてしまったり、あるいはシャドウマップ系技法ではジャギーが目立つことがある。物理的にはまったく正しくないものの、これを低減してやわらかい影にしようとするのがソフトシャドウ表現だ。

 現在主流の技法は影ピクセルを散らしてぼやかす手法だ。2006年ぐらいから既によく用いられているのは「ロストプラネット」などでも採用されている近傍比率フィルタリング(Percentage Closer Filtering:PCF)によるボカシ処理をピクセルシェーダで実装するもの。

【スクリーンショット】
左は一般的な4点サンプリングのバイリニアPCF。右は9点サンプリングのバイリニアPCF。ソフトシャドウ処理はシャドウマップ技法による影生成のジャギー低減の役割も兼任している


UE3ベースで開発されたタイトルの影生成はバリアンスシャドウマップ技法が採用されることが多い。画面はUE3ベースで開発された「Stranglehold」(Midway)より
 もう1つは影の輪郭か否かの判定を0か1の二値判定ではなく、確率論の「チェビシェフの不等式」を持ち出して実数判定してその確率値を影の色としてしまう「バリアンスシャドウマップ」(Variance Shadow Map)技法だ。バリアンスシャドウマップ技法はUnreal Engine3.0(UE3)に標準採用されていることからUE3採用タイトルで利用が目立つようだ。

 2007年に発売された3Dゲームで、グラフィックスにそれなりにこだわりを見せていたタイトルのほぼ全てが影生成にまじめに取り組んでおり、みなうまくチューニングされていたように思う。特に感銘を受けたのは「CRYSIS」や「CALL OF DUTY 4」で、これらは地面に生える雑草類の影生成はさすがに省略されていたものの、それ以外の全てのものに対して影生成が行なわれていた。樹木のほぼ全てに対してもセルフシャドウが生成されており、森の中の暗さは、この動的に生成されたセルフシャドウによる木陰によるものなのが感動的であった。

【スクリーンショット】
「CRYSIS」(CRYTEK)の影生成は非常に頑張っている 「CRYSIS」より。ジャングルの地面の暗さはリアルタイム生成された影によるもの!
ソフトシャドウ表現も美しい「CRYSIS」 「CALL OF DUTY 4」(Infinity Ward)も影生成にこだわった作品。樹木の影はそのシーンの全ての明暗表現の根幹表現をになう


大局的な影生成が行なわれている「アサシンクリード」(Ubisoft Montreal)だが、影生成の品質は今ひとつ
 やや期待はずれだったのはUbisoft Montrealの「アサシンクリード」で、影生成はゲーム世界全域に行なわれる志の高いものなのだが、ソフトシャドウ処理が行なわれておらず、製品版でも、投射距離の長い影に強いジャギーや明滅が発生していた(Xbox 360版)。

 いずれにせよシャドウマップ技法は現行ハードウェアの性能と得られる効果のバランスも良いため、今世代ではしばらく主流技法となることだろう。



■ 2007年の3Dゲームグラフィックストレンド(2)~HDRレンダリング

HDRレンダリングは、いまやスタンダードフィーチャー。「Halo 3」(Bungie Software)より
 漆黒からまばゆい高輝度領域までをなるべく正確にレンダリングして、カメラや人間の視覚的なシミュレーションを行なってシーンフレームに“精製”する「HDRレンダリング」(High Dynamic Range Rendering)は、もはや実装されて当たり前になりつつある。

 特に屋外シーンを取り扱ったタイトルでは、その重要性が高く、単純に高輝度部分からブルームを発生させるだけでなく、トーンカーブを工夫しているものや、あるいは光筋表現を導入しているものもあったりと、各タイトルでユニークな工夫が見られるようになってきた。

 また、HDRレンダリングしたフレームに対し、視界の平均輝度から適切なトーンカーブを算出して表示することで、眼球の瞳の動作やカメラの自動露出機能を模した動的なトーンマッピングを実装したタイトルも珍しくなくなってきている。「Halo 3」、「CALL OF DUTY 4」、「アサシンクリード」、「CRYSIS」などはどれも屋外シーンをHDRレンダリングをうまく活用してリアルに表現していた。

【スクリーンショット】
「CRYSIS」では、HDRレンダリングに加えて、リアルタイム天球生成と光散乱シミュレーションを組み合わせることでリアルな空模様を再現していた 「CALL OF DUTY 4」もHDRレンダリングによる美しい屋外表現が魅力的
「CALL OF DUTY 4」では、アーティストによる色調チューニングと動的なトーンマッピングの組み合わせによりビジュアルそのものが印象的 「アサシンクリード」も屋外表現がリアルだ



■ 2007年の3Dゲームグラフィックストレンド(3)~法線マップと微細凹凸表現

法線マップによるディテール表現は今世代グラフィックスのスタンダード。「Dark Sector」(D3 Publisher)より
 3Dモデル上の細かなディテール表現に法線マップを利用することも、今世代の3Dゲームグラフィックスでは当たり前となった。法線マップとは、1ポリゴンで表現するには演算処理コストに見合わないような微細な凹凸面を、その微細凹凸の面の向きを表す法線ベクトルをテクスチャとして格納したもの。ピクセル描画時にはこの法線マップを参照して、取り出した法線ベクトルに配慮してライティングを行なうことで、実際には凹凸がないのに陰影を出すことができ、遠目には凹凸があるように見せることができるフェイク技術だ。正確には「法線マップを用いたバンプマッピング」というべきなのだが、最近では「法線マッピング」(Normal Mapping)という用語も定着しつつある。

 この法線マッピングは、石畳、煉瓦といったごくありふれた使用例の他に、車両や銃器などのモールド表現や人の顔のシワ、生き物のウロコのような表現などにも利用されるようになってきた。

 法線マップで表現できるのは、あくまで微細な凹凸まで。より立体的な凹凸を表現したい場合には、法線マップでは力不足となる。視線を近づけたり、あるいはその凹凸を掠め見たりすると不自然さが露呈してしまうためだ。

 これを克服する次世代バンプマッピング技術として徐々に3Dゲームにも実装されて実用化されつつあるのが視差遮蔽マッピング(Parallax Occlusion Mapping)だ。凹凸をただの平面にピクセル陰影処理によって再現するというコンセプトは同じだが、ピクセル描画時に視線との凹凸との位置関係性、そして他の凹凸からの遮蔽までを配慮する部分が決定的に異なる。

【スクリーンショット】
2005年に発売された「F.E.A.R.」では、視差遮蔽マッピングよりもシンプルな視差マッピングを実装していた。こちらは微細凹凸の遮蔽関係は無視するが、手前の凹凸が大きく見えるような異方性処理を行なうことで法線マップよりも立体的に見せられる


「CRYSIS」より。石の凹凸表現は視差遮蔽マッピングによるもの
 視線と凹凸の位置関係と凹凸感の遮蔽までが配慮されるということは、つまり、掠め見るように見ても理にかなった凹凸感が得られ、さらに他の凹凸から遮られたり、あるいは凹凸の影が他の凹凸にも及ぶという、いわば凹凸のセルフシャドウまでを再現できる。

 これは、微細凹凸に対して、ただ法線マップを下に陰影処理をするだけでなく、視線が凹凸に対してどうやってきてどこで衝突するのかを局所的なレイトレーシングを実践して調べていくことで実現される。つまり、微細凹凸の法線ベクトルを記録した法線マップだけでなく、凹凸の物理量としての高低情報(ハイトマップ)までが必要になる。局所的なレイトレーシングは負荷が高いし、参照するテクスチャの量も増えるのだが、GPUの高速化の後押しもあって、3Dゲームのグラフィックスエンジンに採用されるようになってきているのだ。この効果は、「CRYSIS」の川辺の石などで確認することが可能だ。

RADEON X 1000シリーズのデモ「TOY SHOP」より。このエンボスのアルファベットは視差遮蔽マッピングによるもの
 今後登場するタイトルである「Dark Sector」でも、この視差遮蔽マッピングの利用が確認できている。手っ取り早く、どんなものか見てみたいという人はATIのRADEON X1000シリーズの「TOYSHOP」デモを見るといいだろう。このデモの「TOY SHOP」と書かれた看板や歩道の石畳が視差遮蔽マッピングによって表現されている。



■ 2007年の3Dゲームグラフィックストレンド(4)~顔面編

NVIDIAのGeForce 8800 GTX用デモ「ADRIANNE」はリアルタイム3Dグラフィックスにおける顔面シェーダの可能性を感じさせた
 2007年に登場したタイトルで著しい進化が感じられたのは人間キャラクタの顔面表現だ。人肌は透明度の低い(ほとんど不透明だが透明度が少なからずある)材質で、入射光を反射するだけでなく、人肌内部に浸透した光が散乱して再び出てくるような陰影処理の実装が必要になる。こうした反射モデルは表面下散乱(Sub-Surface Scattring)というが、これはリアルタイム3Dグラフィックスへの実装は難しいとされてきた。

 ところが、近年では、簡易的な表面下散乱をさらに簡易実装した手法が、3Dゲームグラフィックスにも実装されるようになってきており、2007年内に発売されたゲームタイトルの中には「ほう」と感心させられるものがいくつかあった。

 特に驚かされたのは欧米地区では発売が開始されている「MASS EFFECT」だ。Xbox 360のXbox Liveではデモ映像が配信されているので、未見の読者は、ぜひ見て欲しいのだが、ATIのRUBYデモや、NVIDIAのADRANNEデモに匹敵するほどの肌のリアリティが表現できている。

【スクリーンショット】
リアルタイムレンダリングの顔面表現もここまで来た。「MASS EFFECT」(Bio Ware)より


 これは映画「マトリックス」の敵役エージェント・スミスの対コピー人間戦闘シーンで採用された手法の簡易実装版だと思われる。この手法は、RUBYデモやADRIANNEデモにも応用されているテクニックで、3Dモデルのライティング結果を2Dのテクスチャ空間へと展開し、テクスチャ空間でのブラー処理をした後再びテクスチャマッピングをするというもの。表面下散乱によって皮膚下で乱反射して減退した光が再び出射する様をテクスチャ空間のブラーで大胆近似して実装したものだ。

【スクリーンショット】
ライティング結果をテクスチャ空間でブラーさせて再びテクスチャマッピングすることで実現される擬似的な表面下散乱。ADRIANNEなどの実装ではブラー径を変えて複数のブラーテクスチャを生成して合成していた


 「MASS EFFECT」では、人間でなく、エイリアンの肌表現にも、この簡易表面下散乱が積極利用されており、生物的な質感がうまく伝わってくる。技術に使われているのではなく技術を効果的に活用している感じがとても好印象だ。

【スクリーンショット】
「MASS EFFECT」では人間以外の宇宙人にもこのテクニックが活用され、これもまたリアル


 「CRYSIS」も人肌表現は上手だが、簡易表面下散乱の効果よりはジオメトリワークとテクスチャワーク、そして人肌のスペキュラの出方の調整がうまくリアルに見える。同種のテクニックで「CALL OF DUTY 4」の人間表現もかなりリアルになっている。中途半端なリアルな顔面が引き起こす「不気味の谷現象」は、この様子ならばもしかすると今世代でいいところまで克服できるかもしれない。

【スクリーンショット】
「CRYSIS」もスキンシェーダによる顔面表現がリアルだ。これらもリアルタイムレンダリングによるもの。表情表現もかなりリアルなのも本作の特徴



■ 2007年の3Dゲームグラフィックストレンド(5)~水面編

 HDRレンダリング、影生成、法線マップに並び、水面の表現も2007年はほとんどの3Dゲームグラフィックスが一定の表現レベルに到達した要素だ。水面のレンダリングは要素として分解すると、まず、周囲の情景が水面に映り込む鏡像(反射)表現の品質、水底の情景が屈折して見える屈折表現の品質、そしてその鏡像と水底の見えるバランスを視線角度に応じて異方性処理するフレネル反射の要素が、最も基本的なものとなる。

【スクリーンショット】
「CALL OF DUTY 4」と「Stranglehold」より。この程度の水面表現は今や当たり前


 この基本要素に波を加えると見栄えとしては「今世代」感がグッとアピールされる。各タイトルごとの特徴はおもにその波の与え方と、その他の+α要素に現われている。

 波は動的な法線マッピングによるさざ波表現がもっともベーシックなものであり、2007年ではこれを超えるリアルなジオメトリレベルの波動表現が目に付くようになった。底の浅い水面だけでなく「CRYSIS」や「PT BOATS」では水深の深い大洋の波表現が実現されており、感心させられる。

【スクリーンショット】
「CRYSIS」の水面表現は浅瀬と大洋では別の処理系が実装されている。特に大洋の表現は複雑な波のアニメーションがリアルで美しい
「PT BOATS」(AKELLA)も大洋表現が美しい。この水面表現シェーダーの開発にはNVIDIAの協力があったとされる


 +αの要素というのは各タイトルごとにみられる独特な工夫。水深の深い方向に向かって高さフォグを生成して、水の不透明感を演出したり、波しぶき、泡といったパーティクル的な効果を付加しているものもある。「CRYSIS」では、水面を通してみた情景が色収差を起こす効果が加えられており、これは他のタイトルの水面効果には見られないものでユニークだ。

【スクリーンショット】
「CRYSIS」(EA)より。水面下から水面上の情景を眺めたところ。色収差を引き起こして情景が赤青緑に分離して見える 「CRYSIS」より。波だけでなく、激しい水しぶきがパーティクル表現でなされている



■ 2007年の3Dゲームグラフィックストレンド(6)~特殊効果

多くのソフトパーティクル処理は、シーン深度値とパーティクルの深度値(仮想的な厚み)を比較して、交差点に向かってパーティクル色を透明にしていくピクセルシェーディングで実現されている。実は意外に重い処理
 筆者は本連載で「今世代の3Dゲームグラフィックスの三種の神器は法線マップ、影生成、HDRレンダリングだ」と指摘してきた。実際のゲームタイトルではそうしたスタンダード要素以外に、各タイトルごとに特徴的な「特殊効果」が実装されることが多く、それがそのタイトルのビジュアルの特徴となっているケースが多い。

 各タイトルごととはいったものの、実際には、やはり、いくつかのトレンドは存在する。2007年、よく見られたのが「ソフトパーティクル」表現。炎や煙のような流体物を表現する際にパーティクルシステムが用いられるが、パーティクルとは言ってみればテクスチャを貼り付けたポリゴン板だ。シーンのその他の3Dオブジェクトとパーティクルが重なるとその交差線が可視化されてしまうアーティファクトが発生する。これを低減するピクセルシェーディングがソフトパーティクル処理だ。

【スクリーンショット】
ソフトパーティクルによる煙や炎の表現が印象的な「CALL OF DUTY 4」


 モーションブラーも、フレーム全体がぶれるだけの、これまで主流だった「カメラブラー」ではなく、速い動きをするオブジェクトの動きそのものにブラーが掛かる「オブジェクトモーションブラー」の採用例が目立つようになってきている。「ロストプラネット」で実装された2.5Dブラーがその代表格的技法で、「CRYSIS」などでもその効果が確認できる。

【スクリーンショット】
「ロストプラネット」におけるモーションブラーの有りと無しの比較。ロストプラネットでは2.5Dブラーと呼ばれるオブジェクトモーションブラーが採用された
「CRYSIS」においてもオブジェクトモーションブラーが実装されている


 高度な3Dグラフィックスハードウェアが台頭してきた影響もあって、ここ最近は、フォトリアル指向なグラフィックスが主流ではあるが、それとはコンセプトの異なる非リアル志向のグラフィックス表現も登場し始めている。

 なかでも注目を集めたのは、「Half-Life 2」シリーズの開発元で知られるVALVEが発売した「TEAM FORTLESS 2」(TF2)だ。「TF2」では、セルシェーダ(トゥーン・シェーダ)による明暗だけの二値判定的なライティングに、ハーフライフ2のために開発されたバイアス付きランバート照明(ハーフランバート照明)を掛け合わせ、さらにHDRレンダリングを適用して、まるてピクサーのラジオシティ風味のCGアニメのようなタッチのビジュアルに仕上げている。

 なお、ハーフ・ランバート照明とは、3Dグラフィックスでもっとも基本的な拡散反射モデルであるランバート照明計算にちょっとした細工をして陰影がなだらかに出るように工夫した、VALVE独自の“偽”ラジオシティ技法だ。「TF2」のビジュアルはまったくリアルではないが、なんとも味のあるグラフィックスを描き出しており、純粋に見た目に美味しい。

【スクリーンショット】
「TF2」(VALVE)はNPR表現+HDRレンダリングによる独特なビジュアルデザインになっている
「TF2」のNPR表現部はセルシェーダーとVALVE独自のハーフランバート・ライティングの合わせ技。これがピクサーCGアニメのような独特な味わいの秘密


 こうした非リアル志向のグラフィックス表現をNPR(Non Photo Realistic)表現というが、2008年には和製NPRグラフィックスタイトルが生を受けそうだ。それは「戦場のヴァルキュリア」で、ベースレンダリングシステムに鉛筆画風のリアルタイムハッチング・シェーダーが採用されている。

【スクリーンショット】
「戦場のヴァルキュリア」(セガ)より。リアルタイム・ハッチングによるNPR表現がユニーク



■ 2007年の業界動向を振り返る(1)~「ロストプラネット」が世界にもたらした“サムライ・ミドルウェア”ショック!

 後半は、2007年の開発シーンの業界動向を振り返ってみたいと思う。

 なんといっても話題を呼んだのは、本連載2007年の1回目に掲載されたカプコンの「ロストプラネット」のエンジン解説記事だった。「MTフレームワーク」と名付けられたカプコンのオリジナルミドルウェア(ゲームエンジン)は、きたる「マルチコアCPU+プログラマブルシェーダ3.0グラフィックス」時代を見据えた設計を他社に先駆けて実装実用化したものとなり、欧米主導だったゲームエンジン技術に日本の侍魂を見せつけた格好となった。

 無許可ではあるが、世界の開発コミュニティではこの記事の世界各国語の翻訳版が出回り、日本だけでなく、世界のゲーム開発者やゲームファンからも「ロストプラネット」が、2007年の3Dゲームのベンチマーク的存在として認知された。

 詳しくはもちろん初出記事の方を参照して欲しいが、特に注目したいのは、マルチコアCPUエンジン部分だ。MTフレームワークでは、ゲーム処理における根幹処理系をモジュールへと分解して専用スレッドに実行させ、さらにその各モジュールから発行される各種単位処理(ジョブ)をマルチコアCPUにマルチスレッド実行するように外注するような仕組みを採用している。

【スクリーンショット】
ゲームプログラムの流れを複数CPUとGPUが並列に動作できるように設計 Xbox 360(対称型マルチコアCPU)におけるスレッド実行の仕組み PS3(非対称型マルチコア)におけるマルチスレッド実行の仕組み


 この設計はXbox 360のCPUやPC向けCPU(Athlon系、Core 2系)のような対称型マルチコアCPUと相性がよい。逆に、PS3のCellプロセッサのような非対称型マルチコアCPUではフルパフォーマンスが発揮しにくいように思えるが、そのあたりの興味はMTフレームワーク採用作としては初のPS3向けタイトルになる「デビルメイクライ4」の完成度をみて判断することにしよう(Xbox 360版も同時発売)。

【スクリーンショット】
Xbox 360版のCPUは3コア×2SMTなのでハードウェア的に6スレッドを走らせられる。MTフレームワークではメインスレッド(ジョブ兼用)と4つのジョブ専用スレッドがそれぞれ5つのハードウェアスレッドに割り当てられている。「ロストプラネット」では6スレッド実装時には、シングルスレッド実装時に比べ2倍以上のパフォーマンスを発揮したという



■ 2007年の業界動向を振り返る(2)~DirectXの動向

次世代DirectXについて語ったマイクロソフト、ソフトウェアアーキテクト、Windowsグラフィックス、Chas Boyd氏
 3月、サンフランシスコにて開催されたGDC2007では、マイクロソフトが次世代DirectXの進化方針(ロードマップ)を提示した。ご存じの読者も多いと思うが、現時点では最新DirectXはDirectX 10であり、これはWindows Vistaにのみ独占供給されている。事実上、Windows XPはDirectX 9でDirectXプラットフォームとしての進化は終焉を迎えることになる。

 1月にWindows Vistaが発売されたばかりではあったが、さっそく次のDirectXの予告が報じられたのだ。次なるバージョンはDirectX 10.1。結論から言えば「+0.1」バージョンというだけあって、基本的にはマイナーチェンジにとどまるものであった。詳細は初出記事を参考にして欲しいが、比較的大きなポイントといえるのは以下の3点。

 1点目はプログラマブル・アンチエイリアス処理系の導入。これは、それまで各GPUメーカーが独自に実装してきたアンチエイリアス処理におけるサブピクセルのサンプル手法などをプログラマブルに定義できるというものだ。

 2点目は、レンダリング時、同時に複数バッファに出力するマルチレンダーターゲット(MRT)機能に対する拡張。具体的にはMRTによって生成され各バッファを自由にブレンドする仕組みなどが導入されるようだ。

 3点目は、新しいGPUドライバモデルとしてWDDM 2.1がサポートされるという点。これはWindows Vista環境下で仮想化されたGPUのマルチスレッディング粒度をさらに細かくするもの。直接的に近年の3Dゲームグラフィックスには関係ないが、CPUとGPUの統合を積極的に推し進めるAMD(ATI)や、汎用ベクトルプロセッサアレイとしてのGPUの新たな活路を見出そうとしているNVIDIAにとっては、このテーマは極めて重要なのだ。

 それと、もうひとつ。おそらくDirectX 10.1にて標準採用されることはないとは思うが、個人的に興味があるのはATIのRADEON HD 2000シリーズより実装されたハードウェアテッセレータの取り扱いについて。鳴り物入りで実装された待望の機能だが、現時点では業界からはものの見事に無視されたままだ。

 ちなみにRADEON HD 2000シリーズに独自実装されたこのハードウェアテッセレータは、Xbox 360 GPUに搭載されているものとほぼ同仕様のもので、頂点データを増やすだけの機能を果たす単純なもの。具体的には、入力頂点データ列を加工するような役割を果たすので、いわば頂点アセンブラの補助ユニットのような形で実装されている。ちゃんと“意味のある”テッセレーションを完遂するためには頂点シェーダ側で後処理をする(分割した頂点に対してジオメトリ情報を整える)必要がある。少々面倒な仕組みだが、新たなシェーダパイプラインを追加せずに、DirectX 10パイプラインに互換性を崩さずにテッセレータを組み込んでおり、発想としては面白い。

 マイクロソフトは、DirectX 10においては、GPUメーカー間での機能格差を許さないと言っていたのに、公約後、1年も経たないうちに大手GPUベンダーがこれを無視するような新機能追加をしてきたわけで、マイクロソフトとしてこの問題をどう舵取りするか、視線が集まる。

 ちなみに、DirectX 10.1対応GPUとしては2007年11月、いち早くATIがRADEON HD 3800シリーズを投入してきており、そのホワイトペーパーにDirectX 10.1のスペックが記載されているが、そこにはテッセレータの取り扱いについては記載されていない。

【スクリーンショット】
ATIがRADEON HD 3800シリーズを発表したときに公開したDirectX 10.1の新フィーチャー一覧


 なお、DirectX 10.1は2008年第1四半期にリース予定のWindows Vista Service pack1に含まれることになっている。このタイミングで競合のNVIDIAの動きもあることだろう。

 DirectX 10.1のさらにその次にはDirectX 11の提供が予定されている。DirectX 11では、GPUをさらに汎用のベクトル演算リソースとして取り扱えるための仕組みを拡充させるとしている。ベクトルデータの配列構造を柔軟に取り扱え、さらに複数の入力/出力データストリームの同時取り扱いやスイッチングなどのサポートが視野に入れられている。簡単に言えばDirectX 11世代におけるGPUは、DirectX 10世代の時以上にプログラマブルDSPとしてのポテンシャルを持たされる可能性が高いということ。これはいうまでもなく、前述したCPUとGPUの統合のソリューションにとっても都合がいい。

 興味深いのは、DirectX 10の規格制定で結果的に先延ばしとなったテッセレータの仕組みがDirectX 11のときにはちゃんとパイプラインに組み込まれるだろうと予見されているところ。

【スクリーンショット】
DirectX 11(?)のパイプライン。第4のプログラマブルシェーダとして「コントロールポイントシェーダー」が新設される A-Bufferの概念は本当に次世代DirectXに搭載されるのか!?


 開発者達の注目を集めているDirectX 11の最大の機能といえば「A-Buffer」の概念の導入だ。これは簡単に言えば描画順序の依存性を排除する仕組み。3Dゲームグラフィックスの描画において面倒な問題としてつきまとうのは、半透明オブジェクトの取り扱いについて。半透明オブジェクトは描画前に描画順序をソートしないと描画結果が変になってしまうことがあるのだ。シンプルなテーマだが、面倒で負荷もそれなりにあるため、これから解放されるのはとても嬉しいことなのだ。

 DirectX 11の登場時期についてはまったく未定。パイプラインやAPIの仕組みが一新されそうなので、次期Windowsのタイミングの可能性が高いだろう。DirectX 10.1やDirectX 11についての最新情報は2008年のGDC2008における本連載でフォローしていきたいと考えている。

【スクリーンショット】
テッセレータがあれば、こうした3D基本モデルを…… テッセレーションで多ポリゴンに加工し……
ディテールとなる凹凸をテクスチャのハイトマップで与えて…… これを元に3Dモデルの細部をジオメトリレベルで変移させるディスプレースメントマッピングがシステマチックに行なえる



■ 2007年の業界動向を振り返る(3)~ミドルウェア事情を振り返る

 2007年は、ミドルウェアの話題も豊富だった。まず、3月にPS3関連で大きな動きがあった。それはPLAYSTATION Edgeなるミドルウェアの発表だ。

 プレイステーション 2の時もそうだったが、プレイステーションファミリーはどうもグラフィックスハードウェアが弱い。PS3もグラフィックスプロセッサはXbox 360の半世代前、最新PC向けGPUの2世代前のものを採用し、その他の部分が最先端技術の博覧会状態なのを考えれば、ややアンバランスに見える。ただし、プレイステーション(1)の成功を受けてナンバーワンプラットフォームを維持できたPS2は、いわば「GPUの性能差が戦力の決定的な差でない」ことを証明していたわけで、PS3にもこの方程式が利いてくるとも思えた。

 しかし、Xbox 360が先に発売されてしまった今世代では、特にマルチプラットフォーム展開されるサードパーティ製ゲームの場合、ゲームの基本設計においてXbox 360をベンチマークにして行なわれることが多く(特に海外のサードパーティのゲームスタジオ)、同レベルのタイトルをXbox 360とPS3で出そうとすると、PS3側ではジオメトリ処理が辛いという声がよく聞かれるようになってくる。

 この問題に対し、速攻で対応してきたのが「PLAYSTATION Edge」と呼ばれるソニー謹製フレームワークだ。詳細は初出記事を参照して欲しいが、簡単にいうと、これはPS3のCELLプロセッサのSPE(Synergistic Processor Element)をグラフィックサブシステムの、特に頂点処理(ジオメトリ処理)の助っ人に起用するようなものになる。いうなればSPEを頂点シェーダ的に活用できる仕組みといってよいかもしれない。

 その効果は非常に高いと報告されており、1SPEあたり80万ポリゴンの処理をしても60fpsがキープできるというから相当なものだ。なお、7基あるSPEのうち、最大6基をこのPLAYSTATION Edgeに割り当てられるとされている。もともとはAIや物理シミュレーションに利用するために用意されたSPEを、グラフィックス処理に利用するのはなんか釈然としない気もするが、もともと汎用用途のSPEなので、そういう用途もありといえばありなのだ。

 現在、いわゆるテクノロジーアドバンスな3Dグラフィックスを実装しているメジャーなファーストパーティタイトルはかなりの割合でPLAYSTATION Edgeをゲームエンジンに組み込んでいるとされる。具体的なタイトルをあげると、SCEEが2008年に発売を予定している「KILLZONE 2」、和製ではポリフォニーデジタルの「グランツーリスモ5」にも組み込まれていると聞く。

 2007年内はあまりパッとしなかったPS3だが、2008年こそ、PS3のブレイクの年として期待したい。

【スクリーンショット】
「グランツーリスモ5 プロローグ」(ポリフォニー・デジタル)と「KILLZONE 2」。こうしたファーストパーティタイトルで採用が進むPLAYSTATION Edge 「KILLZONE 2」ではSPEが頂点シェーダの補助役として大活躍する


 海外系の著名なミドルウェアエンジンやゲームエンジンについても触れておこう。日本では、なにかと「お騒がせ」だった「Unreal Engine 3.0」(UE3)だが、海外では2007年、UE3採用ライセンシータイトルが少しずつだがリリースされた。

 2007年後半には「Army of Two」、「Stranglehold」、「BLACK SITE: AREA51」(MIDWAY)などが、リリースされており、一定の人気を集めている。日本でも、ミストウォーカーがUE3を用いて開発した「ロストオデッセイ」も12月にXbox 360専用タイトルとして無事発売され、この後にはスクウェア・エニックスのUE3採用作「ラスト レムナント」もPS3、Xbox 360に発売を控えているという状況。

 当初、「安定しない」、「パフォーマンスが出ない」と陰口ばかりが聞かれ、さらにはUE3開発元のEPIC GAMESのサポート不備に対してSilicon Knightsが訴訟を起こすなど、負のイメージが漂いつつあったUE3だが、2006年から2007年の間に開発者達に相当に揉まれたことで完成度を高くしたようだ。UE3開発元であるEPIC GAMESが自ら制作した「Unreal Tournament III」も11月に発売され、とりあえずUE3現象は一段落を迎えたといえるかもしれない。

 UE3には賛否両論はあったが、とにかくUE3が訴え続けたプログラマブルシェーダグラフィックスとミドルウェアの重要性を業界に伝わったことは功績として認めてあげたい。

【スクリーンショット】
「Army of Two」 「Stranglehold」
「BLACK SITE: AREA51」 「ロスト オデッセイ」(ミストウォーカー)は発売に“漕ぎ着けた”和製UE3採用タイトル第1号


 この他、海外エンジン系では「The Elder Scrolls IV: Oblivion」(Bathesda Softworks)が採用したことで知られるゲームエンジン「GameBryo」がVer2.2となり、これまでのPCとXbox 360に加えて、ついにPS3がサポートされたことがホットトピックとなった。特に「Floodgate」と呼ばれるストリーミング・プロセッシング・エンジンが搭載されたことが強調されている。これはグラフィックス前処理、AI、サウンド処理、物理シミュレーションなどのゲーム進行に必要になる各種ゲーム処理上の単位ジョブをPC、Xbox 360、PS3の各プラットフォームにおいて最適なマルチスレッド処理に置き換えて実行してくれる仕組みだ。

 物理シミュレーションはAGEIA PhysXライブラリを採用。グラフィックスエンジンは今世代に相応しいプログラマブルシェーダ3.0ベースのものに改良され、デプスシャドウ技法による影生成、法線マッピング、HDRレンダリングといった今世代のトレンドを全てサポートする。

 開発元のEmergent Game Technologiesによれば「一通りの最先端テクノロジーには対応しつつも、ライセンス費用はUE3よりもかなり安価」と強調されており、今後、中小規模のゲームスタジオの期待の星となるかもしれない。

【スクリーンショット】
Gamebryo2.2の新シーンエディタ Gamebryo2.2のアニメーションシステム GameByro2.2の3ds maxプラグイン
ベストセラーRPG「The Elder Scrolls IV: Oblivion」の採用エンジンということで知名度が向上しつつある「GameBryo2.2」 あのシド・マイヤーも「Sid Meier's Pirates!」(Firaxis Games)にてGameBryoを採用


 和製ミドルウェアで2007年に大躍進したのが「MOTION PORTRAIT」(モーションポートレート)だろう。これは正面からの顔写真のみから顔の中の目、鼻、口を自動認識して3Dモデル化できるシステム。3Dモデル化した顔面に対しては任意の方向に傾けたり、様々な表情アニメーションを適用できる。根幹技術の開発はソニーが行ない、ミドルウェアの形として実装するにあたってSilicon Studioと共同開発を実施、ビジネスの遂行にあたってミドルウェア名と同名の会社を興して対応している。

「涼宮ハルヒの憂鬱」
 もともとは前述のとおり、実写の写真から作り出した3D顔モデルへの表情適用技術だったのだが、2Dベースのアニメ顔に対してもこの技術が応用できることが認められ、ゲームへの応用が始まっている。採用第1弾はPSP用「涼宮ハルヒの憂鬱」(バンダイナムコゲームス)だ。

 ユニークなのは単なる画像変形ではないということ。3Dモデル化されているのでライティングがなされて陰影が動くし、眼球には光源位置に対応したハイライトが付く。開いた口からはちゃんと歯や舌も合成されるという徹底ぶり。

 微妙なリアルさと非リアルのバランスが好評を博し、テレビ番組やライブイベントなどにも採用例が増えている。顔モデルへの表情合成やアニメーションにはそれほどGPUパワーが必要ないため、携帯電話への実装も行なわれている。近い将来、自分の顔で泣いたり笑ったりする「顔文字」入りのメールが届くようになるかもしれない。

【スクリーンショット】
正面の顔写真から3D顔モデルを生成。様々な表情を合成可能 実在する人間の写真だけでなく、アニメ顔にも対応する。これがウケてゲームへ採用された


 もう一つ、プロメテックソフトウェアの「オクターブエンジン」も、業界に話題を提供した。あまり、聞き慣れないメーカーのミドルウェアがメジャー級の「鉄拳6」(バンダイナムコゲームス)に採用され、このことが東京ゲームショウ会期と同時に発表されたためだ。  「オクターブエンジン 1.0」(OE1.0)は現時点では自然現象シミュレーションに特化したミドルウェアだ。

 第1バージョンであるOE1.0は、水面表現のシミュレーションコアの「Water Surface Beat」(WSB)、砂のシミュレーションコアの「Sand Surface Beat」(SSB)、自然な空の色のシミュレーションコアの「Sky Beat」(SB)の3つからなっており、このうち「鉄拳6」に採用されたのは水面表現のシミュレーションコアのWSB。一般的な水面表現では水面にのみ波動シミュレーションを行なって表現するが、WSBでは流体物理シミュレーションを実行し、水そのものの動きを算出してから水面を決定している。水の粘性などのパラメータにも配慮されるので波の速さや高さの関係性から水面が維持できなくなると、ちゃんとそこから水しぶきを発生させることにも対応している。

 ちなみにSSBも流体物理シミュレーションを行なって砂地をリアルタイム生成している。一方、SBは光散乱シミュレーションなどを行なってリアルな天球スカイボックスを自動生成するもので、WSBとSSBとはちょっと毛色の違うシミュレーションコアになる。いずれにせよ、このことは、流体物理シミュレーションが3Dゲームに普通に採用される時代になってきた問うことを表わす象徴的な出来事だったといえる。

【スクリーンショット】
オクターブエンジンの水面表現が「鉄拳6」に採用された 水面表現のシミュレーションコアの「Water Surface Beat」
砂のシミュレーションコアの「Sand Surface Beat」 自然な空の色のシミュレーションコアの「Sky Beat」


 2007年後期にはマイクロソフトがXNAをバージョンアップした。ついに「XNA Game Studio 2.0」(以下XNA 2.0)が発表されたのだ。

 XNAとはWindows PCとXbox 360の両方で動作できるゲームを開発できる仕組み(フレームワーク)のこと。異なるハードウェアプラットフォーム間でプログラムを動作させられるマイクロソフトの「.netフレームワーク」を応用し、これをゲーム開発向けにカスタマイズしたものがXNAになる。そしてこのXNA、特筆すべき点は無料提供されるということ。つまり一般ユーザーがXbox 360やWindows PCで動作するゲームを無料で開発できるということだ。

 XNA 1.0からXNA 2.0の最大の進化ポイントは、ついにXNAでネットワークゲーム(ネットワーク対戦ゲーム)が制作可能になったというところ。ネットワークインフラとしてXboxプラットフォーム向けネットワークシステムのXbox Liveを利用することもできるし、あるいはXbox Liveを介さない直接接続のシステムリンクも実現可能だ。もちろん、Windows PCとXbox 360の相互接続にも対応している。

 XNA 2.0の登場により、ついに一般ユーザが無料でネットワーク対戦ゲームを開発できる時代になったのだ。なお、マイクロソフトは、優秀作品はXbox Live Arcadeにて有料コンテンツとして配信する用意もあるとしており、アマチュアゲームクリエイターのデビューを呼びかけている。今後の盛り上がりようによっては、XNAがゲームクリエイターとしての登竜門的な位置付けになるかもしれない。

【スクリーンショット】
XNA Game Studioの概要。根幹技術として「.netフレームワーク」がある ネットワーク対戦に対応したXNAサンプルゲームとして紹介された、米TORPEX GAMESがXNA 2.0ベースで開発した「SCHIZOID」(シキゾイド)



■ おわりに~次世代物理シミュレーションに期待

 年末年始ネタということで、最後に、2008年以降の3Dゲームグラフィックスの進化の方向性を勝手に占ってみよう。

 ビジュアル面では、PS3、Xbox 360では、そのライフタイム期間、プログラマブルシェーダ3.0仕様と付き合っていくことになるし、PCにおいてもここしばらくはDirectX 10.xベースに踏みとどまるので、2007年の間に登場した最先端3Dゲームグラフィックスがさらに洗練されるような進化を見せることだろう。

 逆に進化の伸びしろがまだまだ期待されるのはアニメーション(アクション)や物理シミュレーションの部分だと思う。Xbox 360、PS3、PCといった最新世代のゲームプラットフォームがマルチコアCPUを採用したことから、「今世代の3Dゲームは物理シミュレーションが凄くなる」と期待されてきた。

 確かに衝突時の挙動のリアリティは向上し、死体アニメーションのラグドール物理も見た目に面白くはなっているが、前世代の物理シミュレーションの絶対量を増やしただけの実装が目立ち、2007年の間に劇的な進化を実感することはできなかったように思う。これは、ゲームエンジンの根幹設計と物理シミュレーション部分の親和性の進化が発展途上のためで、この分野についてこそ、来年以降大きな進化が期待される。

 2007年の間に、うまく次世代感を実現できていたものを無理矢理ピックアップしたとすれば「Stranglehold」や「CRYSIS」だろうか。「Stranglehold」や「CRYSIS」ではシーン内の大道具のほぼ全てが破壊可能となっており、ある程度の仕込みはあるものの、敵や味方の銃弾でシーンがダイナミックに破壊されていくゲーム展開は爽快だ。

 「Stranglehold」では敵弾を避けるためにコンクリートの壁に隠れても、そのコンクリートの壁が敵銃弾により徐々に崩壊していく様などは、確かに次世代感を感じる。「CRYSIS」では木の幹や枝が銃弾によって着弾地点から折れるし、多くのゲームでは絶対に破壊不能設定にしておく家屋類までもがダイナミックに崩壊する。

 ただ、「Stranglehold」や「CRYSIS」も完璧ではなく、処理負荷低減のために相互衝突判定に手抜きがあるようで、ジャンプの着地で地面より下に潜ってしまったり、殺した敵が壁を突き抜けて横たわったり……という前世代的な物理エンジンの表現が時々露呈していた。

【スクリーンショット】
なんでも壊れる「Stranglehold」
ヘリから家から机まで。「CRYSIS」では登場する3Dモデルのほとんどがダイナミックに破壊可能


 一方、PS3のCellプロセッサのパワーを物理シミュレーションに振ったと言われていた「ヘヴンリーソード」(SCE)は事前生成されたモーションアニメーションと物理シミュレーションによる動的なアクションとの合成がいまひとつで、床を滑って歩いたり、壁に到達しているのにまだ歩こうとしたりといった不自然さが目立っていた。

【スクリーンショット】
もう少しちゃんと作り込んで次世代感を体感させて欲しかった「ヘブンリーソード」。このジャンルではやっぱり「ゴッド・オブ・ウォー3」に期待か?


 「おせちもいいけどカレーもね」は正月の決まり文句(?)だが、とにかく2008年以降は「グラフィックスもいいけど物理もね」をスローガンにして3Dゲームを見つめていきたいと思う。

 この時期になるとよく聞かれる「年末年始、どのゲームがお勧め?」という質問に対して、西川善司個人としては「アサシンクリード」(Xbox 360)と「CRYSIS」(PC)の2タイトルを推しておく。この2つはビジュアル的にもそしてゲームプレイ的にも2007年を代表する3Dゲームとなっていると思う。「CRYSIS」については、CPUはデュアルコア以上、GPUはGeForce 8800 GT以上、メインメモリは2GB以上のハードウェア・アップグレードを行ない、1,280×720ドット解像度でのプレイをお勧めしておく。

【スクリーンショット】
「アサシンクリード」と「CRYSIS」は、年末年始の2007年の3Dゲームグラフィックステクノロジー体感ツアーとしては最適ではないかと思う


□関連情報
西川善司の3Dゲームファンのためのグラフィックス講座 バックナンバー
http://game.watch.impress.co.jp/docs/backno/rensai/3dg.htm

(2007年12月27日)

[Reported by トライゼット西川善司]



Q&A、ゲームの攻略などに関する質問はお受けしておりません
また、弊誌に掲載された写真、文章の転載、使用に関しましては一切お断わりいたします

ウォッチ編集部内GAME Watch担当game-watch@impress.co.jp

Copyright (c) 2007 Impress Watch Corporation, an Impress Group company. All rights reserved.