ニュース
[GDC07#23]「Havok」と「PhysX」,2大物理エンジンの最新動向
■Ubisoftが語る
■「キャラクターアニメーション」のリアリティ向上
まずはHavok関連からだが,セッション自体はUbisoft Entertainment(以下Ubi)によるものだ。タイトルは「Havok Physics in Next Generation Ubisoft Games」(Ubiの次世代ゲームにおけるHavok物理エンジン)。タイトルからは包括的な内容を想像してしまうが,実際にはキャラクターアニメーションに関する,ピンポイントな印象のセッションとなっていた。
本題に入る前に,3Dゲームにおけるキャラクターアニメーションに関する簡単な予備知識として,キャラクターアニメーションを構成する3要素について,以下のとおり簡単にまとめてみたので,参考にしてほしい。
●モーション再生
一般的なキャラクターアニメーションは,それこそ3Dアニメーションソフトで作られた「剣をいったん上に振り上げて,その後振り下ろす」などといった特定の動きを“なぞる”だけなので,外界の物理的な問題にはまったく関与していない。モーション再生の“垂れ流し”のため,戦闘シーンなどにおいて,敵や味方に自キャラがめり込んだりする光景は,多くの人が普段よく目にしているだろう。それがモーション再生の限界でもある。
●ラグドール効果
キャラクターの動きに物理演算を取り入れ,主に吹き飛ばされたり,落下したりした場合に,重力や運動エネルギー,回転モーメントなどを適用して多関節構造の物理的な挙動をシミュレートするのがラグドール(ぬいぐるみ)効果である。この場合,外界との干渉もシミュレートされるが,キャラクター自体は自分の意思ではまったく動かないという特徴がある。ただ,Havokのラグドール処理では,一定の姿勢に戻ろうとする力を指定できるので,物理法則のみで動くわけではないラグドール処理というものも設定できる。
●インバースキネマティクス(IK,逆運動学)
一定時間後の姿勢を指定しておくと,現在の状態からその状態までを動きを補間してくれるのがインバースキネマティクスである。物理エンジンにおいては,もっぱら「他物体との干渉で動きが制限された場合の補正」で使われており,歩くアニメーションパターンをいろいろな状況で適用して説明されることが多い。例えば「階段」。インバースキネマティクスを使わない場合,歩いているキャラクターは階段を無視して(階段にめり込んで)前へ進んでいくだけだが,インバースキネマティクスを使うと,階段を上るアニメーションが実現される,といった具合だ。キャラクター側の能動的な動きを,物理的な干渉によって制限する場合に,よく使われるものとなっている。
キャラクターモデルに物理演算を適用すると,地形に沿って滑り落ちたり,ほかのラグドールとの干渉を計算して積み重なったりといった処理を実現できる。これはすでに多くのシステム(≒3Dゲーム)で当たり前のように実装されているものだ。
ところが,「ラグドール処理で移動したあとに立ち上がる」といった,一見当たり前の動作が難しかったと,Boxerman氏は指摘する。「ラグドール処理で移動したあとに立ち上がる」場合,ラグドールとモーション再生の組み合わせになるわけだが,ラグドールでは外界の影響を忠実に反映するので,どのような姿勢で転がっているのか推測できない。仰向けに,大の字に倒れた状態を想定した起き上がりモーションを用意していても,投げ出された結果,身体を曲げて脚の間から頭が出ているような状態で転んでいる人に,そのモーションは適用できないわけで,起き上がるモーションを作ろうにも,どんなモーションを用意しておけばいいのか分からないのである。
そこでUbiでは,Havokの物理エンジンをベースにさまざまなシステムを組み合わせて,キャラクターと外界の関係を自然に処理しているという。独自のハンドルシステムを作ったり,アニメーションする2個の物体を同期させたり,物理的な相互作用を自然に取り入れられるようにしたりといった工夫がされているのだそうだ。
デモでは,キャラクターがさまざまなオブジェクトを手に取ったり,投げたり,開けたり,落としたり,ぶつかったりといった行動をとっている様子が示された。まあ,言ってしまえば「物理エンジンを使用したゲームで期待されそうな処理を並べているだけ」ではあるのだが,ゲームの根本部分にそういった処理を据える準備ができたということなのだろう。
さすがに,Ubiがこの技術を使ってどのようなゲームを作ろうとしているのかまでは示されなかったが,リアリティという面で,Ubiの次世代タイトルは期待できそうだ。――そう思わせるセッションだった。
■これぞPhysX,これぞ物理効果!?
■なんでも破壊できる「Warmonger」
Ubiのデモが,キャラクターの基本的な動作における完成度を追求した,ゲームプレイ物理を指向するものだったのに対し,NetDevilのテーマは「破壊」という効果物理。これは,HavokとAGEIA PhysXの指向性の違いをよく表しているように思える。トップダウンに物理エンジンの特性を揃えていくHavokに対し,AGEIA PhysXでは,具体的な処理を実現するための物理演算をボトムアップで取り入れている感じだ。
もちろん,AGEIA PhysXのデモタイトルとして投入された「Cellfactor: Combat Training」は,物理エンジンなしにはありえないゲームだったので,“効果物理がゲームの内容に踏み込んだ”とは言えるだろう。しかし,本来なら「余力がある環境では派手な処理をする」という感じの“添えもの”的な存在である効果物理を,無理矢理ゲーム性の主軸に据えたような印象は否めなかった。
では,Warmongerはその点どう違うのか。Warmongerでは,Unreal Engine 3.0とAGEIA PhysXを使うことで,画面内の物体ほぼすべてが破壊可能になっており,さらにクルマのボディなどといった金属板(Metal Cloth)の変形も効果的に使われている。
Lard氏とScott氏の話を聞く限り,物体が砕ける状態は,事前に計算されたものを使うようだが,それは物体のエディット時に自動的に生成できるようになっている。BSP(Binary Space Partitioning)を応用した破砕アルゴリズムが確立されているため,デザイナーの手を煩わせることはなくなったというわけだ。
NetDevilが見せた「破壊」は,物理エンジン時代のゲームのあり方として正統的な流れの中にあるように思われる。
APIやアプローチは違うものの,インタラクティビティの追求という点では,UbiもNetDevilも似た方向性でゲームを作ろうとしているのが面白い。今後は,物理エンジンをより本格的に使用したゲームが続々と出てくることになるのだろう。なかなか楽しみだ。(aueki)
- 関連タイトル:
PhysX
- 関連タイトル:
Warmonger - Operation: Downtown Destruction
- 関連タイトル:
Havok
- この記事のURL:
キーワード
Copyright(C)2008 NVIDIA Corporation
NetDevil, Warmonger and all related images and logos are trademarks of NetDevil, Ltd. (C)2007 NetDevil, Ltd. All Rights Reserved.
(C)Copyright 1999-2008 Havok.com Inc (or its licensors). All Rights Reserved.