|
物理エンジンと言えば、ゲーム業界では「Half-Life2」にも採用された「Havok」が有名だが、ここにきてNovodeXが急激にクローズアップされてきた。それは、どうも彼らの物理エンジンに対する考えが、かなり「次世代」であることから来ているようだ。
GDC滞在期間中に、NovodeXの開発元であるAGEIA社の、チェアマン兼CEOを務めるMANJU HEGDE氏とお話する機会を得られたので、この時の会話の内容を元に、ゲームにおける「物理エンジンの次世代」について考えていきたいと思う。
「物理」というキーワードは広い意味を持つが、今回のテーマとする「物理」は、「ニュートン物理」を根幹とした運動「物理」を指す。ゲームにおける「物理」エンジン……といった場合も、一般的には3Dオブジェクトの運動/挙動を司るもの……ということになっている。有名なHavokも、今回取材を行なったAGEIAにしても、この運動物理のエンジンメーカーだ。今回特別な断りがない場合、「物理」という用語はこうした分野をさすもの……と思ってもらいたい(AGEIAは流体力学までをサポートするので、実際にはもうちょっと他の要素も入ってくるが)。 それでは、本題へと移ろう。 現在、PCにおける3Dゲームのグラフィックスはプログラマブルシェーダ時代へと突入し、次世代Playstation(仮称)や次世代Xbox(仮称)などの次世代家庭用ゲーム機もこの流れに乗ってくる。ハイダイナミックレンジ(HDR)レンダリング、光散乱シミュレーション、強力な影生成など、ビジュアルクオリティは年を経るごとに進歩しており、その進化スピードはすさまじい。ビジュアルクオリティに関しては、リアルタイムレンダリングCGでも、ある局面においては映画用などのオフラインレンダリングCGに肉迫したクオリティを持つものも出てきており、ビジュアルに関して言えば、リアルタイムとオフラインの“格差”はジリジリと縮まってきているといっていい。
これに対し、ゲーム中の、AI処理や物理シミュレーションについては、確かに進歩こそしてきているが、最近でも「映像のクオリティと比較してやや見劣りする」、「動きと映像の品位がアンバランスだ」……といった印象を抱くことはよくあることだ。
AI処理と違い、物理シミュレーションは、現実世界(もしくはそれに準じた世界)の現象をパラメータ駆動の計算式に置き換えて実装できるものなのだから、現在のコンピュータモデルとは相性は悪くないはずだ。なのにここまで、物理シミュレーションの進化が後回しになってきたのはなぜか? これは意外にも理由は単純だ。「ある決められた計算能力の予算があったとして、その多くを“見栄え”に割いた方が、多くのユーザーが満足できたからだ」(MANJU HEGDE氏)
最近、よく感じる「違和感」は、この進化した映像に、動きの質感が付いてこれていないからなのだ。AGEIAはこのギャップを埋めることにビジネスチャンスを見出して設立されたのだという。 ■ 現在の3Dゲームの物理は「イベント駆動型の物理」である
例えば、3Dシューティングゲームにおける破壊可能な小道具や大道具について。銃撃するとまったく何の反応もないのの、ある一定以上の攻撃を受けると途端に壊れるというのは良く見かける。時速何百キロの質量弾を受ければ、その運動エネルギーは相当なものなので、現実であれば、一発被弾するたびに何らかの挙動を示すはずだ。そして、それまで全く動かなかったのに、ある一定量のダメージを受けた途端に、剛体物理の挙動で吹っ飛んだりする。 人間キャラクタでも同様で、体力がある間は銃弾を浴びていても被弾ダメージを喰らうだけで、その衝撃の結果としての姿勢変化はない。ところが、体力がゼロとなった途端に、“死体”となり、Ragdoll物理(詳細は後述)制御でこれが吹き飛ぶ。
まあ、いろんなタイプのゲームがあるので一概には言えないにしても、平均的に言って、多くの3Dゲームの物理エンジンは、「ハイ、これから物理法則に従って運動してください」……といった感じの、トリガーを受けてから活動開始するものが多いのは確かだ。いわば「イベント駆動型の物理」といった感じだろうか。 映像は徹底してリアル(あるいはそれに準じた品位)なのに、挙動として非現実的な状態とリアルな挙動が断続的に発生するので、受け手側は全体としてなにやら不自然な印象を受けるのである。もちろん「ゲーム進行上の都合」とか「ゲーム性の都合上」という大義名分もあるので、ゲーム進行のすべてが正しく物理シミュレーションされた結果であるべき…ということはない。 しかし、ゲームの進行に影響を及ぼさないまでも、プレーヤーの行動1つ1つがゲーム世界にインタラクトできれば新しいゲームの面白さが出てくるかもしれないし、それでなくても、ゲーム世界から得られる臨場感が倍増する事も多々あるのではないか。AGEIAは、ゲームにそうした可能性を提供するべくNovodeXを作り上げたのだそうだ。 ■ 大局的な物理シミュレーション~物理駆動型のイベントとは? 現在の3Dゲームの物理エンジンの活用形は、「イベント駆動型の物理」と表現したが、AGEIAの考える……というか、目指している3Dゲームは、むしろその逆の形で、「物理駆動によるイベントの発生」の実現だという。つまり、物理シミュレーションの結果によってゲームとしてのなんらかの事象を生ませよう…というわけだ。 まあ、それの究極形は「地球シミュレーション」的なものなので、いきなりそこに行き着くのは無理だとしても、AGEIAは、現在の「局所的な物理シミュレーション」を「大局的な物理シミュレーション」へ昇華させようとしている。「大局的な物理シミュレーション」とは何なのか。具体的な例で説明しよう。 もっとも明解な例は「積んであるものの崩壊」だ。例えば3Dゲームに登場する背景としての石壁。これを構成している真ん中あたりの石ブロックの2、3個に衝撃が加わり、これらが吹き飛んだとする。すると、吹き飛んだ石ブロックのせいで、この石壁の上部は支えが不安定になり、ドドドっと一気に崩れ落ちる。現在の3Dゲームの多くが「壁が崩れましたんで、物理エンジンさん、出番ですよ。壁の破壊アニメーションお願いします」という感じだったのだが、AGEIAの物理エンジンの求めるところは、「石ブロックが吹き飛んだ」→「その上の石ブロックは上の重さを支えてられないから、下にずれる」→「あ、その上もダメだ」→「こっちも支え切れられない」……という形で崩壊に至るわけだ。 さらに言えば、この石ブロックへの衝撃とは、実は銃弾を喰らって吹き飛んだキャラクタの体だったとすれば、上で例示した「流れ」の前にこの事象が入るわけで「死体が吹き飛んできた」→「石壁に当たる」→「石ブロックが吹き飛んだ」→(以下同)……という具合になる。さらに遡れば、「このキャラクタの死」という事象も物理シミュレーションの結果で起こったものかもしれない。 つまり、ある1つの運動物理の事象がゲーム世界中の別のオブジェクトに影響し(相互に影響し合って)、連鎖反応的に伝播して行くのを面倒みようとするのがAGEIAの物理エンジンの目指すところなのだ。 別の言い方をすれば、これまで「死亡」→「Ragdoll物理」、「破壊」→「剛体物理」というような、ゲームイベントがあって物理が走り出すという流れを「物理シミュレーションの結果」→「死亡に至る」、「物理シミュレーション結果」→「破壊に至る」というふうにできたらいいな、ということだ。これが、つまり、「物理駆動によるイベントの発生」というわけだ。 もちろん、ゲーム世界には“進行”や“ゲーム性”といった絶対的な「神」の存在があるので、なかなか「100%物理駆動」というふうには行かないだろう。とはいえ、この「物理シミュレーション」が、その「神」の部下ではなく、せめて「腹心」くらいの存在に格上げされるといいな、というのが、当面のAGEIAの目標となっているのである。 ■ NovodeXの物理エンジンとは実際にどんなものなのか? 現在、AGEIAは、同社のWebサイトにて、フリー版のSDKや、デモソフトなどをアップロードしている(一般ユーザでもフォームに基本情報を入力するだけで入手可能)。その中で、特に興味深いものをいくつかピックアップして紹介したい。 以下の画面は実際に筆者のノートPC(Pentium 4 2.6C GHz、MOBILITY RADEON9600PRO)で動作させたものを画面キャプチャしたものであり、“でっち上げ”ではない。また、物理エンジンの効果に主眼をおいたデモであるため、登場する3Dモデルの形状やテクスチャは非常に簡素的なものになっている。実際のゲームでは、ゲーム開発者側が自社のグラフィックスに彼らの物理エンジンを組み込むことになるため、このようにはならない(念のため)。
■ 物理エンジンアクセラレータ「PhysX」を年末に発売する 上で示したものは、それこそ、現行のCPU、例えばPentium 4やAthlon64でなんとかリアルタイムに処理できるものだ。これ以上、複雑になってくると、現行CPUでリアルタイム処理をするにはきつくなってくる。
このあたりまではなんとかリアルタイムで動作できるが、
このように積み重ねられたブロックの個数が16,000個にもなると、その破壊の物理シミュレーションはPentium 4 2.6C GHz程度では1秒間に1フレーム出るかでないかといったところにまで落ち込んでしまう。HEGDE氏に言わせれば「これが現在のCPUの能力の限界だ」そうで、「次なるステップに行くためには別のソリューションが必要になるのだ」と熱く語る。 かつて「DOOM1」('93年)時代から「QUAKE1」('96年)時代まで、3DグラフィックスがCPUベースのソフトウェアレンダリングエンジンによって描き出されていたことを思い出して欲しい。「QUAKE1」時代中期、ソフトウェア3Dグラフィックス表現が限界に到達したことを実感した業界は、3Dグラフィックスアクセラレータ(GPU)を市場投入した。
「今我々は、丁度、あの“Voodoo”が登場した時と同じ局面にいると思えないだろうか。映像に見合う物理をCPUベースでやるのはもはや難しい。何らかのブレークスルーがないと3Dゲームの次なる進化への道が開かれない。」(HEGDE氏)
製造プロセスルールは0.13μm。トランジスタ数は1億2,500万。製造FABはTSMCだそうだ。動作クロックは現時点では非公開としている。ワークメモリとしてGDDR3メモリを128MB搭載する。試作基板は両端にPCI-Express(x4)とレガシーPCIの両コネクタを設け、リバーシブルカードの形態をとっていたが、最終的にこのデザインが採用されるかどうかはわからないとのこと。HEGDE氏は、ビデオカードやサウンドカードに一緒に搭載する、マルチファンクションカード形態での提供の可能性も否定しなかった。 上で示した、1fpsもいいところの「衝突と破壊」のデモも、このPhysXチップでアクセラレーションすると60fpsがコンスタントに出せるという。HEGDE氏によれば、現時点で、その約2倍の32,000個のブロックでも同レベルのフレームレートが出せるとのことで、「物理エンジンアクセラレーション」の名に恥じないものとなっているようだ。 CPUやGPUという用語に対して、このPhysXチップは、物理プロセッシングユニット(Physics Processing Unit)の頭文字をとってPPUという略称で呼んでいる。今回発表された第一世代PhysXチップによってアクセラレーションされる物理演算としては、
●有限要素解析→自動車の衝突などにおけるボディのめくれ上がり ●軟体物理→スライムのような生物など ●流体物理→水のような液体や溶岩のような半液体のようなものまで ●毛髪シミュレーション→風になびくようなボリュームとしての毛髪の動き ●布シミュレーション→なだらかに舞い落ちる布。 ●総合的な当たり判定→1対1ではなく、周囲全体に相互干渉できるシステムとして。 ……などを挙げている。アクセラレーションに対応するのは当面は自社の物理エンジンであるNovodeXのみとなる見込み。まぁ、これは、現在、物理エンジンに関する標準APIがないので、仕方がないことだといえる。
ゲームの作り方としては、NovodeXエンジンを利用する際、PhysXチップがある場合はその物理エンジンの演算規模を大きくし、PhysXチップ無しの場合はその演算規模を小さくする……といったスケーラブル設計にする必要がある。ゲーム性の根幹に関わる部分でのスケーラブル設計はなかなか難しいので、当面は、ゲームコンテンツに関わってこない背景周りのリアルさの演出(背景物同士がぶつかり合って壊れるとか)に使われることだろう。
「GPUで物理」というのは夢物語ではなく、2004年8月にロサンゼルスで開催された「Workshop on General Purpose Computing on Graphics Processors(GPUを汎用目的で活用する研究報告会)」という学会で実際に議論が行なわれている。
AGEIAのPPUと言う考え方が、業界標準となりえるかは、今からではなんとも言えない。とにかく、1つ言えるのは、物理エンジンが、これまでの「ゲームだから」という“あきらめ”や“妥協”のような檻から飛び出したいと、もがいているということだ。 ■ 最後に~次世代ゴルフゲームでは芝の1本1本に当たり判定を持つようになる? 最後に、NovodeXの物理エンジンデモの1つを見せていただいた後に、HEGDE氏と盛り上がった次世代のゲームの1例を取りあげて終わりたい。
現在の多くのゴルフゲームのコースは画一的な「平面としてのパラメータ」……例えばその地面の斜面、硬度などのパラメータしか持っていない。このデモのように、NovodeX物理とPhysXチップを用いて芝生の草一本一本に当たり判定を持たせて、ゴルフゲームを実現したら凄そうだ。まさに「物理駆動によるイベントの発生」を体現したゲームになりそうな予感がする。特にグリーンでのパットにおける局面では、文字通り「芝目を読む」テクニックが要求されることだろう。
□ageiaのホームページ (2005年3月18日) [Reported by トライゼット西川善司]
また、弊誌に掲載された写真、文章の転載、使用に関しましては一切お断わりいたします ウォッチ編集部内GAME Watch担当game-watch@impress.co.jp Copyright (c)2005 Impress Corporation, an Impress Group company. All rights reserved. |
|