イベント
[CEDEC 2011]物理シミュレーションは非現実的な方向に進む? 「ゲーム開発マニアックス〜物理シミュレーション編」レポート
「物理シミュレーション編」と「グラフィックス編」の二部構成で開催され,業界のキーパーソンを招いてトレンドを語るという企画である。
物理シミュレーション編では,物理とゲームの関係がどうなっていくかがテーマになっている。ディスカッション形式で行われていくあたりは2010年と同じなので,昨年のレポートに目をとおしてもらうと分かりやすいだろう。
登壇者は,ソニー・コンピュータエンタテインメント ソフトウェアソリューション開発部の松生裕史氏,カプコン 技術研究部 技術研究室の松宮雅俊氏,コーエーテクモゲームス 技術支援部 シニアエキスパートの津田順平氏,AMD Office of the CTO, GPU Physics Advanced Researcherの原田隆宏氏,バンダイナムコゲームス 技術部 リードプログラマの辛 孝宗氏,コナミデジタルエンタテインメント 小島プロダクション制作部 シニアプログラマの西田祐輔氏,以上の6名だ。
そんなわけで,本稿ではゲーム開発マニアックス,物理シミュレーション編のディスカッションをレポートしていく。
非現実的な方向に広がっていく
物理シミュレーション
2010年に行われたゲーム開発マニアックスでは,物理シミュレーションを利用したゲームタイトルが話題になり,物理シミュレーションがゲームにどう応用されていくのだろうか,というのがテーマの一つになっていた。
あれから1年が経過し,物理シミュレーションを利用した面白いゲームタイトルがいくつか現れていると西川氏は言う。その例として紹介されたのが「レッドファクション:アルマゲドン」と「Quantum Conundrum」の2タイトルである。
まずはレッドファクション:アルマゲドンの特徴を松宮氏が説明した。松宮氏によれば,レッドファクション:アルマゲドンは,壊すだけでなく復元する機能を備えている「重力銃」がポイントになるとのこと。
たとえば,足場が壊れているステージでは,重力銃で足場を復元することで先に進めるようになったりする。さらにこの重力銃には,重力を強める効果も備わっていて攻撃時の破壊力を増すこともできるという。
このように,レッドファクション:アルマゲドンでは,重力という物理シミュレーションがゲームに取り入れられているわけだ。
続いて紹介されたQuantum Conundrumは,ちょっと変わった物理シミュレーションの使われ方が特徴だと原田氏はいう。氏によれば,これまで物理シミュレーションは,リアリスティックにオブジェクトを破壊するといった用途に用いられていたが,Quantum Conundrumではそうではないのだとのこと。
どういうことかというと,たとえば,重い物体を持ち上げる必要あるが,このままでは持ち上がらないという状況があったとしよう。そんなときQuantum Conundrumでは,物体が軽くなるという次元に移動することで,持ち上げられなかった物体を運べるようになり,ステージを進行できるようになるのだそうだ。
このほかにも時間軸が操作できる次元などがあり,現実とは異なる物理シミュレーションが適用されている次元を行き来することがゲームの鍵になっているという。
これらのタイトルのように,現実と違う物理法則をゲームにして楽しむ,あるいは物理法則で遊ぶというのは,2010年のゲーム開発マニアックスでも語られていたテーマだったが,そういったゲームが登場し始めているというわけだ。「ゲームにとっての物理シミュレーションは,それっぽい嘘をつくる道具であって,リアルな現実をシミュレーションするためのものではない」と辛氏が述べていたのが印象的である。
この「それっぽい嘘をつくる道具」というのを,過去の3D進化にたとえて見せてくれたのが津田氏である。津田氏は,「グラフィックスでは,シェーダーがリアルな方向へと進化したが,そのうちリアルなだけじゃつまらなくなって,トゥーンシェーディングを始めとするアンリアルな方向性のものが現れた。物理シミュレーションにおいても同じで,リアルでない物理シミュレーション,見たこともない物理シミュレーション,そういったものがゲームに新しい可能性を持ち込むのではないか」と述べていた。
さらに,津田氏は,「現実が持ってる時間や空間,身体感覚などの物理法則をそのままゲーム内で振る舞えるようにしたのがアクションゲームなわけで,現実にはない物理法則をゲーム内でプレイできるアクションゲームは新しいんじゃないか」とゲームのアイデアを語っていた。
いずれにしても,ゲームにおける物理シミュレーションの分野では,ただ単にリアルな破壊を見せるというような方向だけでなく,非現実的な物理法則を含めた応用が始まっているようである。
2010年のゲーム開発マニアックスでも話題になっていたのだが,キャラクターやオブジェクトのコントロールに物理シミュレーションをどのように用いるかは,ゲーム内での物理法則がどうであれ,変わらない課題となる。
松生氏は,「リアルには存在しない物理シミュレーションを取り入れるのはいいとしても,プログラム的にどう実現するか,アーティストがどうやってエディットするのかが,これからも共通の課題になる」と述べている。この指摘をきっかけに,話題はプロシージャルアニメーションと物理シミュレーションという方向へと移っていった。
物理シミュレーションを使った
プロシージャルアニメーションの位置づけとは
辛氏は,「本当のところは,作っている人でないと分からないが」と前置きしたうえで,「タックルされたり,ぶつかったりしたときに人が倒れるところは物理シミュレーションだと思う。このように部分的に物理シミュレーションを入れるとリアルな表現になる」と説明する。
つまり,FIFA 12では,すべての動きに物理シミュレーションが利用されているわけではないが,部分的に使われている,というのが辛氏の推測である。
部分的に応用する理由の一つは,人体の動きすべてに物理シミュレーションを用いるのが非常に難しいためだそうだ。
フルボディIKエンジンの制作に携わった津田氏は,「リアルタイムで処理するということを考えると,物理シミュレーションで人体を作るのは最もハードルが高い問題だと思う」という。さまざまなアプローチ方法はあるが,いずれも計算コストが非常に高いからなのだそうだ。
津田氏が制作に携わったフルボディIKエンジンでも,それらしい人体の動きは実現できたが,自然な動きに見せるためには「最も少ない動き」を再現する必要があるのだという。
この,最も少ない動きは,かなり複雑な計算になるとのこと。
この部分は,昨年も有限要素法の応用が話題になっていたのだが,どこまで物理シミュレーションを使ったプロシージャルアニメーションにCPUを割り当てられるかが問題になると原田氏は指摘する。
だが津田氏は,プロシージャルアニメーションの本当の狙いがコスト削減にあることを明かし,「これまでR&Dをどこにかけていたかというと,シェーダーに圧倒的にコストをかけてきた。その結果,表現できなかったグラフィックスが表現できるようになり,豊かなものになったが,一方で開発コストを跳ね上げてしまっている」と言う。
続けて津田氏は,「モーションに物理シミュレーションの技術を導入しても,見たこともない新しい動きに見えるわけではなく,その到達点は,実のところモーションキャプチャでしかないため,コストを削減することはメリットにつながる」と述べていた
モーションキャプチャを使えばリアルな動きが可能だが,多くのコストが掛かる。そのコストを軽減するのが物理シミュレーションに期待されている役目だというわけだ。
西田氏も「自分のチームは大きいのでモーションキャプチャで対応しているが,小さいチームならば物理シミュレーションで得られるものが大きいのではないか」と指摘する。
この点については,「基本はアニメーションで,ある部分だけ物理シミュレーションを用いるといったハイブリッドが現実的ではないか」と松生氏も語っていた。
このほか,プロシージャルアニメーションでは,物理シミュレーションだけでなく,AIによるアプローチも重要だという意見も出ていた。「人体にとって物理シミュレーションは単なる拘束条件なので,人体の動きについて解を提供してくれるわけではない。人体の動きの自動生成というモデルで考える限り,AI的なアプローチが必要である」という津田氏の指摘もあった。
このように,人体のプロシージャルアニメーションによる生成は,かなりの困難を伴うようである。アニメーション作成のコストを削減できるという点では,中小規模のチームにおいて必要とされる技術なのかもしれない。
また,「カジュアルゲームやスマートフォン向けのゲームを開発している中小規模のチームに対してなにか提案がないか」という西川氏の問いかけに対しては,辛氏が簡易的なモーションキャプチャも現実的な解としてあり得ると提案していた。
辛氏は,「小規模のモーションキャプチャはコストがかかるうえ,データがそのままで利用できないためアニメーションが必要になる。これにも相当なコストが掛かってしまう」としたうえで,「ただ,最近ではKinectのような簡易なモーションキャプチャが流行しているため,これでモーションをキャプチャして修正するのがよさそうだ」と述べている。
カジュアルゲームをターゲットにしているスマートフォンなどのプラットフォームでは,CPUパワーを十分に確保できない可能性もあるため,無理にプロシージャルアニメーションを追求するのではなく,こういった方向性もアリなのかもしれない。
物理シミュレーションと
GPUアクセラレーションの未来
最後のテーマは,GPUによるアクセラレーションである。
まず西田氏が「SIGGRAPH 2011でPowerVRにOpenRLを実装するという発表があった」と話題を振ったところからスタートした。OpenRLは,OpenCLで実装されたレイトレーシングのハードウェアアクセラレーションだが,レイトレーシングと物理シミュレーションには深い関係があるのだという。
これに対して原田氏は,「レイトレーシングと物理シミュレーションは,似た部分が多くある。たとえばレイキャスティングは,衝突判定などで物理シミュレーションが頻繁に使われている」と応じた。
さらに原田氏は,こうした処理ではGPUがキーテクノロジーになっていくだろうとしたが,ただ,すべての物理演算をGPUで行うのは現実的ではないという。「GPUは特化型プロセッサで,なんでもできるわけではない。ある種の制約条件下ではよく動くが,条件が変わるとパフォーマンスを発揮できないとことがある。CPUとGPUにうまく処理を振り分けていく技術がトレンドになっていくだろう」(原田氏)。
原田氏の意見に対して,PlayStation 3のSPUに物理演算を実装した実績を持つ松生氏は,「物理のアルゴリズムは依存性が激しく,ある処理と次の処理がつながっているため,SPUでは,それをうまく分割して並列化することに苦労した。最近のGPUでは,この処理がさらに複雑化していると考えられるが?」と原田氏に尋ねていた。
この問いかけに原田氏はまず,「難しい問題だ」と答え,さらに「GPUでは2段階の並列化を考えないといけない。まずSIMDによる並列化。そして次はスレッドの並列化。これらの依存関係をどう無くすかが難しい課題になっている」と述べている。
津田氏は「自分は年齢的に歴史を振り返ってしまうが」と切り出し,3Dグラフィックスの世界でも30年,40年前には隠れ線消去という問題があったのだが,CGの創世記には,これが重大な問題になったという。
これは当時のラスタグラフィックスでは,隠れた面を処理するために複雑なグラフ理論が必要だったのだが,世代が変わり,ピクセルで形状が離散化した集合になったとたんに問題にはならなくなったとのこと。
GPUに処理させるかCPUに処理させるかという議論は,当時の状況に似ていると津田氏は言う。そして,今回も当時と同じように,単純な方向,つまりGPUアクセラレーションが採用されるのではないかと予想しているという。
しかし,このようなシンプルな見方に原田氏は懐疑的だった。「物理はそんなに簡単ではなく,たとえば極端な例がグリッドベースの流体の問題だ」と言う。GPUは,依存関係を無視して処理するのに適しているが,収束がすごく悪くなるという具体例を挙げながら,津田氏が言うような力技ではなく,効率を追求する方向に進んでいると反論した。
これに対して津田氏は,「たとえば,ヤコビ法は収束性が良くないということがあっても,なにか別の問題に置き換えることができる。これによりコンストレイントが外れるなど,ビジュアル的に違いが生じるかもしれないが,ゲームグラフィックスでは考えてもいい方向だろう」と力技でも解決できる方法があると語っていた。
残念ながらここで時間終了となってしまい,どこまでの処理をGPUに任せられるのかについては結論が出なかった。
とはいえ,PS Vitaを始めとした次世代ゲーム機でも,パワフルなGPUが搭載されることになるわけで,物理シミュレーションをGPUに任せようという方向に向かうのは確かだろう。
最後の議論のように未解決の問題も多く残されているが,来年のCEDECではその解決の糸口が見えてくるのかもしれない。
- この記事のURL: