西川善司の3Dゲームファンのための「MTフレームワーク2.0」講座
カプコン次世代ゲームエンジンの真実! 早くも「ロストプラネット2」のハイテクビジュアルの秘密を公開!!







【著者近影】
 3Dゲームをこよなく愛するテクニカルジャーナリスト。本誌では主にGPUや3Dグラフィックス関連の記事を執筆している。6月は未曾有の新型インフルエンザ騒ぎの中、渡米し、E3取材を敢行。滞米中、眠る時にはアイマスクと感染防止マスクを装着していたために、怪人のような姿に(写真)。個人ブログはこちら

 ゲームプラットフォームは、その世代更新のたびに、ゲーム開発の規模が大きくなり、より複雑性を増す。これに対応するため、2004年頃、マイクロソフトやソニーの次世代機の噂が流れはじめた頃から、先進的なゲームスタジオは、そのゲーム開発基盤をフレームワーク化していくことを検討し出す。ここでいうフレームワークとは、ゲームプログラムの骨格となる部分をコモン・ライブラリ化していく方策のこと。

 この潮流を「ゲームエンジン」という形でまとめたのが、いわずと知れたEPIC GAMESの「Unreal Engine 3.0」だった。もともとゲームスタジオ単位というよりは開発チームごとの独立性や独自性を重んじてきていた日本のゲームスタジオにとってはこの潮流を受け入れることには、当初、抵抗があったように見受けられる。

 2009年の今でこそ、日本と欧米との技術格差のようなものはないと断言できるが、少なくとも、2005年~2006年くらいまでは、「マルチコアCPU」「プログラマブル・シェーダー・アーキテクチャ」という新しい技術テーマへの基礎研究が、多くの日本ゲーム開発現場では十分でなかったように思える。それは技術面において、欧米勢にスタートダッシュを決められたように見えたものだった。

 この中で、カプコンは、この時代の流れの先を見据えて「ゲームエンジン」、「マルチコアCPU」、「プログラマブル・シェーダ-・アーキテクチャ」について、先行研究を行なっていた。その研究の集大成がカプコンが誇る「MTフレームワーク」ということになる。今回は、前後編でお送りした「バイオハザード5」編の追加特別編という形式をとって「MTフレームワーク」の最新事情をお届けする



■ MTフレームワーク2.0ではサードパーティへの展開も視野に入れる!

カプコン「バイオハザード5」プロデューサー竹内潤氏
カプコン技術研究室プログラマー石田智史氏

 まず最初に、「バイオハザード5」プロデューサーの竹内潤氏にMTフレームワークにまつわる戦略について伺った。

竹内氏「MTフレームワークは、柔道戦でたとえていうならば、先鋒、次鋒、大将という感じの三段階戦法で成熟を進めてきました。先鋒が『デッドライジング』、『ロストプラネット』、次鋒が『デビルメイクライ4』、大将が『バイオハザード5』です。この戦法で、MTフレームワークを通して今世代機に向けてのゲーム開発において経験を獲得、成功も収めました。続いて、さらにその先の未来の次世代ゲーム開発に挑むべく、我々は同じ戦法を展開していきます。その手段となるのが、現在も開発を進めているMTフレームワーク2.0(MTFW2.0)です。もう、各報道でご存じの人も多いでしょうが、「MTFW2.0」の先鋒戦は『ロストプラネット2』になります」

 MTフレームワークは、対外的な告知はないが、社内的にはコードネーム的にバージョン呼称がなされていた。各タイトル開発プロジェクトごとにマイナーチェンジレベルではあるが機能強化が行なわれ、バージョン番号はタイトルと1対1に対応する形となっている。具体的には下記のような流れとなる。

    MTFW1.0…「デッドライジング」(2006年)
    MTFW1.1…「ロストプラネット」(2006年)
    MTFW1.2…PC版「ロストプラネット」(2007年)
    MTFW1.3…「デビルメイクライ4」(2008年)
    MTFW1.4…「バイオハザード5」(2009年)

 「MTFW1.x」は、Xbox 360とPCをメインターゲットとしたような基本設計がなされている印象があり、これをPS3へ対応させるというようなアプローチで成熟を進めてきたように思える。これは“えこひいき”があったわけではなく、カプコンが次世代ゲーム開発技術を先行して実験研究開発を進めていく上で、存在したハードウェアがまずPCだったこと、そして次にやって来た開発環境がXbox 360だったことが大きく影響したまでだ。ゲーム機本体の発売も、Xbox 360が2005年末、PS3がその一年後の2006年末という順番だったことを考えれば、この流れは致し方のないことだといえる。

 時が進み、Xbox 360、PS3、そしてPCにおいてそれぞれの得手/不得手への理解が進んだことで、最初から3プラットフォームをターゲットにした新アーキテクチャのゲームエンジン(開発フレームワーク)を再設計しようという動きが起こる。これが「MTFW2.0」の開発の発端だ。

竹内氏「我々も、『MTFW1』の経験を通して、開発フレームワークの重要性、そこにおけるゲーム開発の利便性というものへの理解が深まりました。『MTFW2.0』では全てのプラットフォームへの汎用性がより進むこともあって、一歩進んだ戦略も検討しています。それは、我々カプコンのサードパーティにも『MTFW2.0』を使っていただこうという戦略です」

 竹内氏によれば、「『MTFW1』を通したカプコンとしてのゲーム開発戦略」が広く報じられ、さらに『MTFW1』ベースのタイトルの連続ヒットもあって、各社から『MTFW1』についての問い合わせが相当数あったという。しかし、『MTFW1』は社内向けの内製エンジンであり、社外に出すことは全く考えていなかったため、カプコンとして、竹内氏としても心苦しい部分があったのだそうだ。

 こうした問い合わせの声を受けて、エンジンビジネスを展開するというわけではないものの、カプコンとの協力関係にあり、開発能力の高いゲームスタジオには、「MTFW2.0」を使ったゲーム開発に従事していただくというソリューションを検討中なのだという。

 具体的な例で言えば、カプコンがプロデュースしてパブリッシングするゲームタイトルや、あるいはカプコンの人気シリーズのスピンアウト作品などでは、「カプコンブランドだが他社開発でゲームエンジンは『MTFW2.0』ベース」というゲームも将来出てくることがあるかもしれないということだ。

 ちなみに、バンダイナムコゲームスにも「NUライブラリ」という、人気タイトル「ナルティメットストーム」にも採用された優秀な内製ミドルウェアがある。これは広くサードパーティにも使われており、今や、大手スタジオの内製エンジンをサードパーティが利用すること自体は珍しいことではない。しかし、当初、内製タイトル向け専用エンジンと言い続けてきたカプコンの「MTFW1」が、「MTFW2.0」から大きく戦略を変えてきそうだというのは、とても興味深い話である。

 さて、そろそろ次世代機の話もポツポツと出始めている昨今。この時期での「MTFW2.0」の開発推進は、やはり、次世代機を睨んでのアーキテクチャ・フルチェンジということなのだろうか。

竹内氏「将来的なコア数の増加にも柔軟に対応できる設計にしていますし、ええ、ウワサのLarrabeeにも興味はあります(笑)」

石田智史氏「そうですね。『MTFW2.0』ではDirectX 11への対応は積極的に行なっていきます。既にリリースされている評価版DirectX 11にはビルドを通しました。え? Larrabeeですか。昔からソフトウェア・レンダラーを書いていたので、やらせてくれるんならば、むしろ、楽しみですよ(笑)」


■ 次世代機と次世代技術を見据える「MTFW2.0」

PCプラットフォームは今後もサポートを公言する竹内氏
カプコン技術研究室室長伊集院勝氏
「バイオハザード5」の取材で、まさか「MTFW2.0」のデモが始まるとは筆者も予想できず! ラッキーであった

 日本のゲームスタジオで、PC版を定期的にリリースしているところが減ってきているが、カプコンはMTフレームワークベースの作品は比較的早くPC版をリリースしてくれる傾向にある。この流れは「MTFW2.0」にも継承されていくのだろうか。

竹内氏「先ほどのLarrabeeの件もそうですが、ゲームプラットフォームの(技術面での)最先端は、今やPCなんですね。技術面で世界のトップクラスに居続けるためにはここは無視できないんです。PCプラットフォームの研究、PC版提供については「MTFW2.0」においても戦略面で変えるつもりはありません。ただ、今(2009年5月)の状況は微妙なタイミングといえます。というのもWindows 7、DirectX 11登場前なわけで、今年、何かを出そうとするとこれらへの対応も無視できないんです。その意味で我々から具体的なPCプラットフォーム向けのアナウンスを出しづらいというのはあります(笑)」

 竹内氏によれば、PCに関しては今年以降のPC関連企業の動きが読みにくいということだ。「MTFW」チームとしてもGPGPUへの対応にも興味があるとのことだが、CUDA、OpenCL(含むATI Stream)、DirectX演算シェーダ、それぞれに対応すべきなのか、どれか1本に的を絞るべきなのか、メインストリームが読みにくく決めかねているという状況のようだ。何はともあれ、「バイオハザード5」のPC版の発売決定はアナウンスされたし、今後もカプコンのPCプラットフォームへの対応は続くと言うことなので、ひとまずPCユーザーはホッと胸をなで下ろしたのではないだろうか。

 「Xbox 360、PS3の次」という意味においての「次世代機」は「MTFW」チームとしてはどう睨んでいるのだろうか。多くのゲーム開発者は現行ハードウェアの延長線上に進化していくことを望んでいるようだが、PS2→PS3のようにドラスティックな進化がやってくる可能性も否定できない。

伊集院勝氏「次世代機ですか。我々としては、どんなもんでも来い、という感じでしょうか(笑)。むしろハードウェアが劇的に進化してくれないと、次のゲームの形が見えてこなくなると言いますか。Larrabeeでソフトウェアレンダリングになったとしたら、それはそれで我々だけの画作りができるようになるじゃないか……という前向きな捉え方になると思います」

竹内氏「我々開発サイド側としては、各ハードメーカーさんの次の一手には注目しています。開発環境の整備や新しいメディアの登場、Wiiのように何か凄い事がありそうな期待感を持っています」

 新ハードが登場した後、しばらくは、ゲーム開発者側はそのハードウェアのポテンシャルを活かしきるため試行錯誤に苦しみ、しばらく苦難の時期を迎える。そしてその苦難の時期が終わると、そのハードのポテンシャルの限界を超えたような成熟したゲームタイトルが出始めるようになる。ゲーム史を振り返るとほぼ間違いなくこのパターンが繰り返されてきている。

 PS3、Xbox 360、DirectX 9/10ベースのPCといった今世代ゲームプラットフォームは、いままさに、成熟期を迎えようとしており、この成熟期において、優位かつ効果的なゲーム開発を行なうためのカプコンなりのアプローチが「MTFW2.0」ということなのだろう。

 そして興味深いのは、前述のMTFWチームの発言を聞く限り、この先の次世代機の登場を恐れていないと言うことだ。2005から2006年に掛けて起こった今世代機におけるドラスティックな技術革新の局面では、日本の開発現場が海外に遅れをとったわけだが、カプコンのMTFWチームは次に向けても秘策があるようで、「次世代機の技術革新よ、どんと来い」という姿勢で頼もしい限りである。少なくとも今世代機において、MTFWは日本のゲーム開発シーンにおいて技術的な見本、そしてまた世界戦略的な意味合いにおいてもベンチマーク的存在となった。こうなっては、カプコン「MTFW」開発チームの次の一手に注目しないわけにはいかないだろう。



■ 「MTFW2.0」に向けて~「バイオハザード 5」の開発を振り返る

カプコン第二グラフィック制作室デザイナー平林良章氏

 「MTFW2.0」に込められたコンセプトが大体わかってきたところで、具体的に「MTFW2.0」の姿を見ていくことにしよう。

 まずは、「バイオハザード5」でひとまずの区切りを向かえたという「MTFW1」プロジェクトについて、「バイオハザード5」の開発を終えてから見えてきたという課題についての話題から取り上げたいと思う。

石田氏「技術カンファレンス等のポストモーテム的な技術セッションでもよく話題に上るのですが、現在主流のシェーダー管理方式だと、そのシェーダーのバリエーションが膨大になりすぎるんです。現在、『MTFW1』でも管理方式は『シェーダー・パイプライン』単位です。シェーダー全体を1管理単位としていて、例えば頂点シェーダーのスキニングは4ウェイト、光源はこれで、法線マップはこれでという感じで設計されています。ですから、光源の数や法線マップの指定を変えただけで別シェーダーとなり、バリエーションが増えるわけです。『バイオハザード5』では、シェーダー・バリエーションが10万種を超えました。これはどうにかしないといけないと思いました(笑)」

 結果的に、「バイオハザード5」では、シェーダだけで16MBくらいのメモリを占有するようになってしまったとのことだ。また、現状、シェーダ内における光源の指定は静的分岐命令を駆使してバリエーション増加を押さえ込んでいたが、PS3のGPUのRSXでは静的分岐がないために、PS版ではこの静的分岐で実装した部分についても展開して別バリエーションとして実装しなければならず、PS3版に至ってはシェーダが50万種以上になってしまったのだという。

 PS3のRSXには動的分岐命令があり、これを活用することでバリエーション増加は抑えられるはずだが、実際に試してみたところ、この手法は遅くて使用に耐えなかったという。

 この「光源の数が違うだけでシェーダーバリエーションが増えてしまう」というのは最近ではよく聞かれる問題点で、これを解消する意味合いでも本連載「KILLZONE2」編で紹介したDeferred Shadingが注目されている。

石田氏「Deferred ShadingはXbox 360と相性が悪いんです。Xbox 360のGPUには10MBのEDRAMがありますが、720pの解像度でMRTをやると10MBに収まりきらないですからタイルレンダリングになってしまって、効率がとても悪いんです。法線とスペキュラ係数だけをバッファに先出ししてライティングだけDeferred Shading的にやるLight Pre-Pass Renderingというのもあるんですが、こちらは状況に合わせて切り替えられるように現在実装中です」

平林氏「あと、こういうDeferred Shading的な手法って半透明オブジェクトと相性が悪いんです(筆者注:半透明処理については別レンダリングしてポストプロセス的に合成といった手法が必要になる)。カプコンは半透明なしとか、考えられないですから(笑)。半透明同士とのプライオリティ(前後関係)を取りたい! なんてことまでありますし。他の日本のスタジオさんでもそうだと思いますし、日本ではこの手法は流行りにくいかも知れません」

石田氏「Deferred Shadingは、使えるマテリアル表現も限定的になってしまいますからね。IDで管理する手法も考案はされていますが、これをやるには動的分岐が必要不可欠になりますよね。PCにはいいでしょうけど、PS3では悪夢のようなことになるかと思います(笑)。PS3のPHYRE ENGINEみたいに、SPUでライティングとかやるならいいですけどねぇ。うちのようにXbox 360も、PS3も、PCもとなると採用は難しいと思います」

 PS3では、もしかするとDeferred Shadingは最適解なのかもしれないが、マルチプラットフォーム展開を前提とするゲームエンジンとして、そしてなにより半透明に重きを置くカプコンでは、「MTFWでDeferred Shadingを即採用」というわけにはいかないようだ。



■ 「MTFW2.0」における新シェーダーシステム「メタシェーダーシステム」とは?

 「MTFW2.0」は、「MTFW1」に対してどういう形で開発が行なわれたのだろうか。一口にバージョンアップというと「機能強化」というキーワードに行き着いてしまうわけだが、実際のところはどうなのだろうか。

伊集院氏「『MTFW2.0』は、ほとんど最初から作り直したフルスクラッチビルドに近いものになっています。MTFW1はどうしても、最初に来たハードウェアがXbox 360だったので、基本設計がXbox 360向けであったことは否めないんです。PS3が出て成熟を向かえた、今という時期だからこそ、全てのハードウェアを最大限に活かしきるために設計を練り直しました」

 MTFW開発チームは2008年1月くらいから開発をスタートさせており、開発初期は3Dモデルも表示できない文字やウィンドウを出すところからの、ほぼゼロスタートのプロジェクトとしてスタートした。初期開発メンバーは2人。ちなみに、石田氏は、2003年のPS2の「鬼武者3」開発時代からレンダリングエンジンの設計に従事してきたこの道のスペシャリスト。MTFWプロジェクトでは基本設計の舵取りをするアーキテクト的な立場を務めている。

【「MTFW2.0」がサポートするHDRレンダリングのバリエーション】
HDRなし「ヴァルキリープロファイル2」と同じ手法のレンジ圧縮による疑似浮動小数点バッファによる正確なHDR
色味を保持しつつレンジ圧縮を施した疑似HDR非線形なトーンマッピング「MGS4」と同じブレンドバッファ方式による合成例

MTFWプロジェクトでは基本設計の舵取りをするアーキテクトの立場を務めている石田氏
「MTFW2.0」の「マテリアルエディター」の画面。メタシェーダーのオーサリングをするツールだ
「UE3」のマテリアルエディター。プラットフォーム依存しないシェーダー設計ツールの元祖的存在。登場時は強いセンセーションを呼んだ

 石田氏によれば、「MTFW2.0」のレンダリングエンジンは、ゼロから作り直しを図っているという。表向きのスペックだけでいうと、これまで「MTFW1」でXbox 360、PS3およびDirectX 9(SM3.0:Shader Model 3.0)、DirectX 10(SM4.0:Shader Model 4.0)への対応だったものが、「MTFW2.0」でDirectX 11(SM5.0:Shader Model 5.0)までのサポートが行なわれるというだけで、大きな変化がないように思える。

 しかし、そうではない。実は、内部的には大きなアーキテクチャ革新が図られているのだ。「MTFW2.0」では、独自の統合シェーダ管理システムを新開発することで、各世代で異なるGPU仕様の違い、プログラマブルシェーダ仕様(Shader Model)の違いを吸収することができるようになっている。

 PS3、Xbox 360といった家庭用機は同じSM3.0世代のGPUだが、それ以外の部分では、その機種専用のGPU命令があり、DirectX 9とDirectX 10ではプログラマブルシェーダーの仕様の違い(SM3.0と4.0の違い)までが存在する。前述したシェーダーバリエーションの問題とはまた別で、ある表現を実現するシェーダーをゲームプロジェクト側のプログラマーが書こうとすると、最大のパフォーマンスを得るためには、PS3、Xbox 360、DirectX 9、DirectX 10、DirectX 11全ての最適な命令を用いる必要が出てきてしまう。これはゲームプログラマー側の負荷低減を狙ったフレームワーク、ゲームエンジンベースのゲーム開発としては克服すべき課題と言うことになる。

石田氏「この問題に対処するために、ゲームプログラマー側は最上位のプログラマブルシェーダ仕様でシェーダー設計をすればいいようにしました。『MTFW2.0』のシェーダーシステムのプリプロセッサが、シェーダープログラムソースを解析して、ターゲットプラットフォームの専用命令などに適宜置き換えるような最適化の仕組みを実装しました。具体的には、ゲームプログラマーはDirectX 10.1のSM4.1などのシェーダーコードを書けばよく、下位世代のプラットフォーム向けのコードを出力する際には、「MTFW2.0」側がそのプラットフォームのGPU専用命令などに置き換えてくれます。つまり、そのシェーダーで最大パフォーマンスが得られる形で、その下位のシェーダー仕様へコンバートするんです。この仕組みは将来的にはDirectX 11のSM5.0にも対応させます」

 プログラマーはターゲットプラットフォームごとの特殊な最適化術の知識がなくても最大パフォーマンスが得られるシェーダーコードがかけるということだ。そろそろ、こういうものをマイクロソフトあたりが実装してくれればいいのに、と思う開発者も多かったことだろう。GPUメーカー縛りがなく、技術力も高いカプコンは、これを独自で実現してしまったのだ。「MTFW2.0」ではこの仕組みを「メタシェーダー」システムと呼んでいる。

 こうしたプラットフォームの“方言”に依存しないシェーダーシステムとしては、EPIC GAMESの「Unreal Engine3(UE3)」のマテリアルツールのようなものもある。「UE3」では各プラットフォームごとに最適化されたシェーダーエフェクトの部品を組み合わせて表現したいマテリアルのシェーダーを設計するというアプローチだった。そして「UE3」はアーティストやデザイナーでもシェーダーが設計できるという点を強く訴求していた。

石田氏「『UE3』のマテリアルエディターのように自在に部品を組み替えるというようなことはできません。『MTFW2.0』のメタシェーダーシステムは、あくまで処理対象はシェーダーのソースコードなんです。日本のデザイナーやアーティストはシェーダーの設計をあまりやりたがらないですし、逆に(日本の)プログラマーはああいう部品ベースのシェーダー設計ツールではなく、直にソースコードでシェーダーを書きたがるんです(笑)。あくまで『MTFW2.0』のメタシェーダーシステムはプログラマーの自由度を最優先にして作りました」

 「MTFW2.0」のメタシェーダーシステムでは、まず、基本的なシェーダーの設計はソースコードレベルでプログラマーが行なう。このシェーダーの流れ自体は「MTFW2.0」のメタシェーダーシステムのGUIでも組み替えることはできない。

 しかし、「MTFW2.0」のシェーダーシステムは、HLSL(High Level Shader Language)ベースのシェーダーソースコードを解析してプログラム中の関数の依存関係を出し、各関数を動的に別の関数に差し替える仕組みを持っている。つまり、関数を入れ替えることで、全く別の表現をするシェーダーにすることは可能だ。

【メタシェーダーシステム・ブロックダイアグラム】
左が「MTFW2.0」におけるメタシェーダーシステム・ブロックダイアグラム。メタシェーダーシステムが自動生成に対応するのは図中の水色のマスの部分になる。右が生成されたシェーダーのソース

 なお、この関数の部分はプログラマーが独自に開発して拡充することができる。つまり、この関数群を、様々なマテリアル表現ができるようなシェーダーパーツとして準備できれば、事実上、ベースとなる1本のシェーダーから、別の表現を行なうためシェーダーを作り出すことは可能なのだ。

 デザイナーやアーティストはプログラマーが用意した関数を選択することでシェーダー設計的なことができ、プログラマーはシェーダーの基本設計をソースコードで行えて、また新表現の追加は自分で設計した関数パーツの拡充によって実現される……こういうことだ。

石田氏「基本的な陰影処理の部分でも、Blinn-Phongの関数をCook-TorranceのBRDFに変えたりとかも簡単にできますし、現状のプログラマブルシェーダー・アーキテクチャでは関数のオーバーライドはサポートされていませんが、『MTFW2.0』のメタシェーダーシステム上ではこれを可能にしています。例えばある関数をオーバーライドして入出力をちょっとだけフィルタリングする……といった処理系を組み込むことができます。ですから、トゥーンシェーダーの実験なんかもやろうと思えば簡単にできるんです」

【メタシェーダーシステムのシンプルな活用例】
Blinn-Phongシェーダースキンシェーダートゥーンシェーダー

「MTFW2.0」では光源が一般化されたことで、点光源をキューブマップに置き換えれば全方位スポットライトのような効果が実現できる

 また、このメタシェーダーシステムには、頂点シェーダー、ピクセルシェーダーをグローバルに解析して最適化する仕組みが実装されている。これまでのシェーダーコンパイラの最適化は頂点シェーダーとピクセルシェーダーのそれぞれで最適化を行なっていた。このため、ピクセルシェーダーが必要としていない定数や変数などのパラメータまでを頂点シェーダーが出力してしまうようなコードが吐かれていたが、このシステムではそういった問題は起こらない。

伊集院氏「新しいメタシェーダーのシステムにより、シェーダーのバリエーションは前作の1/10程度に抑えられています。容量にして3MBバイトくらいです。シェーダーはエリア単位で階層管理されていて、そのエリアに必要なシェーダーしか読み込まれない設計です」




■ 「MTFW2.0」では物理シミュレーションの内製化を実現

 「MTFW1」で課題だった物理シミュレーションについて、「MTFW2.0」では基本的な部分から、徐々に内製に置き換えを始めているのだという。

伊集院氏「どのゲームタイトルでも必ず必要になってくるような最も基本的な剛体物理、布物理、ラグドールといったものは「MTFW2.0」で内製化しました。ただ、HAVOKをはじめとした、物理シミュレーションミドルウェアが提供している高度な物理シミュレーション、具体的にいうと破壊システム、流体物理シミュレーションなどは、内製化されていません。バネ物理を応用した柔体物理シミュレーションは既に内製化を実現しています」

【「MTFW2.0」で内製実装された各種物理シミュレーション】
「MTFW2.0」における剛体(リジッドボディ)物理シミュレーションのデモ「MTFW2.0」における柔体(ソフトボディ)物理シミュレーションのデモ
「MTFW2.0」における布物理シミュレーションのデモ「MTFW2.0」におけるラグドールのデモ

技術革新は現場のデザイナーの作業効率支援にも繋がると語る平林氏
「MTFW」プロジェクトの指揮官を努める伊集院氏

 柔体物理は「UE3」でも実装されて話題を呼んだ表現で、ブニョブニョした弾性のある3Dオブジェクトの表現だ。これは生物の表皮の表現などに向いているとされる。「MTFW2.0」での現状での実装は、表皮の変形をCPUで行ない、スキニングされた表皮上の頂点の法線の再計算(本連載「バイオハザード5」編の前編を参照)はGPUで行なっているとのことだが、最終的には全てGPUで実装できる見込みだという。

平林氏「我々デザイナーの立場からすると、こうした技術革新は、新しい表現がインスパイアされるだけでなく、作業効率も上がるんです。例えば柔体物理を『MTFW1』でやろうとすると、ボーンをたくさん仕込まなくてはいけなかったのが、この柔体物理がエンジンに組み込まれたことで、圧倒的にボーン数が減らせるわけです。そうなればランタイムにおけるデータ量的にも有利になります」

 現在は実験的に剛体物理ベースの破壊システムの実装に挑戦しているとのことだが、あくまで現状は「これまでのカプコンのゲームで必要とされていた物理シミュレーションの内製化」にフォーカスしている。逆に何でもかんでも内製化することに固執はしておらず、内製することで消費される時間的・人的コストと、得られるメリットのバランスを考え、例えば高いパフォーマンスや様々な要素が絡み合った高度な表現、内製ではサポートできない機能が必要な場合などについてはこれまで通り他社製の物理シミュレーションミドルウェアの導入も行なう。この判断は「MTFW」チームというよりは、ゲームタイトルのプロジェクトチームで行なわれるようだ。実際に「ロストプラネット2」の鋼体シミュレーションは様々な要素を考慮した上でHAVOKを用いている。

伊集院氏「『バイオハザード5』は『MTFW1』タイトルですが、破壊システムにHAVOKを使っていました。『バイオハザード5』でいうと、ゲームロジックとしての内製の衝突判定と、HAVOK物理が司る破壊システムの衝突判定が存在し、それら別個のシステムとして動作していました。これはつまりデータ的な観点で言えばメモリ上に似たような破壊判定用の形状モデルが2つ載っていたわけで無駄です。内製して統合できればこの無駄は省けます。物理シミュレーション内製化の出発点はまずはそこにあったんですよ」



■ 「MTFW2.0」第1弾タイトル「ロストプラネット2」はどうなる?

 4月に電撃的に予告映像が公開された「ロストプラネット2」(「LP2」)は、「MTFW2.0」の第1弾タイトルとして訴求されている。実際どのようなビジュアル体験を我々に見せてくれるのだろうか。

 「LP2」は、開発初期においては「MTFW1」で開発されており、これが途中から「MTFW2.0」ベースに切り替わったという。こうした経緯もあり、「LP2」ではグラフィックス表現における材質表現に関しては「MTFW1」ベースで設計がほとんど終えていた。

 そのため「LP2」では、「MTFW2.0」上にて、「MTFW1」のマテリアルを動かす仕組みを使って動作させる方針を取っている。「LP2」の見どころは各所にあるのだが、技術的にとても興味深かったのは「バイオハザード5」以上に進んだ動的キャラクターと植物のインタラクションだ。

 「LP2」は前作「ロストプラネット」(「LP1」)から時間が進んでいるという設定で、「LP1」の舞台「極寒の地」だったEDN-3rdは温暖化が進み植物に覆われ始めているという設定となり、植物がそこかしこに生えている。

 その植物たちが、「LP2」では銃撃や爆撃によって発生した爆発が風を起こし、揺れるのだ。もちろん、動的キャラクタと植物の衝突も取っており、背景物としての植物が非常に生き生きとして見えている。

 植物モデルはデザイン段階ではソリッドなモデルとして設計されたとのことで、これを動かすためにモデル構造を解析して“腕”情報をプロシージャル生成する仕組みを開発。結果的に、植物たちは、リアルタイムで、ゲーム内シーンの動的キャラクタ達に対して柔軟なインタラクションができるようになったのだという。CRYTEKのCRY ENGINE3のように、銃撃によって木々の枝が着弾地点から折れる表現なども実装されていた。

【「ロストプラネット2」で際立つ植物とのインタラクション】
ソフトボディによる木(PC/360はGPGPU、PS3はSPUで動作)草の表現
プロシージャル生成した背景のウエイトマップ(どの程度、風の影響を受けるかを表したもの)草木の最終合成シーン

石田氏「現状はXbox 360版を想定した作りとしたため、植物の影生成は主なものに対してのみ行なっていますが、エンジン的には地面に生えている雑草の1本1本全てに対して落とすこともできます。PC版とかは、そういうオプション設定の自由度を設けたりできるかもしれませんね」

 また、倒れた木々が地面に着地したときには剛体物理ではなく柔体物理が適用される。倒れた枝が葉っぱのクッション効果によってボヨヨンと弾む様が描かれるわけだ。

 「LP2」では「ワンダと巨像」のような、巨大なボスへ駆け上がって直に攻撃を行なうというダイナミックな戦闘表現が導入されるが、この時のボスの背中の表皮やヒダ表現には新開発の柔体物理表現が採用される。これは「MTFW2.0」における物理シミュレーションの内製化による恩恵が1番わかりやすく結実している部分だと言える。

「LP2」のボスキャラの背中のブヨブヨ感を体感せよ!全方位バリアンスシャドウマップによる影の効果が印象的な「LP2」のワンシーン。点光源からの動的な影を全方位に生成するが、さらにそれをソフトシャドウ化する処理も加えている

 今後、グラフィックス表現面で「MTFW2.0」、あるいは「LP2」へ導入していきたいと考えている技術などはあるのだろうか。

石田氏「今は、とにかく、基本部分の充実化を図っていますが、HDRの被写界深度シミュレーションなどは検討中です。あとスクリーンスペース系だとダイナミック・オクルージョンとか、面白くて実験してますよ」

 石田氏の発言内容について補足説明をしておこう。一般に、HDR(High Dynamic Range)レンダリングというと高輝度部分がブルームを起こす表現ばかりが取り沙汰されるが、実はHDRレンダリングは、それ以上に、よりフォトリアリスティックな表現ができる可能性を秘めている。写真を撮ったとき、ピントが合っていない部分に高輝度な部分が含まれていると、そのボケがレンズの絞り形状で出ていることに気がつくはずだ。こうした表現は、HDRレンダリング結果にカメラやレンズの仕組みをモデル化したポストプロセスを組み込まなければならず、ただ高輝度部分をぼかすだけでは表現できない。石田氏はこれをやりたいというわけだ。

「LP2」のワンシーンより。フォグ効果は「MTFW2.0」のボリュメトリック・ハイト・フォグによるもの。視線方向からの空気層の厚みにリニアに配慮したフォグ生成法だ「結局、実装しちゃいました」(石田氏)と後送されてきた、「ロストプラネット2」のテストショット。カメラモデルに基づいた被写界深度表現。確かに、六角形のカメラの絞り形状のボケが出ている!

 もうひとつのダイナミック・オクルージョンとは、大局照明的な表現を画面座標系のポストプロセスで実装しようとするもので、別名「Screen Space Global Illumination」(SSGI)と呼ばれたりすることもあるテクニックだ。基本的な概念は本連載「Gears of War 2」編で紹介したScreen Space Ambient Occlusion(SSAO)とよく似ている。SSAOでは着目したピクセルの周辺を調査してその遮蔽度を算出して陰影を付けていくが、SSGIは着目しているピクセルの周辺の色味までを、陰影処理に反映していくというものだ。これにより簡易的な相互反射的な表現が可能になる。本連載「CRY ENGINE3」編で軽く紹介したが、どうやらCRY ENGINE3はこのSSGIを採用しているといわれている。「LP2」はまだ鋭意開発中とのことなので、そうした新表現を含め、まだ見たことがないようなビジュアルまでを見せてくれるに違いない。今から発売が楽しみだ。


【「Screen Space Global Illumination」(SSGI)】
通常のレンダリング結果SSAO適用状態。足元の淡い影、壁と床の交差点付近の“陰”はSSAOによるもの結局、取材直後にSSGIも「MTFW2.0」に実装してしまったとのこと。奥のハシゴが、壁からの照り返しで淡く照らされているのがわかるだろうか。これが相互反射や二次光源ライティングを疑似的に再現するSSGIの効果だ


■ 終わりに~次世代機登場の前にカプコンはゲームエンジンを次世代化

「MTFW2」開発画面の一例。各ウィンドウはメインウィンドウの外に出せるようになった
「ロストプラネット2」における半透明合成処理の最終画面

 石田氏も言っているように、今度の「MTFW2.0」のテーマは「自由度の高さ」ということらしい。

 「同一ゲームエンジンで作られた映像は似通ってしまう」ということが時々言われるが「MTFW2.0」ではプログラマーがシェーダーのパーツとも言える関数を自在に追加していけるため、そうした心配はない。カプコン内製の各ゲームプロジェクトはもちろん、カプコン関連スタジオまで「MTFW2.0」を使うようになれば、各所で作り上げられた関数が共有化され、「MTFW2.0」のグラフィックス表現は多様化していくに違いない。

伊集院氏「今世代も成熟期を迎え、これからのゲームエンジンは『見た目が凄い』だけではダメだと思うんです。機能が凄い、高機能だ、メモリ占有量が小さい、パフォーマンスが速い、そうした目新しさだけでは使ってもらえない時代になってきていると思います。『MTFW2.0』では我々は高機能で、なおかつ易しく扱えることに注力しました。『MTFW2.0』は今後、カプコンの関連スタジオにも使ってもらうことまでを視野に入れていますのでこの部分は『MTFW1』以上に重要になってくるでしょう。『ロストプラネット2』に関してはゲームの面白さはもちろんですが、ユーザーさんの期待を上回る映像表現をお届けできるように頑張っています。『ロストプラネット2』の発売、そして『MTFW2.0』の今後の進化にご期待下さい」


【「ロストプラネット2」における半透明合成処理の仕組み】
ブレンドバッファRGBブレンドバッファアルファ
縮小ブレンドバッファRGB縮小ブレンドバッファアルファ

(C)CAPCOM CO.,LTD. ALL RIGHTS RESERVED.

(2009年 6月 13日)

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