|
会場:San Jose McEnery Convention Center
執り行なわれたいくつかの物理関連セッションのうち、AGEIAの「The Unlimited Potential of Advanced Game Physics」の内容をレポートしたい思う。
■ AGEIAのPhysXチップとは
こうした状況に革新をもたらすべく、AGEIAが開発してきた物理シミュレーション・ミドルウェアが「PhysX」(旧NovodeX)だ。 そもそも物理シミュレーションとは何か。
AGEIAでは物理とは「動的な運動制御」と「動的な相互作用(Interaction:インタラクション)」であると考え、自然界にある様々な運動と相互作用をモデル化して「入力に対して出力が得られる」ようなソフトウェアモジュールとし、それらをシステマティックに集積して「物理エンジン」というソフトウェアパッケージを形成した。これが彼らの「PhysX」だ。
PhysXチップは0.13μmプロセスルールでTSMCにて製造され、トランジスタ数は1億2,500万、動作クロックは非公開とした、SIMDベースの浮動小数点ベクトル演算器のアレイからなるプロセッサだ。
ワークメモリとしてGDDR3を採用。標準モデルの容量は128MBで、上位モデルとして256MB版も用意される。
カード自体はマザーボードやVGAカードのメーカーとして著名な台湾ASUSTeKが製造と販売を予定しており、128MB版が250ドル~299ドルで2006年5月の予定。そして価格は未定だが256MB版の上位版もほぼ同時期にリリースされる予定だ。
なお、PhysXカードの製品バリエーションは搭載メモリ容量の違いだけで、動作クロックの違いによるバリエーション展開の予定は今のところないという。
■ PhysXチップはノンリニアメモリアクセスを得意とするFP-SIMDプロセッサ・アレイである
オンボードの128MB/256MBのGDDR3メモリは物理シミュレーション用のサブシステムを取り扱うための専用ワークエリアとして用意されたもので、GPUのようなシーケンシャルメモリアクセスだけでなく、ノンリニアなランダムアクセスパターンにも対応したアーキテクチャとなっていることを強調する。PhysXチップ内部のバス帯域は2TBit/sec、すなわち256GB/secというから、かなりユニークなものになっていそうだ。なお、現在最も高速なビデオメモリと多ビットメモリインターフェイスを採用したNVIDIAやATIのハイエンドGPUでも50GB/sec前後であるから、この帯域は桁違いに広い。
Physicsが提供する物理シミュレーションは、最も基本となる剛体物理(Rigid Body Physics)の他、柔体物理(Soft Body Physics)や流体物理(Fluid Physics)などで、APIレベルではソフトウェア版PhysXとハードウェア版PhysXとでは全く透過的に利用することができる。現時点でPC、Xbox 360のPX-CPU、PS3のCELLプロセッサのSPUに対応したバージョンが用意されており、APIレベルでは完全に透過的なクロス開発を提供できるとしている。
■ PhysXチップの動作の仕組み
この点についてはAGEIAのチェアマン兼CEOを務めるManju Hedge氏は以下のような解説をしてくれた。 まず、PhysXチップに接続されるメモリには物理シミュレーションソフトウェアがロードされるほか、そのシーンで使用される3Dモデルの衝突形状モデルやその位置情報や変移状態、速度などを表すパラメータなどを全て転送しておく。 グラフィックス処理を行なうわけではないのでテクスチャなどの転送は不要だ。 また、物理衝突形状モデルはグラフィックスとしての3Dモデルよりは大幅に頂点を削減したモデルでも見た目的に問題ないとされ、(ゲームエンジンやゲームデザインにも依存するが)一般に物理シミュレーション用の形状モデルはグラフィックスの3Dモデルの数分の1から数十分の1の頂点数を用いる。よって多量の物理衝突形状モデルを取り扱うにしても、グラフィックスほどメモリを占有しない。 いまやGPU用のメモリとして128MBや256MBは大容量とは言えなくなってきたが、物理シミュレーションプロセッサ用のメモリとしてこの容量は必要十分だと言うことらしい。 メモリ容量の違いによって物理シミュレーションの精度は変わらないが、一度に取り扱える物理シミュレーションの種類や、取り扱える物理衝突形状モデルの数に差異が出てくる。すなわち、少ないメモリでは、シーンの切り替わりやゲームの進行に応じて、PhysXサブシステムへの更新頻度が多くなるため、結果としてパフォーマンスは256MBの方が上になる。これはPCに例えるとわかりやすい。PCはメモリを増設すると(最大性能は変わらないが)パフォーマンス低下の頻度が減るが、あのイメージだ。 物理シミュレーションの処理自体はPhysXチップと専用メモリの中で処理されるので、この時点でレガシーなPCIバスを利用していることのデメリットは生じない。 また、ほぼ完全に物理エンジン処理部をPhysXチップ内で完結できるため、同時にCPU側でレンダリングのための準備を行なったり、AI処理を並列に走らせることが出来る。 バス速度が問題となるのは、物理シミュレーションの結果をCPU(ゲームエンジン側)に戻す時と、ゲームエンジン側から次のフレーム分のシーンのアップデートをPhysXに行なうときだ。これらのデータ量は物理シミュレーションのシーンセットアップと比較すると大部少ないためにPCIバスで全くまかなえる範囲であるとHedge氏は語っていた。 ただし、大量の結果戻しや大量のアップデートが頻発する、たとえば数千に及ぶパーティクルを物理制御するような場合にはここがボトルネックになることがあるかもしれない。その場合は、PhysXサブシステムとの入出力同期サイクルを毎フレームではなく、複数フレームごとに行なったりといった対応が必要になることだろう。
ところで、PhysXは、その実体をソフトウェア化して実装したものもあり、この場合はPS3やXbox 360のような家庭用ゲーム機に最適化したバージョンも用意される。当然、PS3はマルチSPU、Xbox 360は3コアのPX-CPUに対応したものになる。PS3やXbox 360ではUMAを採用しているために、物理結果戻しやアップデート時の物理サブシステムとCPU側のやりとりは内部バスでフルスピードで行なわれるので、バス帯域条件的にはPCの場合よりも大部いい。
■ PhysXがもたらす新しいゲーム性 実際にPhysXチップに対応させた開発中のゲームタイトルの紹介も行なわれた。 1つはARTIFICAL STUDIOS、IMMERSION GAMESが開発中の「CELLFACTOR」だ。 シーン内の構造物は強度パラメータ付で物理シミュレーションが効いていて銃撃などの衝撃によって崩壊するような仕掛けが盛り込まれている。デモでは“いかにもくずれそう”というかんじで積み上げられた土管に銃撃を加えて期待通りに崩壊させていた。威力の低い直接的な銃撃では倒せなさそうな強敵を、周囲の重量物を崩壊させて攻撃する……といったゲームアイディアに結びつけられそうだ。
そして崩壊だけでなく、爆発エネルギーの伝搬のシミュレーションも披露。大爆発によってシーン内の無数のアクティブキャラクタ達が相互に衝突し合いながら吹っ飛ぶ様はなかなか感動的だ。これも直接的な爆発エネルギーで敵を撃ち倒すのではなく、爆発で吹っ飛んだシーン内の小道具や大道具を敵に命中させて間接的かつ広範囲に攻撃するというアイディアに使えるだろう。
PhysXの布シミュレーションでは自己衝突考慮の折れ曲がりや変形だけでなく、耐性パラメータに配慮した「破れ」までがサポートされる。CELLFACTORでは銃撃して穴を開けてていくと、ちゃんと(?)ちぎれる表現を導入。重いものを布にぶら下げて行なっても重量に耐えきれなくなるとちぎれたりする。
布の破壊(?)というのは、ゲームプレイ物理の表現としては目新しいのでユニークなゲームルールの生み出しにも結びつきそうだ。
PhysXでは3Dスプライト(パーティクル)ベースのリアルタイム流体物理がサポートされる。シーンの凹凸に配慮した動きをするのはもちろん、その動きの粘度もパラメトリックに調整が出来る。CELLFACTORでは、キャラクターが死亡したときの流血表現にこの流体物理を利用している。
KYLOTON ENTERTAINMENTが開発中の「BET ON SOLDIERS」では、流体物理を盛り込んだユニークな武器表現をPhysXにて実現している。 毒薬のような液体を吹き掛ける武器ではシーンの凹凸に適合する形で染み込んだり、シーン内を流れたりする。斜面の上流に吹き掛ければ、斜面をこの毒液が流れ出して下流にいる敵を撃破したりすることも可能。
BET ON SOLDIERSでは火炎放射器の表現もこのPhysXの流体物理シミュレーションを利用することで面白いビジュアルが表現できている。吹き出される炎にパーティクルベースの流体物理が適用されているのはもちろん、火炎が衝突した部分からも溶解した金属が流れ出るのだ。デモでは、コンテナに閉じこもった敵を、そのコンテナごと火炎放射器で攻撃し、コンテナの壁を溶解させて液化した金属で焼き殺すという攻撃方法を披露して見せた。残虐表現ではあるが、流体物理のゲーム表現としては斬新だ。
セッションの最後では、PhysXのライセンス形態についてもふれた。 PCについては、PhysXチップによるハードウェアアクセラレーションに対応すればライセンス料は無料となる。あるいは商業利用でなければ無料としている。そして、すでにソニーとの提携でライセンスを交わしているので、PS3用のPhysXライセンスは無料としている。その他のケースでは約50,000ドルで開発ドキュメントに開発サポートが付属する。
なお、回を改めては、もう一つの物理ミドルウェア、HAVOKの最新動向をお伝えしたいと思う。
(2006年3月25日) [Reported by トライゼット西川善司]
また、弊誌に掲載された写真、文章の転載、使用に関しましては一切お断わりいたします ウォッチ編集部内GAME Watch担当game-watch@impress.co.jp Copyright (c)2006 Impress Watch Corporation, an Impress Group company. All rights reserved. |
|