毛のディテールのリアリズム

ヘア・ボリューム内のマルチ・スキャタリングの効率的な計算が可能になったことで、今日のVFXの視点からすると、最も高い精度のリアリズムで、あらゆるタイプの毛の表現が可能となった。だが、VFXの分野では、一定レベルのリアリズムの表現が実現されると、即座にさらに高いレベルのリアリズムが必要とされるようになる。実際のところ、2008年から2009年にかけては、映画VFXなどでも、これまで敷居が高いと思われてきたモンテカルロ・レイトレーシングのような物理的に正確なレンダリング技法が次々に導入されるようになっていった。そしてこのような動きは、毛に関しても、これまでのようなボリューム全体のリアリズムだけでなく、局所的なディテールのリアリズムをも追求する必要性が出てくるであろうことを予測させた。SIGGRAPH ASIA 2009においてWensel Jakob氏とMarschner氏の共著で発表された論文は、このような将来的な要請を満たすための方法論を非常にユニークな視点から編み出したものだといえる。

この論文は、今日のレンダリング技術をもってしても毛のディテールの表現が不十分である大きな要因の1つが、ヘア・ボリューム内の局所的な構造(一本一本の毛の生え具合や曲がり具合)を乱数などによってやみくもに作り出しているところにあると指摘している。この問題点を解消するために、実際に毛を撮影・計測して毛の局所的な構造を掴み取り、その構造をシミュレートするアルゴリズムを用いて、一本一本の毛を自動生成する方法を提示している。一見するとイメージベーストの毛のモデリングに相当するようにも思えるが、一般的なイメージベースト・モデリングのように物体の大雑把な形状を復元することを目的としているのではなく、現実世界における毛の局所的な構造を把握して、レンダリング精度を向上させることが目的となっている点が違っている。

コンセプトそのものもユニークだが、毛の計測・毛の生成の各工程もなかなかユニークだ。まず撮影は、デプス・オブ・フィールド(被写界深度)を非常に狭く設定したデジタルカメラに、マクロレンズを付けて行う。これによって、1枚の写真の中で焦点の合っている毛は、ほんの少数に限られてくる。最もクリアに写っている毛だけを抽出することによって、毛の局所的な構造をキャプチャーすることができる。局所的な構造の3D情報を復元するためには、異なった複数のカメラアングルで、デプスを密に変化させながら撮影を行う。特定のカメラアングルに対して、ある特定の毛がクリアに写っているデプスの撮影画像を、すべて3D空間上に射影すると、カーブした幅のある3Dリボンが生成される。すべてのカメラアングルに対して生成された3Dリボンの交わりが、撮影画像に写っていた毛の3D構造に相当するのだ。3Dリボンの交わりをダイレクトに算出することは難しいので、ここでは3Dリボンを細かい短冊状の板に分割する。そして、各分割区間において、複数のカメラアングルに対応する複数の板の交わりを算出し、この交わりに接する方向に毛を伸ばしてゆく。この作業を繰り返すことによって、撮影画像に写っていた毛の3D構造を復元することができるのだ。

前述したように、実質的な作業はジオメトリの復元であるにもかかわらず、レンダリングの前処理という位置付けをとっているところが、この手法の大きな特徴だ。実際のところ、このように局所的な毛の構造を復元しておくと、同じレンダリング技法を適用しても、そのリアリズムは驚くほど向上することが示されている。今日のCGの研究では、“モデリング” “アニメーション”  “レンダリング”といった研究が、それぞれの分野で閉じているケースが多いのだが、前述の手法はこのような研究体制に一石を投じるという意味合いも含んでいたようだ。

(Wenzel Jakob, Jonathan T. Moon, Steve Marschner,“Capturing Hair Assemblies Fiber by Fiber”, SIGGRAPH ASIA 2009 (c)2009 ACM, Inc)


毛のディテールの構造を計測するためのデバイスは、図E-2のように毛のサンプルを乗せたターンテーブルと、ターンテーブルの軸に垂直なトランスレーション・ステージ上に備え付けられたマクロレンズ付きのデジタルカメラで構成されている。ターンテーブルを回転させることによって、複数の異なった視点で捉えた写真を生成できる。さらに、カメラがトランスレーション・ステージ上を移動することによって、複数の異なったデプスの写真を生成できる。

図F

(Wenzel Jakob, Jonathan T. Moon, Steve Marschner,“Capturing Hair Assemblies Fiber by Fiber”, SIGGRAPH ASIA 2009 (c)2009 ACM, Inc)


計測ではデプス・オブ・フィールド(被写界深度)が非常に狭くなるように設定されているため、1枚の写真の中で焦点の合っている毛はほんの少数に限られる。これらにフィルタをかけて、“一本の毛”を特定の視点方向から各デプスで捉えた場合の2Dジオメトリを復元することができる。特定の視点方向から異なったデプスで捉えた2Dジオメトリをすべて3D空間上に投影したものは、一本のカーブした幅のある3Dリボンとなる。
図F左は、このような3Dリボンの集合(青色)を示している。図F中央は、左とは異なった視点方向から撮影した画像を用いて復元した3Dリボンの集合(紫色)を重ね合わせたものとなっている。図F右は、さらに左とも中央とも異なった視点方向から撮影した画像を用いて復元した3Dリボンの集合(緑色)を重ね合わせたもので、それぞれの毛に対応した青・紫・緑の3Dリボンの交わりが、復元すべき個々の毛の3Dモデルとなる。

図G

Image Courtesy : Wenzel Jakob


3Dリボンを細かく分割すると、その各分割部分は1つの平面上に含まれるようになり、“3Dリボン同士の交わり”の算出を“平面同士の交わり”の算出に単純化できる。図Gは、k番目の分割領域での(異なった3つの視点方向に対応した)3種類の3Dリボンの交わりを算出する工程を示しており、これはちょうど青・紫・緑の3つの平面の交線を算出する作業に相当する。実際には、3つの平面の法線方向すべてに対して最も“垂直”な方向(図内のgの方向)を算出し、この方向に向かって毛を“伸ばす”。この作業を繰り返すことによって、復元すべき毛のジオメトリが生成されてゆく。

図H-1

図H-2

(Wenzel Jakob, Jonathan T. Moon, Steve Marschner,“Capturing Hair Assemblies Fiber by Fiber”, SIGGRAPH ASIA 2009 (c)2009 ACM, Inc)


図H-1・図H-2ともに、左は実写、右は図Gのアルゴリズムで復元した毛のジオメトリを物理的に正確なレンダリング技法でレンダリングした結果を示している。毛の塊から離れた一本一本の毛までが正確に復元されていることがわかる。