ニュース
[SIGGRAPH]SIGGRAPH 2011開幕。「破壊表現の現状と将来」を,初日のセッションからまとめてみる
2010年もレポートしたこのSIGGRAPH。「学会」といっても,規模はバカでかく,最大手クラスの映画制作スタジオやハードウェアベンダーがいくつもスポンサーについたり,展示ホールでの出展もさまざまに行われるなど,「展示会」的な側面も強い。
最もイメージが近いものを挙げるとすれば,4Gamerでも毎年春にレポートしているゲーム開発者会議「GDC」(Game Developers Conference)ということになるが,GDCの場合,ゲームに限定した技術発表が中心なのに対し,SIGGRAPHでは,映画用途を前提とした先端映像技術に,次世代エンターテイメントや訓練用のバーチャルリアリティ技術,拡張現実技術,ハードウェア関連では次世代映像機器やロボット技術など,そして医療や地理学にいたるまで,その発表範囲はとてつもなく広いのだ。
そんななか,近年存在感を増しているのがゲーム関連技術の発表やセッションで,実際,ゲーム業界関係者も多い。筆者が宿泊するホテルにはカプコンの人達が泊まっていて「あ,西川さんもここですか」と挨拶されたり,会場までのシャトルバスに乗っていると,とある停車場でシリコンスタジオの面々が乗ってきて「シャトルバス同じコースですね」と挨拶されたり,コンベンションセンター近くを歩いていればポリフォニーデジタルの面々から道を聞かれたり,食堂に入ると任天堂の人達が食事しているのが目に入ったり,あるセッションに参加していると,セガやスクウェア・エニックス,ハル研究所の人から「やはりここですか」と微笑まれたり……。日本のゲーム業界関係者の参加率は,GDCとほとんど変わらないという印象だ。
SIGGRAPHの開催概要や歴史などは,昨年の会期前レポート記事を参照してほしいが,SIGGRAPHというイベントは「アメリカ合衆国のカリフォルニア州とそれ以外」での開催をほぼ交互に繰り返すのが特徴となっており,夏のSIGGRAPHとして初のアメリカ国外開催になるのだという(※2008年以降,冬のSIGGRAPHはアジア地区で開催されている)。
こちらは西ホール |
会場内のロビー |
というわけで会期初日は,ゲームに関係した物理シミュレーション関連のコースセッションである「Destruction and Dynamics for Film and Game Production」(映画とゲーム制作のための破壊と物理)に参加してきた。SIGGRAPH 2011年レポート第1弾は,本セッションの内容をお届けしてみたい。
破壊表現の現状を知る
破壊表現は,ゲームでも映画でも重要な表現要素であり,これを操作の結果としてきびきびと反応できるようにしたり,リアルに見せたりするため,さまざまな研究開発が行われている。
氏によると,特殊なアプローチを除き,現在は,以下に挙げる2つの手法のどちらかで物理破壊は処理されるという。
- 破壊表現のため,事前に3Dモデルを破片要素へ分割しておく
- 実行時(Runtime)に,破片要素に従って割っていく
あらかじめ用意しておいた基本形状(Primitive,プリミティブ)の論理演算を組み合わせて分割するというのも,ゲームではしばしば用いられる。「Red Faction: Guerrilla」の破壊シミュレーションエンジン「GeoMod」は,この手法によるものだ。
そのほか,適当な多面体で分割する手法や,壊れた結果がドラマチックになるように――人の顔が目と鼻と口などの部位で綺麗に分かれて壊れるとか――アーティストが事前に半手作業で分割する場合もある。いずれの場合でも,事前に分割されていた内容に従って,2.で剛体物理シミュレーションを行うのが一般的だ。
ただ,「Star Wars: The Force Unleashed II」のように有限要素法(FEM,Finite Element Method,構造解析などで使われる手法で,物体を小区間にどんどん分割していき,それぞれの区間にかかる力を計算していく。限度以上に大きな力がかかった部分が「割れる」ことになる)で解くという先進手法を使ったゲームも出てきている。この点は憶えておきたい。
凸モデルでの分割。ある程度の人為的な介入もあり |
四面体(Tetrahedra)での分割 |
PlayStation 3やXbox 360の次世代機は姿が未だ見えないが,流れとしては,GPUのような超並列プロセッサを汎用目的で利用していこうとする,いわゆるGPGPU的な方向性が確実に起きている。そのため,より計算負荷の高い手法がゲームでも実用化される可能性は高い。物体が変形する表現を,「パーティクル同士をバネとダンパーとで結んだオブジェクト表現」で再現しようとするアプローチなどは,GPGPU的にはおあつらえ向きのテーマとなる。
GPGPUで行う物理シミュレーションの最先端
AMDの原田隆宏氏 |
衝突する可能性のある組み合わせをCPUで見つけ,GPUで実際の物理計算を行う |
今回のセッションでは,原田氏はOpenCLを使ったGPGPUベースで大局的な剛体物理シミュレーションを実装した事例を報告した。
原田氏の実装では,GPUは並列処理に専念できるよう,CPUはGPUが不得意な「場合分け処理」的なことを事前に行うようになっている。
具体的には,「どのオブジェクトとどのオブジェクトが衝突している可能性があるのか」の洗い出しをCPUが担当し,それが済んだら「衝突の可能性のあるオブジェクト達のグループ」をまとめてGPUに送る。そしてGPUが実際の物理シミュレーションを行うという流れだ。
さらに,ATI Radeon HD 5870を4基用いた場合は,約40万のオブジェクトに対し,約2fpsで剛体物理シミュレーションを実行できたという。これは,シミュレーションの規模を考えれば十分に高速だと言える数字だ。
見ようによってはここが大きなボトルネックになっていると言えなくもない。
そこで,CPUとGPUを統合したFusion APUの優位性が出てくる,というのが原田氏の言い分だ。
原田氏は,LlanoコアのAMD A-Seriesを用いてパーティクルベースの物理シミュレーションを実装してみたそうで,そのデモを動画として下記のとおり公開した。
ちなみに,AMDは将来的に,CPUコアとGPUコアとで,論理的にも同じアドレス空間を利用出来るようなプログラミングモデルの実現を目指している。「Fusion System Architecture」というやつだ。
ゲーム用物理が映画用に逆応用される昨今!?
そのほかセッションでは,映画スタジオ各社が,自前で用意した物理シミュレーションの利用形態を解説していたのだが,1つ,面白い傾向が見られたので報告しておこう。
それは,レンダリングやシミュレーションにいくらでも時間をかけられるオフラインレンダリング畑の彼らも,最近では,リアルタイム系の物理シミュレーションに興味を抱き,実際に制作で導入しているという事実だ。
Disney映画「ボルト」における数々の破壊シーンにはゲーム用物理エンジンであるBullet Physicsが活躍 |
DreamWorksもBullet Physicsを独自に拡張して活用 |
DisneyのCG映画「ボルト」における破壊表現の制作に大きく貢献した「Maya」向けプラグイン「Dynamica」は,オープンソースのゲーム向けリアルタイム物理シミュレーションエンジン「Bullet Physics」を用いたものだ。
さらに「シュレック」シリーズや,「カンフーパンダ」「マダガスカル」など数々の大ヒットCGアニメ作品を手がけてきたDreamWorksも,独自にBullet Physicsを映像制作パイプラインに組み込んで利用しているという。
さらに,「パイレーツ・オブ・カリビアン」シリーズや「X-MEN」シリーズのCG-VFXを担当したDigital Domainも,パニック映画「2012」でロサンゼルスの街が崩壊するシーンにBullet Physicsを活用したとのことである。
こうした映画スタジオやVFXスタジオがゲーム用物理シミュレーションエンジンを相次いで採用したのには理由が2つある。
1つは,映画用映像制作においても物理シミュレーションの結果をなるべく早く知りたいため。
「物理シミュレーション」とはいっても,映画の世界では結局のところ,見栄えの良さやかっこよさがすべて。つまり,シミュレート結果が,担当アーティストの思ったとおりになるよう,素早く何度も実験できなければならない。物理パラメータの調整とシミュレーションの繰り返しに時間が掛かっていては作業効率が上がらないから,シミュレーションの精度はそれなりでも,圧倒的に速いゲーム用物理エンジンが有用というわけだ。
2つめは,大局的かつ,膨大で規模の物理シミュレーションを,そもそもマジメになんてやってられないという,すごく単純な理由から。
「2012」などはまさしくそうだったようで,大写しのビルが壊れる程度ならともかく,ロングショット状態で,ロサンゼルスの街全体が同時多発的に壊れていく表現は,ゲーム用物理エンジンでなければ実現できなかったのだ。
ちなみにこれはもちろん1フレームにものすごい時間をかけてレンダリングするという世界の話。ゲーム用の物理エンジンを使って,やっと,彼らが我慢できるレベルのオフラインレンダリング速度が得られるようになったという意味である。
ゲーム用物理エンジンは精度的に心配という話は当然あるのだが,大局的なシーンでは,それほど問題にならないというか,見ている人は気づかない。しかも,場合によっては,煙や炎や閃光などのボリュームエフェクトやパーティクルエフェクトでごまかすこともできる。
これまでは「映画向けのオフラインレンダリング技術がリアルタイムなゲーム用レンダリング技術に降りてくる」という流れだったのだが,最近では,技術の逆方向への応用も多くなっているのだ。
- この記事のURL: