泡プラグインは、泡の挙動を再現するために、流体力学の手法を用い、液体中の粒子の振る 舞いや、物体の挙動などをシミュレートする。
図3-1 発生したての泡質点。点の集合全てで1つの泡を形成している。
図3-2 上昇時に発生する水流の影響で形状が変化し始めた泡。
図3-3 水流からの外力に対して分裂を始める泡。左右2つの集合に分かれている
図3-4 完全に分裂し、3、4個の泡にそれぞれ固まろうとする泡質点
図3-5 おのおのの集合にまとまり上昇を続ける4つの泡。
図3-6 泡のサイズの違いから上昇速度に差が出て、
細かい泡が1つ遅れをとって上昇している。
図3-7 泡のサイズごとに表面張力の差が表れている。
大きな泡はクラゲ型の形へと変形し、比較的小さな泡は丸い形を留めている。
流体力学には様々な手法があるが、泡プラグインでは、計算速度や扱うデータの量などを考慮 し、ラグランジュ法を採用した。ここでは、ラグランジュ法の簡単な説明を行う。なお、ラグランジ ュ法の詳細については、別項(6. ラグランジュ法の説明)に記す。
3.1 ラグランジュ法の簡単な説明
ラグランジュ法では、液体の中の分子や物体の運動について、「質点」と呼ばれる粒子を想 定し、この質点がどのような挙動、振る舞いを示すかを解析する。ラグランジュ法による解析 方法を簡単な図に示すと下のようになる。
図3-8
水、空気といった、流動的で常に動き続ける物質の挙動を正確に再現することは、非常に困 難であり、多大な時間を必要とする。ラグランジュ法では、水や空気といった流動的な物質を、
常に動きつづける点の集合とみなし、比較的簡単に、近似の挙動を再現することができる。
オブジェクト
オブジェクト 質点
3.2 泡の形状を表現するための技法
泡プラグインが、挙動の再現については、ラグランジュ法を基にした流体力学による演算によ って解析している点について述べてきた。ここでは、解析の結果、再現された挙動を、実際に Maya側で泡の映像にするにあたり、どのような技法を用いたかについて説明する。
3.2.1 パーティクル及びオブジェクトの概念と特徴 オブジェクト:
シーン上の位置情報のほかにオブジェクトごとに形状情報を持つ。泡で考える 場合、泡一個一個がオブジェクトであり、その形もオブジェクトごとに変えること が可能である。
図3-9
パーティクル:
シーン上の位置情報を持ち、形状情報を持たない。多数個の点座標を扱う際 に有利である。通常は位置情報にそのまま球ないし泡の形を表示して泡の映 像を作る。
Blobby:
Mayaのパーティクルの、レンダリング方法の一つ。球と球を溶かしてつなげたよう な画像をレンダリングする。パーティクルは通常位置情報のみを持ち、形状情報は 持たないが、レンダリング時にしか演算されないという条件であたかも形状情報を 持っているかのような画像が作成される。
図3-11
3.2.2 パーティクルを採用した理由 当初の計画においては、
・従来の泡を表現する際に利用されているパーティクルでは、1個1個を制御する ことが難しく、泡の形状を表現させることは難しい
・オブジェクトでは各々に形状を持たせることができ、様々な形状に変形させるこ とが出来る
という点からPolygonまたはNURBSなどのオブジェクトを利用して泡を表現することに なっていた。しかし、
・パーティクルの複数の粒子をまとめて一つの泡の形状を表現することができる ようになった。
・MayaにおいてPolygonを使って分裂・合体の表現をすることは難しい。
・Polygon の場合、頂点の順番と表面の形状が関係してしまうので、泡を表現す る際に頂点の順番まで考慮する必要があり、処理がかなりの量になってしま う。
など開発中に出てきた新たな方法や問題点によりオブジェクトで泡を表現することは難 しくなり、またプロトタイプにおいてもパーティクルを質点という形に置き換えることで泡の 形状及び挙動の変化をシミュレーションできたため、今回の研究開発においてはパーテ
3.3 泡らしく見せるための映像表現技法
ここまで、ラグランジュ法による流体力学演算、オブジェクトとパーティクルの特徴、
泡プラグインにおけるオブジェクトとパーティクルの使用方法、擬似的な二相流などにつ いて説明してきた。ここでは、パーティクルについてのより詳細な説明、特に、パーティク ルのレンダリング方法の一つである Blobby の概念と特徴、各設定項目による、映像 への影響などを記載する。
3.3.1 Blobbyの概念と特徴
日本ではメタボールと呼ばれることが多い演算方式で、一定の半径を持った球体が周 辺の球体と溶けてくっついたような画像を生成する。球体同士の距離が近いほど見た目 の結びつきが強くなり、水の映像などによく用いられる。
演算方法は各球体の中心から距離に応じて減少する濃度を設定し、濃度の重なり合い を演算した後、一定値以上の濃度を持った空間を包み込むような形状を3次元的に計 算することで溶け混ざった画像を作成する。
● ●
図3-12
個々のメタボールの濃度 加算後の濃度
メタボールの中心
しきい値 濃度
位置
3.4 マテリアル(テクスチャ)
ここまで、泡プラグインのしくみについて、技術的な説明をおこなって来た。最後に、ここでは、
泡専用に作成されたマテリアルについての説明をおこなう。泡専用に作成されたマテリアル を使用することにより、映像にどのような影響を与えるか、よりクオリティの高い映像表現を得 るための、マテリアルの設定などを示す。
今回映像作成における泡プラグインの役目を検討した結果、レンダリングに要する演算時間 が短く、およそどのようなシーンにも適用できるマテリアルが最適という結論に達した。そこで レイトレーシングのような正確で遅い演算は使用せず、透過度、反射光の強弱、擬似的な写 り込みを、泡表面の面の角度によって変化させることで、泡の見た目を再現した。
透過度:
カメラの視点方向と泡表面の法線方向のなす角が小さいほど透過度が高い。
透過度が低い
透過度が高い
図3-13
反射光:
ボケのない、輪郭のはっきりした強い反射を設定。
図3-14
擬似的な写り込み:
泡に移りこむ画像が視覚的に強く印象に残るのは、カメラ視点方向と泡表面の法 線のなす角が大きいところ、つまり泡の輪郭線に近いところである。この部分は光 の反射の特性(光に入射角と屈折率による完全反射)により、写り込みが非常に目 立つ。同時にこの部分の写り込みは視覚的には曲率方向に圧縮されたような画像 に見え、周りの風景のどの部分が写りこんでいるのか一目では認識できない。視 覚工学で近年研究が報告された事例もあるように、人間は物の写り込みを、物体 表面の強いコントラストの移動から感じ取る。そこで、この部分に高輝度と低輝度 のノイズを曲率方向に圧縮したものを写りこませることで、泡の擬似的な写り込み を再現した。
図3-15
4. まとめ
自然界に存在する現実の泡の挙動は、物理学上においても、CG 作成上においても、これを再 現することは非常に難しい。CG作成において、ユーザが 1 から全て、泡の映像を作成しようと すると、膨大な時間を要する。また、現在実用されている、専門的な流体力学を再現するプログ ラムを組むとなると、CGを作成する規模のハードウェア構成に適した処理にはならない。
前章まで、泡プラグインが、Maya上において泡の映像を作成するにあたり、以下のような処理 を行うことによって、これを実現していることを示してきた。
(1) 映像、挙動をリアルにする方法として、流体力学演算を行う。
(2) 実用されている流体力学演算をそのまま採用するのではなく、より簡易で、CGを作成 する。
ここでは、泡プラグインの製作過程、製作された成果物についてのまとめとして、研究・開発成 果、制限事項、今後改善の余地がある点について記述する。
4.1 研究・開発成果
本研究・開発の成果は次のとおりである。
・ 泡の映像を、プラグインを使用せずに作成した映像と比較した場合、挙動がより現 実世界の泡に近く、作成される映像も自然なものになっている。
・ プラグインを使用することで、泡の映像を作成する作業効率が上がる。
・ 流体計算部分とMayaへの映像表示部分を切り離したことにより、移植が容易にな っている。※1
・ 流体計算の方法として、現在実用されている精密で複雑なロジックをそのまま使用 するのではなく、擬似的に再現するという手法を採用したことで、比較的簡易なロジ ックとなっている。また、実用されている流体計算では、CG 作成を目的とする規模 のハードウェア構成には耐えられないが、簡易化することによって、CG 作成を目的 とするハードウェア構成にも耐えられるようになっている。
※1:APIに関しては、各CG作成ソフトウェアに依存する。