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

3Dゲームファンのための「鬼武者3」エンジン講座
「鬼武者3」はPS2史上最高位のグラフィックを目指す(前編)



 米国カリフォルニア州サン・ディエゴにて7月27日から31日の間に開催された世界最大級のコンピュータグラフィックス関連学会「SIGGRAPH 2003」のSoftimage/AVIDブースにてプレイステーション2用ソフト「鬼武者3」開発スタッフによる特別プレゼンテーションが行なわれた。

 その際、幸運にも、カプコン第二開発カンパニー、「鬼武者3」プロデューサーである竹内潤氏とテクニカルマネージャを務める瀧崇海氏にお話が伺えたので、このときの取材をもとに「鬼武者3」のグラフィックスの見どころの紹介、そしてそのビジュアル・テクノロジーの解説を行なっていきたいと思う。

 あらかじめ、お断りしておくと、「鬼武者3」は現在も開発中であり、発売は2004年3月となる見込みで、まだ完成までの道のりは長い。しかし、SIGGRAPH会期中のプレゼンで示された開発途上バージョンのビジュアルを見た限りでは、「鬼武者」シリーズとしてはもちろん、PS2のグラフィックスとしても非常にレベルの高いものであった。よって発売よりもかなり前のタイミングとなるが、本稿で紹介することにした。

「鬼武者3」プロデューサー 竹内潤氏。「ハードの性能の限界はどんなゲーム機にもある。その中での限界ギリギリや限界を超えることを目指すのが自分の信条なんです。『鬼武者3』は、ハードウェア性能に頼りきりの最近のゲーム制作傾向へのアンチテーゼだともいえます」 「鬼武者3」テクニカルマネージャ 瀧崇海氏。「現実世界の近似の積み重ねで、フォトリアリスティックな映像をPS2でも実現できるということを証明したかった」


■ プリレンダーからの決別を狙う「鬼武者3」

「鬼武者3」は時空を超え現代フランスにも波及する物語
「鬼武者3」では近場から奥まで、全ての背景がリアルタイムレンダリングされることになった
 「鬼武者3」の開発にあたり、開発スタッフが目指したのは「現状考えうるPS2上での最高品位のグラフィックスを実現すること」だったという。そのうえで、まず、基本コンセプトとして決定したのは背景、キャラクタ、全てのグラフィックスを「リアルタイムでやる」ことだった。

 「プリレンダーCGの背景を使った3Dゲームは、海外では技術力の低い作品として見られてしまうんです。実際はそんなことないのですが、固定概念としてあるみたいなんですね。そこで『鬼武者3』では思い切って背景もキャラも全部リアルタイム描画にしました」(竹内氏)

 「バイオハザード系」として分類されることもある、カメラ視点をある程度限定した3人称視点の3Dアクションゲームでは、「背景があまり動かない」という特性を「背景を静止画として処理できる」というインプリメントに応用している。背景をあらかじめ開発側で高品位レンダリングしてメディアに収納。ゲーム実行時にはこれを2D画像(静止画)として表示し、ここにプレーヤーには見えない形で、なおかつ背景画が持っていたジオメトリにピッタリ適合するジオメトリ空間を設定する。3Dキャラクタをこの上で動かすと、背景の遠近とピッタリ適合した形で3Dキャラクタが動くことになる。

 この手法では背景がほぼ一枚絵となるので、動かす方の3Dキャラクタにより多くのポリゴンやテクスチャを割り当てることができ、全体としてビジュアルクオリティが上がるという狙いがあったわけだが、前述のように視点が限定されてしまうため、本来3Dグラフィックスが持っているインタラクティビティという特性を活かしづらくなる。

 「鬼武者3」では、このレガシー手法からの決別を図り、画面上に登場する全てのオブジェクトをリアルタイム描画する方針を取ったのだ。その際、気になるのが、「逆にビジュアルクオリティが落ちてしまわないか?」という点だろう。具体的に言えば、背景に多くのポリゴンやテクスチャが取られてしまうことで、登場する3Dキャラクタのディテールが減ったり、あるいはその登場数が減ってしまったりしないかということになる。

 まず、「鬼武者3」では、シーン全体で約5万ポリゴンのポリゴン予算が基本になっているという。内訳はキャラクタ等のアクティブオブジェクトに対して3万ポリゴン、建物や地形等の背景オブジェクトに対し2万ポリゴンだそうで、つまりは、この予算の範囲で、高度なビジュアルをリアルタイムで作り込まなければならないことになる。

 背景の制作はデザイナが描いたイメージ画をもとにしてモデラーがモデリング、テクスチャを貼り付けて完成という、オーソドックスな手法が取られているが、上記の予算に収めるためにポリゴン削減を行なっている。

 モデリングからポリゴンの削減処理までは3D-DCC(Digital Content Creation)ツールとして著名なSoftimageの最新版「Softimage | XSI」が用いられた。建物のような背景オブジェクトのポリゴン数の調整は、与えた数値でポリゴンを削減、統合する「Softimage | XSI」のSubdivide Polygons/Edgesといった機能が活躍したとのことだ。

 なお、背景オブジェクトに割けるテクスチャ予算は1MBまでとなったそうだが、完成された背景ビジュアルを見る限り、そうした制約の存在は感じさせない。まあ、このあたりは技術云々というよりはデザイナやモデラの技量の高さを褒め称えるべきなのだろう。

3Dゲーム空間で金城武とジャン・レノが夢の共演

柔らかい陰影とディテール感溢れる背景グラフィック。リアルタイムになったことによるクオリティ低下は微塵も感じさせない


■ 炎の表現はプリレンダーによるテクスチャアニメーション

本能寺のセットは、当時の資料を基にモデリングが行なわれたそうだ
リアルな炎はテクスチャアニメ。ただし、そのアニメパターンは物理現象をシミュレートして制作されている
 ところで、2003年3月10日に行なわれた「鬼武者3」制作発表会で公開された映像や、今回のSIGGRAPHでのプレゼンでも注目を集めた炎の表現だが、これは基本的にはテクスチャアニメーション的なアプローチで実現されている。

 炎アニメは劇場映画CGにおいては、実写ベースのものが使われることが多いが、「鬼武者3」では「Softimage | XSI」のパーティクル(粒子)システムで制作されている。具体的には「Softimage」上で、火を構成するパーティクル(いわば“火の粉”)に対して渦巻きや乱流などのリアルな物理挙動を与え、くねりながら燃え上がる炎の動きをアニメーションとして生成し、このアニメを複数枚のテクスチャに対してレンダリングしている

 実際の背景にこの炎アニメを配置しただけでも、それなりに見栄えはするが、「鬼武者3」では、ここに実際に光源を配置している。これにより、炎が実際に輝き、炎としての存在感が増すのと同時に、炎としてのリアリティが増強されるのだ。そしてその光はキャラクタや建物に対し、リアルタイムな陰影をもたらしてくれる。

 瀧氏によれば、「Softimage | XSI」のパーティクルシステムを使ったアニメーションは「鬼武者3」の随所に登場するそうで、具体的には雨の表現や硫酸弾の着弾破裂の表現などで使われているとのことだ。


■ オリジナル動的LODシステムによってなしえた1対50の戦闘シーン

動的LODシステムによって可能になった1対大勢のチャンバラアクション
 「鬼武者3」では、かねてから挑戦したかったという「群衆vs群衆」「主人公vs敵の群衆」のリアルタイム描写に挑むことが開発当初から決定していたという。背景をリアルタイムレンダリングしつつ、キャラクタ等のアクティヴ・オブジェクトを同時に大量に出現させるのは、PS2プラットフォームでは非常に困難な問題となる。

 そこで「鬼武者3」のグラフィックエンジンでは、動的LOD(Dynamic Level of Detail)機能を採用。LODとは視点からの距離に応じて描画する3Dオブジェクトの頂点数(つまりはポリゴン数)を増減させるテクニックのことだ。

 視点から近ければ3Dオブジェクトはアップになるので見栄えをよくするためにはより多くのポリゴンで描く必要がある。これに対し、視点から遠い場合には、1ポリゴンが1ピクセル未満となり、モデルのディテールが活かされず、様々なベクトル演算も描画結果に活かされなくなり無駄となる。視点から遠い3Dオブジェクトのモデル精度を粗くして演算量/描画処理を節約できれば、トータルとして処理に余裕が生まれ、より多くの3Dオブジェクトを同時に登場/描画することも可能になってくる。これがLODの基本的な考え方だ。

 動的LODとは、このLOD処理を視点からの距離に合わせて無段階に行なうものだ。動的LODは、いまやゲームエンジンの基本機能としては一般的となっているが、完全無欠の手法ではなく、いくつかの問題点も抱えている。

 安易な自動的なポリゴン削減処理系ではキャラクタの特徴となる頂点を削減してしまい、視点からの距離が変わると、キャラクタが部分的にへこんだり膨らんだりする「ポッピング現象」や、モーションとモデル形状が噛み合わずアクションが不自然になる弊害が発生する。

 「鬼武者3」では、動的LODを実装するにあたって、こうした問題点に対し、特別な工夫をすることで対処している。具体的には、視点から近い時に使用するハイ・ディテール(高精度)モデル、遠いときに使うロー・ディテール(低精度)モデルの2種類を用意し、これを適宜切り換えて用いている。基本的な方針としてはハイディテールモデルに対し動的LODが適用していくが、視点から一定距離離れたところからはローディテールモデルに切り換えるようにしているのだ。

 ところで、3Dゲームのキャラクタは、実在の人間のように、内部に骨(ボーン)を仕込み、アクションはこの骨を動かし、外皮頂点を変形させることで描画している(ボーン・スキニング処理)。ローディテールモデルではこのボーン数も削減、モーションに対応するアニメーション情報も簡略化し、演算量の節約を図っている。こうした工夫により、演算量、描画処理の削減はもちろん、データ量も減るためにメモリの節約にもつながり、より多くのキャラクタの同時登場が可能になったようだ。

 ちなみに、ハイディテールモデルは、左馬介は約5,000ポリゴン、標準的な敵キャラが約3,000ポリゴン、ローディテールモデルではポリゴン数の劇的な削減が行なわれているという。ローディテールモデルでは「つま先がない」などのドラスティックな省略化が施されており、実際のシーンでは、ローディテールモデルが視点から遠くなると300ポリゴン程度にまで減るとのことだ。

 なお、ローディテールモデルとハイディテールモデルの切り換え境界の存在はプレーヤーが認識できないよう、自然な形になるようにシーン毎に調整しているとのこと。このLODシステムの効果は絶大で、「鬼武者1&2」の時の7倍以上にも相当する約50体の敵を同時に登場させ、チャンバラ劇の醍醐味である1対大勢の戦闘アクションが実現可能となっている。

「他の開発チームのスタッフから「どうやってんの?」と聞かれちゃうこともしばしばです(笑)。リアルタイム・グラフィックスで描かれる合戦シーンはもっと凄いですよ」(竹内氏)

 SIGGRAPH 2003においても、カメラをやや引いた形での1対大勢の戦闘シーンの映像が公開されたが、PS2でリアルタイムで動いていることが最初信じられなかったほどだ。後編では、ライティングやシャドウエフェクトについて詳しく解説していきたい。

左がハイディテールモデル、右がローディテールモデル。ゲーム中にローディテールモデルがアップになることはないが、今回の記事のために特別に用意して頂いた。近場で見ると“笠”の輪郭や関節の丸み等がローディテールモデルでは頂点の削減により見た目にもわかる

左がハイディテール、右がローディテール。視点から遠ざかった状態での比較。その違いは原寸で見てもほとんどわからない

視点から近い位置と遠い位置ではモデルを切り換えて使っている。もちろん、その切り換え動作にプレーヤーが気が付くことはない

(C)CAPCOM CO.、LTD.
※記事中の写真は開発中につき、製品版とは異なる場合があります。

□カプコンのホームページ
http://www.capcom.co.jp/
□「鬼武者3」のページ
http://www.capcom.co.jp/onimusha/
□関連情報
【5月20日】カプコン、PS2「鬼武者3」続報
フランス軍人鬼武者ジャック・ブランの武器は「ムチ」
http://game.watch.impress.co.jp/docs/20030520/oni3.htm
【4月4日】現代と戦国時代、パリと日本が交錯するPS2「鬼武者3」最新スクリーンショット公開
http://game.watch.impress.co.jp/docs/20030404/on3.htm
【3月10日】PS2「鬼武者3」、帰ってきた金城武、そしてジャン・レノも出演!!
舞台は現代のパリへ……世界展開を見せる最新作
http://game.watch.impress.co.jp/docs/20030310/capcom.htm

(2003年9月11日)

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


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

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

Copyright (c) 2003 Impress Corporation All rights reserved.