« 八王子キャンパス裏手のシルクロード | トップページ | 2014年度進化経済学会全国大会に参加して »

おもしろメディア学 第79話 水って丸い?四角い? CG の水はどっちもアリ!

|

Photo_2

メディア学部 菊池 です.
今日は,CG における流体シミュレーションの話をしてみたいと思います.

最近の映画などで,「大きな波がザバァ~ン!」と押し寄せてきたり,「ミサイルがドッカァ~ン!」と爆発して炎と煙がモクモクと立ち上がったり,そんな映像をご覧になったことがある方も多いのではないでしょうか?

このような映像の場合,実写の映像素材を使用するケースも少なくはありませんが,演出意図に合致する素材を準備する費用と手間や,安全面への対策を考慮した場合,実際には CG を利用して表現される場合のほうが多いと言っても過言ではないでしょう.

「ビジュアルエフェクト(VFX)」と呼ばれるこれらの CG 技術の多くには,「流体シミュレーション」が含まれることが多々あります.
CG は従来から,多くの工業製品のような「幾何学形状がきっちり定義されているもの」の表現は得意とするところでしたが,煙や雲のようなガス状物体,および水流のような流体は,決定的な幾何学形状をもたず,環境により容易に変化するため,それらを表現するためには流体の振る舞いを計算するための「ナビエ・ストークス方程式」を解く必要があるため,非常に難しいとされていました.

CG での流体シミュレーションでは,上記の「ナビエ・ストークス方程式」の解を正確に求める必要性は低いため(なぜなら,できあがった映像が人間の目で見て不自然でなければ問題ないため),さまざまな計算方法が開発されました.
それらの手法を大きく2つに分類すると,「ラグランジュ型」と「オイラー型」に分類できます(下図参照).

01_3
図.流体シミュレーションにおける「ラグランジュ型(左)」と「オイラー型(右)」


ラグランジュ型(上図左)では,流体を「粒子」の集合体と仮定して,各粒子の振る舞いを追跡することで流体全体の振る舞いを求めます.
オイラー型(上図右)では,空間を格子状に分割し,各格子内の物理量の変化(たとえば,速度の向きと大きさなど)を設定された時間間隔ごとに求めます.
たとえて言うなら,川の流れを観察するために,ラグランジュ型では川の上流から木の葉をたくさん流して動きを追跡し,オイラー型では川のほとりで流量を定点観測するというような違いです.

上図のイメージ図で示すように,CG では流体(たとえば水)を表現するため,(乱暴な言い方をすると)「丸」で置き換えたり,「四角」で置き換えたりしているわけですね.

下に,「ラグランジュ型」と「オイラー型」でシミュレーションした結果の画像例を示します.

02
図.「ラグランジュ型シミュレーションでの雲と水流(左,中央)」と「オイラー型シミュレーションでの雪煙(右)」


コンピュータを利用した計算手法には様々なアルゴリズムが開発されていますが,「どのような用途に利用するのか」ということが大変重要になってきます.
エンターテインメント向きの CG では,「映像を見た人間が不自然に感じなければ問題ない」という場合,視覚的な効果を最重要に考えながら計算コストをいかに減らすかということが重要になる場合が多々あります.
そのためのアルゴリズム開発には,従来からの固定概念に縛られることなく,人間の視覚的な感性も考慮に入れながら自由に発想する柔軟な考え方が求められます.

これを読んでいる皆さんの中から,次世代の流体シミュレーションアルゴリズムを開発する人が出てくるかもしれませんね.

文責:菊池 司

おもしろメディア学」カテゴリの記事

« 八王子キャンパス裏手のシルクロード | トップページ | 2014年度進化経済学会全国大会に参加して »