毛のボリューム表現の改革

前述したように、毛のディテールの表現に関する研究は、実用的な見地からすると、将来的にVFX分野などで高まってくると予測される要請への準備という意味合いももっていた。しかし、たとえ毛のディテールの表現技術がいかに進歩するにせよ、毛をボリュームと考えて表現する手法は健在であり続け、その重要度に変わりはないだろうとMarschner氏は指摘する。なぜなら、頭部1つをレンダリングするならばまだしも、人間が群れを成している場合などのように、数多くの頭部をレンダリングする際には、毛の一本一本をレンダリングの対象とするのではなく、ヘア・ボリューム全体をレンダリングするというアプローチの方が遥かに適しているからだ。毛だけに限らず、衣服や皮膚などに関しても同様のことがいえる。VFX分野などで高まってくる将来的な要請に答えるためには、局所的なディテールの表現の精度を上げるだけではなく、グローバルな視点から捉えたボリューム全体の表現の精度も向上させておく必要があるのだ。 2010年のSIGGRAPHでWensel Jakob氏とMarschner氏によって発表された論文は、まさにこの後者を目的にしており、既存の物理的に正確なボリュームレンダリング技術の根底となっている理論に対して抜本的な改革の必要性を提示し、実際にそれをモデル化したものとなっている。

ボリューメトリックな媒体内の光の挙動は、RTE(Radiative Transport Equation)という物理方程式によって記述される。この方程式を直接解くことは難しいため、様々な近似的解法が考案されてきた。今日物理的に正確なボリュームレンダリングとよばれているものは、これらの近似的解法に相当する。だがRTEの原点は気象光学や量子力学といった自然科学の分野で産み出されているだけに、ボリュームの内部構造を乱数によって生成するような幾何学的な特徴をもたない構造(=方向性のない構造:Isotropic Structure)であることが前提となっている。したがって、このRTEをそのまま用いて“布” “毛” “皮膚”などのように幾何学的な特徴が顕著な構造(=方向性のある構造:Anisotropic Structure)をもったボリュームを表現することには、本質的に大きな限界があった。前述の論文が目指したのは、このような限界を超えて、“布” “毛” “皮膚”などのような方向性のある構造をもったボリュームを、より物理的に正確に表現できるようにするため、RTEを改良することだったのだ。

RTEは、ボリューム内を光が一定距離進む間に、散乱や吸収によってエネルギーがどれだけ変化するかを考察し、エネルギーの収支がぴったりと合っていることを数式化したものだ。このエネルギーの変化を考察するために、特定の断面積と長さをもった円筒形の領域をパーティクルで満たしたモデルが用いられる。このパーティクルは、ボリューム内の散乱成分をモデル化したものにあたる。従来は球状のパーティクルが用いられてきたが、これでは方向性のない構造しか表すことができない。そこで前述の論文では、球状のパーティクルを楕円体のパーティクルで置き換えて光のエネルギーの変化を考察し、RTEを書き換えている。各楕円体の軸の向きによってボリュームの局所的な向きを定義できるため、この置き換えによってRTEが方向性のある構造にも対応できるようになるのだ。論文ではこのようにRTEを書き換えた上で、実際にこのRTEをどのようにして解くかという具体的な方法をいくつか提示している。

前述したようにRTEの解法とは、実質的にはレンダリング技法に相当する。これまでのRTEに対して考案されてきた解法を本質的に大きく変えることなく(少しモディファイするだけで)、新たなRTEの解法として適用できるように工夫されているところも、実用的な見地からすると大きな利点となっている。たとえば、実際のレンダリングにおいては、新RTEをモデル化する楕円体パーティクルを、表裏の両面で鏡面反射する小さな板(マイクロフレーク:micro-flake)で置き換えている。これは物体表面での物理的に正確な反射をモデル化するためによく用いられるマイクロファセット(micro-facet)と極めてよく似た性質をもっているだけに、既存のレンダリング技術に慣れ親しんできた人々にとっては非常にわかりやすい。サブサーフェース・スキャタリングの効果を近似するために用いられるダイポール・モデルに新RTEを適用する場合も、座標系を変換するだけでほぼそのまま使うことができるのだ。

CGレンダリングの分野では30年以上に渡って既存のRTEをベースに物理的に正確なボリュームレンダリングの技法が開発されてきただけに、このRTEに改良を施すことは大きな改革を意味していたといえる。また、これまでのボリュームレンダリングにおいては、ボリュームの内部構造の幾何学的な特徴に焦点が当てられたことはなかった。レンダリングの精度を高めるためにジオメトリという概念に着目したという意味では、前述した毛のディテールの復元方法に共通する、ユニークなコンセプトをもっていたともいえよう。

図I-1

(Wenzel Jakob, Adam Arbree, Jonathan T. Moon, Kavita Bala, Steve Marschner, “A radiative transfer framework for rendering materials with anisotropic structure”, Proceeding of SIGGRAPH2010, (c)2010 ACM, Inc)

図I-2

Image Courtesy : Wenzel Jakob


RTEとは、ボリューム内を光が一定距離進む間に散乱や吸収によって光のエネルギーがどれだけ変化するかを考察し、エネルギーの収支がぴったりと合っている(Iin = Iout)ことを数式化したものである。このエネルギーの変化を考察するためには、図I-1のように、特定の断面積と軸の長さ(軸の方向は光の進行方向と一致している)をもった円筒形の領域を、ボリューム内の散乱成分を表すパーティクルで満たしたモデルが用いられる。
新RTE(Anisotropic RTE)では、従来のRTEで用いられてきた球状のパーティクルを楕円体のパーティクルで置き換えることによって、ボリューム内の構造の方向性に起因する光のエネルギーの変化をより物理的に正確に表すことを可能にした。たとえば、ボリューム内の構造が方向性をもっている場合には、光の進行方向によって散乱成分との干渉が引き起こすエネルギーの変化は変わってくる。光と散乱成分との干渉は円筒の軸(光の進行方向)に垂直な断面上で考察されるため、図I-2のように散乱成分を楕円体のパーティクルで表すと、光の進行方向(→、↓)の違いによって、散乱成分との干渉がエネルギーの変化におよぼす影響の大きさに違いが生じることをうまくシミュレートできるのだ。

Image Courtesy : Wenzel Jakob


実際のレンダリングにおいては、表裏の両面で鏡面反射する小さな板(マイクロフレーク:micro-flake)で楕円体パーティクルを置き換えて計算を行う。新RTEでは、円筒内の何パーセントの楕円体パーティクルがどの方向を向いているか指示する必要があるので、レンダリングではマイクロフレークの向き(実質的には法線方向)の分布をサンプリングする。
図J-1は、マイクロフレークをサーフェース状にサンプリングしたもの(マイクロフレークの法線を特定の方向に沿って重点的にサンプリングしたもの)で、半透明な層のようなボリュームを表現するのに適している。方向性をもったファイバー(繊維)やグレイン(木目)などで満たされたボリュームを表現ためには、図J-2のようにマイクロフレークをファイバー状にサンプリングしたもの(マイクロフレークの法線をファイバーやグレインの向きと垂直になるように重点的にサンプリングしたもの)が適している。

図K-1

図K-2

(Wenzel Jakob, Adam Arbree, Jonathan T. Moon, Kavita Bala, Steve Marschner, “A radiative transfer framework for rendering materials with anisotropic structure”, Proceeding of SIGGRAPH2010, (c)2010 ACM, Inc)


図K-1は、毛糸のスカーフを従来のRTE(左)と新RTE(右:毛糸の向きをファイバー(繊維)の向きと考え、ファイバー状にマイクロフレークをサンプリング)でレンダリングした結果を示している。新RTEを用いると、ハイライトなどのスペキュラー効果を、遥かにクリアに表現できることがわかる。
図K-2は、新RTEで木の板をレンダリングした結果(実際に木の板を計測して得られたグレイン(木目)の向きを、ファイバーの向きとして、ファイバー状にマイクロフレークをサンプリング)を示している。左と中央の2枚は、ライティングの向きを(左からと右からに)変えてレンダリングした画像である。右の1枚は、格子状に並べた光源によって、この板を裏から照らし、レンダリングした画像となっている。右の画像では、板の各部分のグレインの向きの違いによって、板に当たったスポット状の光の見た目も違ってくることが明確に表現されている。

図L-1

図L-2

(Wenzel Jakob, Adam Arbree, Jonathan T. Moon, Kavita Bala, Steve Marschner, “A radiative transfer framework for rendering materials with anisotropic structure”, Proceeding of SIGGRAPH2010, (c)2010 ACM, Inc)


ボリューム内部で光がディフュージョンという現象(ボリューム内で光が散乱を繰り返すことによって、一様にランダムな方向に散乱するようになる現象)を起こすと、RTEから散乱の方向に関わる変数を取り除いて方程式を単純化できる。この利点を生かして、サブサーフェース内で散乱を繰り返した光の効果は、サブサーフェースの内部と外部に配置した点光源(ダイポール)によって近似される。ダイポールとは正と負の1組の点光源のことで、図L-1の点線の位置で光のエネルギーの収支が合うように、サブサーフェース内の正の点光源を点線の位置で反転させ、サブサーフェース外に負の点光源を配置する。
新RTEでもダイポールを用いた近似はほぼそのまま適用できる。図L-1の左のように、新RTEの場合には正の点光源を反転させる方向が従来のRTEの場合のように点線に対して垂直方向ではなく、少し傾いた方向になる。しかし図L-1の右のように座標系を変換することによって、点線に対して垂直方向に反転させる処理に置き換えることができる。
図L-2の左は、従来のRTEに対応したダイポール・モデルを用いてレンダリングした結果である。図L-2の右は、サーフェースに平行な平面上にマイクロフレークをサンプリングして方向性のあるボリューム構造を作り出した上で、新RTEに対応したダイポール・モデルを用いてレンダリングした結果を示している。