超雑訳 A Practical and Controllable Hair and Fur Model for Production Path Tracing

こんばんわんわん。Pocolです。
今日は,[Chiang 2016]Matt Jen-Yuan Chiang, Benedikt Bitterli, Chuck Tappan, Brent Burley, “A Practical and Controllable Hair and Fur Model for Production Path Tracing”, Computer Graphics forum, Vol.35, Issue.2, pp.275-283, 2016.
を読んでみようと思います。
いつもながら、誤字・誤訳が多々あるかと思いますので,ご指摘頂ける場合は正しい翻訳例と共に指摘して頂けるとありがたいです。

Abstract

本研究では、パストレーシングに十分な効率を持つ、エネルギー保存型の髪と毛のファイバーシェーディングモデルを提案します。このモデルでは、ファイバー全体での高価な積分を避けるためにニアフィールド定式化を採用し、単一のローブで高次内部反射イベントのすべてについて考慮し、ロジスティック分布に基づいた新しい閉形式の方位角方向のラフネスの分布を提案します。さらに、多重散乱アルベドや等方性シリンダーラフネスなどの直感的なユーザーコントロールを、基礎となる物理パラメータに関連付けるパラメータ化を、シミュレーションによって導き出しました。

1. Introduction

映画のために作られた仮想世界では、髪の毛や毛皮がいたるところにあります。しかし、最初のヘアシェーディングモデルが登場したのは20年以上も前のことですが、ヘアや毛皮を効率的かつ正確にレンダリングすることは依然として困難な問題です。繊維の集合体の幾何学的な複雑さと、複数の散乱光の複雑さにより、ヘアのレンダリングは計算量が多く、制御が難しいのです。

計算機資源の利用可能性がますます高まっているため、プロダクション・レンダリングは、アドホックな方法から物理的な方法へと移行することが現実的になっています。特にパストレーシングは、そのシンプルさと忠実さから、近年のプロダクションレンダリングで広く使用されています。しかし、モンテカルロ法を用いて繊維集合内の実際の光散乱をシミュレーションすることは、ヘアやファーのレンダリングに新たな課題をもたらします。

ヘアシェーディングモデルは、一般的なレンダリング手法と同様に、アドホックなファイバーリフレクタンスモデル[KK89]から、誘電体シリンダーをベースとした物理的動機付けのあるモデル[MJC*03, dFH*11]へと発展してきました。しかし,既存のファイバーリフレクタンスモデルのほとんどは,スキャンラインや単純なレイトレーシングレンダラの状況で設計されており,ピクセルあたり1回程度のシェーディングが行われていました。一方,モンテカルロレンダリングやパストレーシングでは,複雑な3次元の制作現場をパストレーシングすることでグローバルイルミネーションを実現するために,ピクセルごとに数千ものサンプルを生成します。膨大な数のストランド(1キャラクターあたり数百万本規模)を使って散乱しなければならず悪化するため、各パスで結果的に数百のヘアシェーダを評価することになります。そのため、このようなアプローチを実用化するためには、個々のシェーダー評価が計算量的に安価である必要があります。

また、これまでのヘアシェーディングモデルの多くは、見た目に直接関係するパラメータではなく、材質の物理的特性を用いてパラメータ化されていました。このようなモデルは、アーティストにとって直感的な操作ができず、目的の外観を素早く得ることが難しい傾向があります。さらに、毛髪内で多重散乱光が発生すると、単一のファイバーシェーディングモデルのパラメータと繊維集合の外観との間に直感的でない非線形の関係が生じます。

本論文では、これらの問題に取り組み、以下のような貢献をしています:

  • 物理的な根拠に基づいた単一繊維の散乱モデルで、パストレースされた複数の繊維の散乱を効率的にモンテカルロ・レンダリングすることができます。このモデルでは、一般的に使用されているファーフィールドシェーディングモデルの散乱積分からニアフィールドシェーディングモデルの散乱積分への移行が必要となります。さらに、単一のローブを使用して、無限の高次ローブの散乱挙動を近似することで、非吸収ファイバーであっても手頃なコストで完全なエネルギー保存を実現しています。このモデルは実装が容易であり、従来のモデルと比べて数分の一のレンダリング時間で、ほぼ見分けがつかないほどのレンダリングを実現しました。
  • 物理的な整合性を保ちつつ、アーティストにとってより直感的で、アーティストの効率的なワークフローを可能にする吸収係数とラフネスのパラメータの再パラメータ化。また、動物の毛皮の表現に幅を持たせるためのコントロールを追加しました。

本論文の残りの部分は、以下のように進みます。セクション3では,我々が開発した効率的な単一ファイバー散乱モデルを紹介します。セクション4では,直感的なアーティストコントロールのために,どのようにモデルをパラメータ化するかを示します。最後に、セクション5では、いくつかの制作例で我々のモデルの効率性を分析します。

2. Related Work

Single Fiber Scattering
Kajiya と Kay [KK89] は,異方的な鏡面反射成分と拡散成分の組み合わせに基づいた,初めての物理ベースの繊維反射率モデルを発表しました。Marschnerら[MJC*03]は、この研究を大幅に改良し、毛髪繊維を吸収性のある粗い誘電体の円柱としてモデル化しました。彼らは、円柱内の内部反射の数に基づいて、繊維の散乱分布を異なるローブに分割し、最初の3つのローブ(\(R\)、\(TT\)、\(TRT\))をシェーディングモデルとして考慮しました。d’Eonら[dFH*11]は、この研究をさらに改良し、エネルギーを保存する緯度散乱関数と、方位角方向のサーフェイスラフネスを組み込んだ方位角散乱関数を導入しました。また、このモデルは\(TRT\)ローブを超えて、任意の内部経路長まで拡張されています。

これらのモデルはすべて,ファーフィールドの視点を採用した双方向曲線散乱分布関数(BCSDF)[ZW07]と考えられており,繊維の幅はその長さに比べて重要ではないと想定され,散乱応答は繊維の幅にわたって平均化されます. サンプル数が少ない場合,エイリアシングやノイズを避けるためには,このようなファーフィールドモデルが不可欠です。しかし、このモデルはシェーディングモデルに大きな複雑さをもたらします。シェーディング応答をファイバーの幅について平均化するには積分が必要ですが,これは円筒形状の粗い屈折のために簡単ではありません。Marschnerら[MJC*03]はこの積分を解析的に行っていますが、彼らは最初の3つの散乱イベントについての解しか示しておらず、方位角方向のラフネスを組み込むことができません。d’Eonら[dFH*11]は、ガウス求積法を用いて数値的に積分を行うことで、この問題を回避しています。これにより、方位角方向の粗さと任意の数のローブを組み込むことができますが、この求積法には大きな計算コストがかかり、低いラフネスでは振動が発生してしまいます。

同時に発表されたYanらの研究[YTJR15]では,動物の毛皮に特有の散乱挙動をモデル化するために,人間の髪の毛よりも動物の毛皮の方がより顕著な内部コアである髄質を考慮して,追加の内部シリンダーを導入しました。彼らはこの二重円筒モデルを実際の毛皮繊維の測定で検証しました。しかし、髄質散乱を追加することで複雑さが増すため、パラメータを空間的に変化させることができない表形式の実装が必要になります。また、直感的なパラメータ設定ができないため、予測可能な結果を得ることは困難です。彼らのモデルには、我々のモデルのようなニアフィールド効果が組み込まれているにもかかわらず、効率性の向上は動機ではなく,したがって評価されておらず,価値がありません。

Multiple Fiber Scattering
従来の単一散乱モデルを用いてアンバイアスドなパストレースされた複数の繊維散乱は、プロダクションレンダリングでは非常に高価です。そのため、その近似は活発な研究テーマとなっており、効率性の理由から必要とされています。Lokovic と Veach [LV00] は,髪の毛を通過するシャドウレイに沿って透過率を事前に計算しましたが,角度分布を粗くすることで,散乱されていない前方透過を考慮することしかできませんでした。また、彼らは局所的な方位の類似性が高いと仮定して、アドホックな局所散乱項を導入しました。MoonとMarschner[MM06]は、毛髪内の多重散乱を計算するためのフォトンマッピングベースのアプローチを発表しました。彼らの手法は後にMoonら[MWM08]によって改良され、ボクセル化されたヘアボリュームを通してライトトレーシングを行い、球面調和関数でエンコードされたフィルタリングされた散乱関数を保存しました。一般的に、我々の研究はこれらのアプローチと直交しています。我々の反射率モデルは、単一繊維の散乱のみを対象としており、我々の効率改善の主な目的は、パストレースされた多重散乱を実際に制作現場で実行可能にすることであり、したがって、そのような偏った、または矛盾した近似を避けることができます。

Art Controllability
Sadeghiら[SPJT10]は,Marschnerらのを明示的な単一散乱モデルとDual Scattering[ZYWK08]の多重散乱近似に基づいて,アーティストが使いやすいヘアシェーディングモデルに発表しました。彼らは我々と同じようにアーティストの制御性という問題を考えていますが,彼らの手法は基礎となるモデルの物理的な制約をほとんど気にせず,ヘアに多重散乱がある場合に直感的な制御を得るために明示的にDual Scatteringに依存しています。一方、我々の直感的なパラメータ化のアプローチは、使用される多重散乱法に依存せず、単一散乱シェーディングモデルの物理的に基づいた特性を保持しています。

※図は,[Chiang 2016]より引用

3. Our Model

ここでは,d’Eonら[dFH*11]のモデルをベースにした,我々の単繊維反射率モデルを紹介します。我々のモデルは,制作現場での経路追跡型複数ファイバー散乱に十分実用的で手頃な方位角ラフネスを提供し,また,高ラフネスや非吸収ファイバーなどのこれまで困難だったケースに対して完全なエネルギー保存を実現するように設計されています。

3.1. Background

Notation
我々のモデルは、入射方向と出射方向のペアに対する反射関数として定義されます。慣例[MJC*03]に従い,方向は繊維軸に沿った球面座標系で測定され,\(\theta\)は緯度方向の傾き,\(\phi\)は方位角を表します。ここでは、半径方向に対称性のある繊維のみを考慮しているため、このモデルは、入射傾斜\(\theta_i\)、出射傾斜\(\theta_o\)、相対的な方位角\(\phi = \phi_o – \phi_i\)によって完全にパラメータ化されています。

Factored Model
ここでは,繊維の反射率\(S(\theta_i, \theta_o, \phi)\)を,ローブとしての個別の伝搬モードの和に分解する因数分解されたローブ表現[MJC*03]に従います。

\begin{eqnarray}
S(\theta_i, \theta_o, \phi) = \sum_{p=0}^{\infty} S_p(\theta_i, \theta_o, \phi). \tag{1}
\end{eqnarray}

ここで、\(S_p(\theta_i, \theta_o, \phi)\)は\(p\)番目のローブを表しており、繊維円柱内で\(p\)回の内部反射をしたすべての光路が、出射する前に寄与していることになります。そして\(p \in \{R=0, TT=1, TRT=2, TRRT=3, \cdots\}\)です。各ローブは、さらに2つの1次元関数、緯度散乱関数\(M_p\)と方位角散乱関数\(N_p\)の生成に因数分解されます。

\begin{eqnarray}
S_p(\theta_i, \theta_o, \phi) = M_p(\theta_i, \theta_o) N_p(\phi) \tag{2}
\end{eqnarray}

Longitudinal Scattering
d’Eonら[dFH*11]はエネルギー保存型の緯度散乱関数を提案していますが,我々はこれが粗い誘電体円柱内の光散乱のグランドトゥルースなモンテカルロ・シミュレーションとよく一致することを発見しました。また、d’Eonら[dMH13]が提案した完全な重点サンプリング方式を採用しています。詳細な議論はセクション6を参照してください。

Azimuthal Scattering
方位角方向の散乱挙動は、緯度方向の挙動とは異なり、繊維の幅方向に大きく変化します。d’Eonら[dFH*11]によって提案された方位角散乱関数は、遠く離れた光源と観測者を想定しており、このような複雑な散乱挙動を集約されたファーフィールド応答として捉えるために、繊維幅にわたって一様に積分されています。

\begin{eqnarray}
N_p(\phi) = \frac{1}{2} \int_{-1}^{1} A(p, h) D(\phi – \Phi(p, h)) dh \tag{3}
\end{eqnarray}

ここで,\(h \in \langle -1, 1 \rangle\)は繊維軸からの入射光線のオフセット,\(A\)は体積吸収による減衰項,\(\Phi\)は完全に滑らかな繊維円柱表面を仮定したときの出射方位,\(D\)はサーフェイスのラフネスを考慮したGaussian detectorです。

d’Eonらのモデルがこれまでの研究と異なる重要な特性は,方位角方向の繊維表面のラフネスを考慮できることであり,これは図2に見られるような豊かな髪や毛の外観を実現するために不可欠であると考えました。詳しくはセクション4で説明します。

※図は,[Chiang 2016]より引用

3.2. A Path-Tracing Friendly Scattering Integral

d’Eonら[dMH13]は,式3において繊維幅全体の複雑な方位角散乱の挙動を捉えるために,70ポイントのガウス求積法を推奨しています。これは、照明のサンプリングが容易で、繊維幅にわたる方位角散乱積分が主な分散要因となる場合に有効です。しかし、これは我々のアプリケーションにいくつかの問題をもたらします。

  • 制作現場でのパストレースによるグローバルイルミネーションでは、複雑なシーンや周辺の繊維形状からの照明が発生するため、完全に解決するには膨大な数のパス(したがってシェーダーの評価)が必要になります。各シェーディングポイントで積分値を70回評価することが計算上のボトルネックとなります。
  • 方位角方向の粗さが低く、内部経路の長さが長い場合、積分値は次第にピークになっていきます。この場合,振動のない正確な結果を得るためには,70ポイントガウス型求積法ではまだ不十分であることがわかりました。
  • d’Eonらは、実行時により効率的な評価を可能にするために、積分値を2Dテーブルに事前計算することを提案していますが、シェーディングパラメータが空間的に変化し、テクスチャマップや動的な表現を介して提供されるようなプロダクションコンテキストでは、これは実用的ではありません。

モンテカルロ・レンダラは本来、多数のサンプルが与えられた難しい積分の統計的に不偏な解を計算するのに適していることがわかりました。我々は,式3の繊維幅における散乱積分を,レンダリングシステムが解く光輸送積分に単純に移すことを提案します。この選択により,高価な求積法の計算が不要になり,\(h\) をパラメータとした方位角散乱関数のサンプルごとの評価の複雑さが大幅に軽減されます。

\begin{eqnarray}
N_p(\phi, h) = A_p(h) D_p(\phi – \Phi(p, h)) \tag{4}
\end{eqnarray}

図10の制作例では、髪の毛や毛皮のシェーディングで大幅な高速化を実現しています。入射光線と毛髪繊維の正確な交点を利用して\(h\)を取得することで、式4は繊維幅に応じて反射率を空間的に変化させます。そのため、効率が大幅に向上しただけでなく、図10のように近くで見たときのモデルの精度も向上しています。この散乱積分の選択は,Zinke と Weber [ZW07]によって提案された位置依存のBSDF近似にヒントを得たものですが,クローズアップの精度を得るという当初の目的ではなく,性能を向上させるという動機に基づいていることに留意してほしいです。

3.3. Logistic Azimuthal Angular Distribution

式3の被積分関数には、Gaussian detector[dFH*11]が含まれており、一般的にはラップドガウス分布と呼ばれています。

\begin{eqnarray}
D(\phi) = \sum_{k=-\infty}^{\infty} g(\beta; \phi – 2 \pi k) \tag{5}
\end{eqnarray}

ここで、\(g(\beta; x)\)は標準偏差\(\beta\)のガウス分布です。この分布の目的は、サーフェイスのラフネスによる方位角方向の偏向をモデル化することです。

ラップされたガウシアンは、複数のガウシアンの評価を必要とします。我々は、等方性(標準偏差が\(\approx 225^circ\))に近づくと、無視できるエネルギー損失(<1%)を達成するために、最大5つのガウシアンが必要になることを発見しました。 さらに,ガウス分布は解析的に積分・反転することができないため,一般的にはBox-Muller変換を用いた2次元サンプリングやルックアップテーブルを用いたサンプリングに頼る必要がありますが[HR12, dMH13],パラメータはシェーディングのサンプルごとに異なることが多いため,コストがかかるか実用的ではありません。 我々は,図3に見られるように,ラップドガウス分布を,類似した形状を持つロジスティック分布に置き換えることを提案します(付録Aに再パラメータ化が記載されています)。ロジスティック分布は,図3のように類似した形状をしていますが,ラップドガウス分布と異なる点は,評価やサンプリングが非常に効率的に行えることです。ロジスティック分布は,任意の有限領域で解析的に積分可能なので,対象領域全体(ここでは\(\phi \in [-\pi, \pi]\))で正規化することができます。したがって、ラップドガウスとは異なり、1つのロジスティック分布で方位角分布を記述することができ、高ラフネスであっても完全なエネルギー保存を実現することができます。また、ロジスティック分布は反転可能な閉形式CDFを持っているので、解析的に完全にサンプリングすることができます。

※図は,[Chiang 2016]より引用

3.4. A Novel Fourth Lobe

完全なエネルギー保存を実現するためには、式1のように、繊維内で起こりうるすべての散乱現象を考慮する必要があり、これはローブ評価の無限の総和に相当します。最初の3つのローブ(\(R\),\(TT\),\(TRT\))のみを考慮すると[MJC*03]、図5に見られるように、特に低吸収繊維のグレージング角付近で大きなエネルギー損失が生じます。また、アニメのキャラクターは、毛皮の密度が高いことが多いです。高いアルベドと相まって、1回の散乱によるわずかなエネルギー損失が、時には数百回の散乱イベントによって容易に増幅されます。d’Eonらのモデル[dFH*11]は、\(TRT\)を超える任意の数のローブを扱うことができますが、この方法でエネルギー保存を達成するには大きなコストがかかります。図4に示すように、白い毛皮のエネルギー損失を無視できるレベル(1%未満)にするためには、10個のローブを評価する必要があり、現実的ではないシェーディングコストになってしまいます。

※図は,[Chiang 2016]より引用

※図は,[Chiang 2016]より引用

幸いなことに、無限個のローブが運ぶエネルギーは、幾何級数として書けることがわかりました。私たちは、\(TRT\)を超えるすべてのローブを表すために、4番目のローブを使用することを提案します(まさに次の内部散乱イベント\(TRRT\)から始まります)。この場合、関連するエネルギーは,

\begin{eqnarray}
A_{\rm fourth} = \sum_{p = TRRT}^{\infty} A_p = \frac{(1 – f)^2 f-2 T-3}{1 -fT} \tag{6}
\end{eqnarray}

ここで、\(A\)は式3の減衰項、\(f\)と\(T\)はそれぞれ[MJC*03, dFH*11]で定義されているフレネル係数と吸収係数です。また,高次ローブの緯度方向の角度分布は指向性を保っていますが(スペキュラコーン周辺),方位角方向の角度分布は非常に不規則になっていることがわかります。残留エネルギー\(A_{\rm fourth}\)が比較的小さいことから、第4ローブの方位角分布を単純に等方的に近似することを提案します。このような第4のローブを使用することで、このモデルは、すべての入射角ですべてのレベルの繊維吸収で完全なエネルギー保存を達成し、合理的な追加コストを実現します。

4. Controllability

理想的には、コントロールは観察された外観と直接かつ直感的に関連していなければなりません。また、操作性は最小限でありながら、希望の外観を実現するのに十分な表現力を備えている必要があります。これは特に、外観のほとんどが多重散乱に起因するパストレーシングのコンテキストでは難しい場合があります。このセクションでは、シェーディングモデルのパラメータ化において、これらの目標をどのように達成したかを説明します。

4.1. Roughness Reparameterization

Longitudinal
緯度方向のサーフェイスのラフネスは,d’Eonら[dFH*11]によって提案された緯度方向の散乱関数の分散\(\nu\)によって内部でパラメータ化されます。これは物理的・数学的な意味を持っていますが、範囲が限定されていないことや、その値に対する知覚的に統一された関係性がないことから、アーティストにとっては直感的ではありません。新しい知覚的に均一な緯度方向のラフネスのパラメータ、\(\beta_M\)を定義します。私たちはアーティストに、\(\nu\)の完全な領域から選択された知覚されるラフネスに関して一様な間隔を持つ画像のセットを手動で選択するように依頼しました。これらの画像に0(最も指向性が強い)から1(等方性)までの範囲の\(\beta_M\)値をラベル付けすると、以下の逆マッピングがアーティストの知覚によく対応することがわかりました:

\begin{eqnarray}
\nu = (0.726 \beta_M + 0.812 {\beta_M}^2 + 3.7 {\beta_M}^{20})^2 \tag{7}
\end{eqnarray}

Azimuthal
同じ推論を用いて、新しい方位角ラフネスパラメータ\(\beta_N\)を定義します。しかし,知覚実験からこのパラメータを導き出すのではなく,異なるラフネスの等方性マイクロファセット分布を持つ円筒上での数値散乱シミュレーションを用いて,我々の方位角分布関数と緯度方向分布関数の間の物理的な関係を決定しました。この発見された関係に基づいて、我々は\(\beta_M\)に対する知覚的なマッピングを再解釈し、ロジスティックスケールファクター\(s\)に対する\(\beta_N\)の同等のマッピングにたどり着きました。

\begin{eqnarray}
s = 0.265 \beta_N + 1.194 {\beta_N}^2 + 5.372 {\beta_N}^{22} \tag{8}
\end{eqnarray}

図12は、我々がパラメータ化した緯度方向および方位角方向のラフネスの両方が、多重散乱の外観を知覚的に線形に変化させることを示していますが、それぞれが異なる方法で変化しています。緯度方向のラフネスは主にハイライトの幅を制御し、繊維集合体の光沢感を変化させ、方位角方向のラフネスは全体的な柔らかさを制御します。

※図は,[Chiang 2016]より引用

※図は,[Chiang 2016]より引用

4.2. Color Reparameterization

我々のモデルでは、ヘアカラーの主な要因は単繊維の吸収係数です。しかし、図8に示すように、多重散乱による毛髪量の見かけの色は、単繊維吸収係数や単繊維透過色とは直感的に関係しません。さらに、図6に示すように、方位角のラフネスも知覚される色に大きく影響するため、色のパラメータ化は複雑になります。方位角のラフネスは、実質的に散乱媒質の位相関数のように振る舞います。方位角のラフネスが低いと、髪は前方に散乱し、髪のボリュームはより暗く、光がボリュームの奥に吸収されて飽和しているように見え、ラフネスが高いと、髪は後方に散乱し、ボリュームはより明るく、飽和していないように見えます。

※図は,[Chiang 2016]より引用

 アーティストは、サーフェイスレンダリングのように、テクスチャのカラーマップを使って複数の散乱色を直接指定したいと考えています。概念的には、このマッピングは、半無限の関与媒質の吸収係数をそのサーフェイスアルベドから取り出すようなものと考えることができます。実際に、このマッピングを確立するために、白いドームで照らされた密度の高いヘアキューブを、様々な(スカラー)吸収係数\(\sigma_a\)の値でレンダリングし、結果として得られる多重散乱アルベド\(C\)をキューブ画像の中心で平均して測定しました。多重散乱アルベドは方位角ラフネス\(\beta_N\)にも依存するため,このプロセスを全方位角ラフネス値に対して繰り返し行いました。

収集したデータポイントをもとに、(\(\sigma_a\), \(\beta_N\))のペアを測定した多重散乱アルベド\(C\)にマッピングすると、最小二乗法によるフィッティングで以下のような逆マッピングが得られました:

\begin{eqnarray}
\sigma_a = (\ln C / (5.969 – 0.215 \beta_N + 2.532 {\beta_N}^2 – 10.73 {\beta_N}^3 + 5.574 {\beta_N}^4 + 0.245 {\beta_N}^5))^2 \tag{9}
\end{eqnarray}

実際には、マッピングを作成する際に使用したものとは異なる髪の密度(図8、9)でもマッピングは機能します。髪の密度は、半無限の関与媒質の散乱係数と考えることができます。散乱係数を変更しても、光路のスケールが変わるだけで、結果としてのアルベドは変わりません。また、Zinkeら[ZYWK08]によって、多重散乱色(それはZinkeらによってBackscattering Attenuationと呼ばれています)がほとんど密度不変であることが指摘されました。

※図は,[Chiang 2016]より引用

※図は,[Chiang 2016]より引用

4.3. Additional Controls for Species Differentiation

Cuticle and Medulla
動物の繊維のキューティクルや髄質構造は非常に複雑な場合があります。ほとんどの種の間で毛皮の柔らかさやバリエーションを知覚するためには、再パラメータ化されたラフネス制御が必要かつ十分であることがわかりましたが、滑らかなキューティクルや散乱性の高い髄質構造を持つ一部の種では、追加の制御が必要です。この観察をモデル化するために、我々は、緯度方向のラフネス\(\beta_M\)の乗数である追加の一次反射ラフネスパラメータを公開しましたが、これは一次反射ローブ\(M_0\)についてのみです。これにより、図13に見られるように、ざらざらした毛皮に光沢のあるコーティングの層を作ることができます。また、Yanら[YTJR15]が指摘しているように、動物のキューティクルの鱗粉は層状構造を形成していることが多く、その結果、一次反射の反射率が高くなる。このため、近似的に繊維の屈折率を利用しています。

※図は,[Chiang 2016]より引用

Undercoat
人間の髪の毛は、均一な繊維が1層だけですが、動物の毛皮は、下層のアンダーコートを含むことが多いです。下毛は上毛に比べて短く、カールしていて、本数も多く、主に保温効果があります。アンダーコートは非常に高密度であるため、アンダーコートの形状を明示的にモデル化することは、一般的には不可能です。私たちは、アンダーコートの効果をシェーディングによって近似することを提案します。

4.2項で述べたように、毛髪密度は関与媒質の散乱係数と考えることができます。この散乱係数の低減にヒントを得て,4.1節で述べた位相関数と同様の効果を持つ方位角ラフネスを増加させることで,髪の毛の密度が高いように見せることを提案します。また,アンダーヘアはカールしているため,縦方向の粗さを大きくすることで,明示的にモデル化された毛髪の接線方向からのずれを効果的にシミュレートすることを提案します。このような近似性が確立されていれば、アーティストは、そのような架空のアンダーコート層が占める毛皮の長さに沿って、高い方位角と緯度方向のラフネスの値を割り当てることで、アンダーコート層の厚さをコントロールすることができます。その結果が図14です。

※図は,[Chiang 2016]より引用

5. Results

Performance
ファーやヘアのレンダリングには、計算コストがかかります。シェーディングのコストを考えずに、髪の毛の形状に対してブルートレースでパスをトレースすることは、すでに限界に近いものがあります。図10は、我々が選択した散乱積分とd’Eonら[dFH*11]が提案した散乱積分を用いてレンダリングされた毛皮のキャラクターの制作例です。高価な70ポイントのガウス求積法を避けることで,毛皮のシェーディングを約20倍に高速化し,このプロダクションキャラクターの全体的なレンダリング時間を10倍以上に短縮することができました。この手法により,シェーディングが非常に重要な役割を果たしていたレンダリング(全体のレンダリング時間の80%以上)が,トラバーサルと同等になりました.これにより、プロダクションレンダリングにおいて、ファーやヘアのブルートフォースのパストレーシングが初めて可能になりました。また、シェーディングの最適化を進めても、その効果が薄れることも示唆されています。

※図は,[Chiang 2016]より引用

Noise
図10の遠景比較では,デュアルバッファー法[RKZ12]を用いて各画像のサンプリング分散を算出しました。サンプリング分散が類似していることから(我々:\(-10.3591dB\) vs [dFH*11]: \(-10.455dB\)),2つの手法は同程度のノイズレベルの画像を効果的に生成していると考えられます。理論的には,BCSDF [dFH*11]は繊維間のシェーディング分散を最小化するように設計されています。しかし実際には,ライトサンプリングやジオメトリ・エイリアシングなど,他の要因が分散を支配しているのではないかと考えています。また,我々のモデルでレンダリングしたサンプル数の多い参照画像に対する各画像のRMSEを評価しました(我々のモデル:0.0140999 vs. [dFH*11]:0.0146729)。これは,d’Eonらが提案したBCSDFが,照明積分を評価する際に繊維幅上の正確な位置を無視していることに起因すると思われる,より大きな誤差をもたらしていることを示しています。

Shader Parameters
我々の統一された毛髪・毛皮プロダクションシェーダーは、緯度方向のラフネス方位角方向のラフネス一次反射ラフネスの屈折率キューティクルの角度の6つのパラメータを持っています。これらのパラメータにより、プロダクションパストレーサーでは、多種多様な人間の髪の毛や種族を再現することができます。図11は、これまでの手法では実現できなかった柔らかな白い毛を再現しているところです。

※図は,[Chiang 2016]より引用

6. Discussion

緯度方向の角度分布にはロジスティック分布を用いることを検討しました。Marschnerら[MJC*03]が提案したガウス分布の代わりにロジスティックを使うのは自然な選択ですが、d’Eonら[dFH*11]が提案した緯度方向の散乱関数を使うことにしたのには2つの理由があります。まず、Marschnerらの緯度方向の散乱関数は、緯度方向の角度に関してガウス分布が定義されており、等方性に近づくと繊維の接線方向にエネルギーが散乱しすぎてしまうのに対し、高いラフネスでは立体角に対して等方的になり、より望ましい結果が得られることです。第二に、[dFH*11]のサンプリング方式は、立体角に関して完全なサンプリングを実現しています。ロジスティック分布が完全にサンプリングできるにもかかわらず、Marschnerらの緯度方向の散乱関数には\(1/\cos \theta_d\)が含まれており、サンプリングされないままになっています。

7. Conclusion and Future Work

我々は、プロダクションレンダリングにおけるパストレースされた複数のファイバー・スキャタリングに対応した、新しい統合ヘア&ファー・シェーディングモデルを発表しました。パストレーシングに特有のモンテカルロ積分に依存した実装は、従来の手法と同様でありながら、より効率的なものとなっています。また、1つのローブのみを使用して高次の内部散乱イベントをすべて捕捉することで、低吸収繊維に対してもエネルギーの保存が可能になりました。我々は、直感的な知覚の再パラメータ化について説明し、わずか6つのパラメータを使って、人間と動物のさまざまな結果を実証しました。この研究は、ウォルト・ディズニー・アニメーション・スタジオのプロダクションで採用されました。今後の課題としては、Yanら[YTJR15]によって提供された実際の毛皮の反射率プロファイルを用いて、我々のモデルを検証することです。また、動物のアンダーコートの分布をより正確にモデル化したいと考えています。

8. Achknowledgments

著者は、この論文に貢献し、サポートしてくれたWalt Disney Animation StudiosのZootopiaクルー、特にErnie Petti、Michelle Robinson、Brian Leach、Mitchell Snary、Alex Nijmeh、Jared Reisweber、David Kersey、Mark Siegel、Darren Robinsonに感謝します。また、Dayna Meltzerの協力にも感謝しています。すべての画像はディズニーのHyperion Rendererでレンダリングされています。すべての画像は © Disney Enterprises, Inc.です。

Appendix A: Logistic Azimuthal Angular Distribution

まず、スケールsを持つオリジナルのロジスティック分布から始めます。

\begin{eqnarray}
l(x, s) = \frac{e^{-x/s}}{s(1 + e^{-x/s})^2} \tag{10}
\end{eqnarray}

これを有限の領域\([a, b]\)に正規化すると、次のようになります。

\begin{eqnarray}
l_f(x, s; a, b) = \frac{1}{ \frac{1}{1 + e^{a/w}} – \frac{1}{1 + e^{b/w}} } l(x, s) \tag{11}
\end{eqnarray}

これをガウス分布のピークに合わせて再パラメータ化すると

\begin{eqnarray}
l_g(x, s; a, b) = l_f(x, s\sqrt{\pi/8}; a, b). \tag{12}
\end{eqnarray}

その結果、\(\phi\)上の方位角分布は次のようになります。

\begin{eqnarray}
D(\phi) = l_g(\phi, s; -\pi, \pi) \tag{13}
\end{eqnarray}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください