SkinのLUTを作ってみた。Mappingについて。Engineの方も折角なので和訳しておこうと思います。毎度のことながら,誤字・誤訳等が多々ありますので,予めご了承ください。誤訳をご指摘頂ける場合は,正しい翻訳例と共にご指摘頂けると幸いです。ちなみにFrostbiteエンジンのコースノートの和訳は以下になります。引用Introduction約一年前,我々はいつかシェーディングモデルを改善するのと,より物理べースのマテリアルワークフローを利用することに投資することを決めました。これはより現実味のある画像を描画したいという部分的な衝動によるものでしたが,マテリアル作成のより物理ベースへのアプローチとマテリアルレイヤーリングの使用を通じて達成できることにもまた関心がありました。アーティストはこれは巨大なワークフローと品質の向上であるということを感じており,そして私は全てに別のスタジオで直接これらの利益を見ていました,そのスタジオではオフラインでコンポジットされたマテリアルレイヤーへと移行していました。おいてテクニカルアーティストの1人がシェーダ内で期待できる十分な結果をもつレイヤリングを行う実験をし,これが追加の要求となりました。この目標をサポートするために,我々はマテリアルのレイヤリングがシンプルで効率的にするために必要ということが分かりました。プレゼンテーション[2]がやってきました。オフライン向け映画レンダリングについて十分洗練された非常に小さなマテリアルパラメータセットであることをデモンストレーションしました。彼は極めて実践的なシェーディングモデルで多くのサンプルされたマテリアルにしっかりと適合することを示しました。第一に,一度に表示可能な大量のライトを使用するために効率的である必要があります。可能な限り少ないパラメーターとすべきです。大きなパラメータ配列は結果として,決定麻痺,試行錯誤,あるいは単一の意図した効果のために多くの値を変える必要がある相互連結したプロパティのいずれになります。イメージベースドライトと,解析的な光源は相互に使用できるようにする必要があり,そのため,パラメーターはライトタイプのすべてに渡って一貫性した反応を示さなければなりません。屈折率のような物理的なものと対比して,単純で理解しやすい値が好ましいです。マスクを通じたレイヤリングをサポートすることを切望しますが,ピクセルごとに一回のみのシェードを可能にします。これが意味するのは,パラメータブレンドされたシェーディングはシェードされた結果をブレンディングすることと可能な限りきっちりと合致しなければなりません。透過物体と不透明物体の技術的な理解を必要とすることを回避したいです。同様に,物理的に妥当な基本マテリアルを生成するために必要とされる労力も最小限にしたいです。物理的に妥当なマテリアルを誤って作成するのを困難にすべきです。パラメータの組み合わせすべては可能な限り頑健で妥当性があるべきです。我々が保持するのが可能なシェーディングモデルの数をディファードシェーディングは制限するので,基本シェーディングモデルは実世界に存在するマテリアルの99%をカバーために十分に分類できる必要があります。レイヤー可能なマテリアルのすべてはそれらをブレンドするために同じパラメータセットを共有する必要があります。他のプロジェクトとランセンシーは同じフォトリアリズムの目標を共有できない恐れがあり,そのためノンフォトリアリスティックレンダリングを十分に可能にする柔軟性が必要です。BRDFBurleyのディフューズモデルを評価しましたが,Lambertianディフューズ(式1)と比べて小さな変化のみしか見れず,そのため我々は追加コストを正当化できませんでした。任意のより洗練されたディフューズモデルはイメージベースドライティングあるいは球面調和ライティングで効率的に使用するのが難しいです。結果として,我々はその他の選択を評価することに努力を注ぎませんでした。マテリアルのディフューズアルベドです。\tag{2}\]このコースのかなり細かいことについては[9]を参照してください。モデルで開始し,各項をより効率的な代替のものと比較し重要性を評価しました。これは聞くよりもかなり難しいです;各項について発表された式は正確な比較に不可欠な同じ入力パラメータを使用する必要性はありません。選択がコストに合うものであると分かりました。使用する以上の追加のコストはかなり少なく,そしてはっきりと異なり,ロング”テール”によって生み出される自然な見た目はアーティストを引き付けました。再パラメータ化を適用しました。G他のどのオプションよりもスペキュラー幾何減衰項について多くのオプションを評価しました。モデル[21]をより良く適合します。1]について極めて近い近似となります(図2に示します)。修正を使用する選択をしました。イメージベースドライティングを適用する場合,視射角における結果はあまりにも暗くなりすぎます。近似[19]を使用する典型的な選択をしましたが,小さな変更を持ちます:指数を置き換えるために球面ガウシアン近似[10]を使用します。計算するがわずかに効率的で,違いは微小です。垂直入射におけるスペキュラーリフレクタンスです。Lightingイメージベースドライティングでこのシェーディングモデルを使用するために,放射輝度積分を解く必要があり,それは重点サンプリングを用いてなされます。}重点サンプリングでも,実行するためにまだ多くのサンプルが必要です。サンプル数はミップマップ[3]によって著しく減少することが可能ですが,十分な品質のために16以上の数が必要になります。ローカルリフレクションのためにピクセルごとに多くの環境マップをブレンドするので,それぞれに対して実質的に単一サンプルに与えることのみができます。Approximationこれを達成するために,上記の2つの総和へと分解することによって(式7)総和を近似します。各分解した総和は事前計算することが可能です。l})\)については正確であり,一般的な環境についてほとんど正確です。Map異なるラフネス値に対する最初の総和を事前計算し,キューブマップのミップマップレベル内に結果を格納します。これはゲーム業界の多く[1,9]で使用される代表的なアプローチです。分布を持つ環境マップを畳み込みするということです。従ってマイクロファセットモデルなので,分布の形状はサーフェイスに対する視野角に基づいて変化します。この等方性の仮定は近似の2つ目のソースになり,残念なことにグレージング角における非常に長い反射を得ることができないということを意味しています。Lの解法について誤差の大きな源になります。よって重みづけすることによってより良い結果を達成することがわかりました。BRDF2つ目の総和は他のすべてを含んでいます。積分することと同等です。この関数の結果を事前計算し,2次元のルックアップテクスチャ(LUT)に格納します。引用この作業が完了した後で,ほぼ同じ解決策につながる既存および同時研究を発見しました。これを最適化し[7],我々が行った方法とほぼ同じです。類似した積分について解析的な近似を結び付けて表すことによってさらに進んだことを行っています[11]。ものを単純化したモデルです。スペース,テクスチャストレージの削減,そしてアクセスを最適化するのに極めて重要で,ピクセルシェーダにおいてマテリアルレイヤーのブレンディングのコストを最小化します。以下が我々の基本マテリアルモデルです:BaseColor単一色。理解するのがより容易な概念です。Metallic透明物体のリフレクタンスと不透明のリフレクタンスを理解する必要はなく,そのため誤差の余地がより少ないです。Roughnessその意味は非常に明確です,一方で光沢は常に説明する必要があります。Cavity小規模のシャドウイングに対して使用されます。パラメータは述べられていません,そのため説明するのがふさわしいです。ランタイムシャドウイングシステムが処理可能ものよりも小さいジオメトリ由来のシャドウイングを指定するために使用し,大抵法線マップ上に表現されるのみのジオメトリのためです。例としては床板あるいは布の縫い目の間の隙間です。デモの完成までは使用していましたが,最終的には好ましくありませんでした。制御することへの移行するのに若干障害となりました。効果的に使用されるケースでほとんどもっぱら小さなスケールのシャドウイングのためです。屈折率(IOR)の値が非金属についてほとんど重要でないことがわかったので,そのため最近はスペキュラーをより理解しやすいCavityパラメータに置き返しました。現在定数0.04です。以下のDisneyモデルからのパラメータは我々の基本マテリアルに採用する選択をせず,代わりに特別ケースとして取り扱います:Subsurface異なるシャドウマップをサンプルします。Anisotropy多くのIBLサンプルを必要とします。Clearcoat2倍のIBLサンプルを必要とします。SheenBurleyのノートにうまく定義されていません。除いて作品上でこれらの特別ケースのモデルは使用されていません。スキンについて特別なシェーディングモデルを持っています。将来,特化されたシェーディングモデルをより多くサポートするために我々はハイブリッドのディファード/フォワードシェーディングアプローチを適用することを考えています。動的分岐で処理されます。Experiences数回見てきたある状況があります。興味深いコメントが後に続きました:”ラフネスは逆になった感じがする”。アーティストがスペキュラーハイライトを明るくするのと同等にテクセルをより明るくするものとして彼らが書くテクスチャーを見たいということが判明しました。画像にラフネスを保存する場合,明るさは粗さに同等のとき,より激しさが少ないハイライトにつながります。数えきれない数受ける質問は”メタリックはバイナリですか?”で,もともとは混合やレイヤードマテリアルの頭にいれて説明しました。”はい!”というのが最も良いということを学びました。値のメタリックを持つ金属を見つけることでしょう。説明するための方法にすべきです。再現できないマテリアルの形式上で,移行の間いくつかの問題がありました。由来の最も重要な設定です。非写実的なアートの方向性を有しており,意図的にディフューズとスペキュラーリフレクタンスに対して補色を使用しており,物理的に妥当でなく,新しいマテリアルモデルにおいて表現できないものです。おける品質を維持するためにエンジンが切り替えられるようにディフューズカラー/スペキュラーカラーのサポートを継続を決定しました。使用により証明されたように非写実的なレンダリングを不可能にする新しいモデルを好きだと思えません。そのため,将来のプロジェクトのすべてについて使用できるように意図しました。アセットの至る所で作品を再利用します。単一のアセットに対する複雑性を減らします。ゲームの見た目を定義するマテリアルの統一化と集中化をし,より簡単にアートと技術の方向付けを可能とします。完全にこの新しいワークフローを受け入れるために、我々のツールを再考する必要がありました。寿命を早めるためノードグラフベースのマテリアルエディタを特色としました。このノードグラフは入力(テクスチャ,定数),操作,そして出力を指定し,シェーダコードへとコンパイルされます。マテリアルレイヤリングの主な目的はこの作業の多くのためでしたが,驚くべきことにオーサリングとマテリアルレイヤーをブレンディングをサポートするためにツール側へ追加する必要があるものは非常に少なかったです。マテリアルエディタにおけるノードグラフのセクションは既に関数へとグループされており,複数のマテリアルから使用されます。この機能性はマテリアルレイヤーを実装する際に違和感なく適用されます。システム上の固定化された関数としての代わりにノードベースエディタ内でマテリアルレイヤーを保持し,プログラム可能な方法でマップされることと組み合わせることのためのレイヤーを可能にします。ワークフローを効率化するために,マテリアルの出力のすべてを保持する新しいデータ型,マテリアル属性を追加しました。この新しい型は,その他の型のように,シングルピン,ワイヤーに沿ってパスされる,そして直接出力されるようなマテリアル関数の受け入れと受け渡すことができます。これらの変化で,以前のテクスチャと同じ方法で入力,組み合わせ,操作そして出力としてマテリアルレイヤーはドラッグイン可能です。実際には,マテリアルグラフの多くは特定マテリアルをカスタムするための主要なことはレイヤーがマップされるのとブレンドされる方法としてレイヤーの適用なのでより単純になる傾向があります。これは存在するために使用されるパラメータの特定操作よりもかなり単純になります。知覚的に線形なマテリアルパラメータの小規模なセットを持つため,実際にシェーダ内で完全にレイヤーをブレンドすることは実用的です。これは純粋なオフラインコンポジットシステムを超える品質上の相当な増加を提供することを我々は感じています。テクスチャデータの明白な解像度は異なる周波数におけるデータをマップできるようにするためかなり高くなる可能性があります:頂点ごとあるいはテクスチャデータの低周波は一意になる可能性があり,ブレンドマスクのレイヤー,法線マップとしてキャビティマップはメッシュごとに指定され,そしてマテリアルレイヤーはメッシュのサーフェイスをまたいでタイル化されます。高度な場合はさらに多くの周波数を使用可能性があります。我々はシェーダコストのため使用可能なレイヤー数を実質的に制限し,アーティストは問題のある制限をまだ見つけていません。懸念事項を引き起こす領域は複数のセクションへとメッシュを分離することによって結果としてより多くのドローコールとなるシェーダ内のレイヤリング制限近辺で作業した場合におけるアーティストです。おけるドローコール数はより良くなっていることを除きますが,これは将来に問題となる可能性があるように見えます。近づくレイヤーをもつ範囲上のシェーダコストを減らすために動的ブランチを使用することです。これまでのところ,マテリアルレイヤーで我々の経験はかなり有益になりました。生産性の向上と品質上の大きな改善の両方が見られました。我々は簡単に検索するのとレイヤーをプレビューすることによってアーティストのマテリアルのライブラリへのインタフェースを向上することを望んでいます。我々は,膨大な数のレイヤーとより良いスケーラビリティを提供するのをサポートするために現在のランタイムシステムに加えてオフラインのコポジット/ベイクシステムを調査する予定です。Modelシェーディングと同じように,より物理ベースにすることによってライティングモデルを改善することを望みました。ライトのフォールオフと非パンクチュアルソースの放射に注目した2つの領域は一般的にエリアライトとして知られています。ライトのフォールオフを改善することは比較的に単純です:物理的に正確な逆平方フォールオフを適用し,ルーメンの放射輝度単位に切り替えました。言っても,この種のフォールオフ関数がゼロに到達する距離を持たないことを処理するある小さな複雑さを持ちます。リアルタイムとオフライン計算の両方についての効率性のため,我々はまだ人為的にライトの影響を制限する必要があります。これを達成するための多くの方法[4]がありますが,ライトの影響の大部分が比較的に影響を与えずに保つような方法で窓の逆平方関数を選択し,一方でまだゼロへの柔らかな転移を提供します。アート的にロックされたライティングを持つ際に重要になる可能性がある効果的な明るさを変化せずにライトの半径を調整することによって,これは良い性質を持ちますが,ライトの範囲はまだパフォーマンスの理由のために調整する必要があります。\tag{9}\]分母の1は光源に近い距離において関数が破綻するのを妨げるためにあります。物理的な正確性が要求されない場合についてのアーティストが操作可能なパラメータを提示することが可能です。多くの局所照明を持つシーンにおけるこの単純な変化が作る品質の違いはお金を持ち去ることに対する最も大きなバンという音のようになることを意味しています。Lights面光源はより現実的な画像を生成だけでありません;それらは物理ベースマテリアルを使用するときにかなり重要です。不自然に見える極小のスペキュラーハイライトに結果としてなるため,面光源なしではアーティストは非常に低いラフネス値をペイントすることを直感的に避ける傾向があることがわかりました。本質的に,アーティストはパンクチュアルソースからエリアライトの効果を再現しようと試みました。残念なことに,この反応はシェーディングとライティング間の結び付けを招き,物理ベースレンダリングの核となる原則の1つを破壊します:マテリアルは生成されたところから異なるライティング環境で使われる際に修正すべきではないです。エリアライトは研究の活発な領域です。オフラインレンダリングにおいて,一般的な解決策は光源のサーフェイス上に多くの点からライトすることで,つまり,均一サンプリングまたは重点サンプリングのどちらかを使用することです[12][20]。これは完全にリアルタイムレンダリングについて実現困難です。ディフューズBRDFとスペキュラーBRDFを持って評価されたエネルギー量は著しく異なることはできない。これを達成するためにシェーディングモデルのあらゆる側面を失いたくない。一方で,前述された”バイアスされたラフネス”問題を解くことができません。Reflectsionビルボード反射[13]は離散光源について使用可能なIBLの形式です。放射された光を格納する2次元の画像は3次元空間に矩形へとマップされます。環境マップの事前フィルタリングと同じように,画像はスペキュラー分布コーンの異なるサイズについて事前フィルタされます。コーンの中心におけるレイはビルボード平面と交差します。画像中の交差点はこのとき,テクスチャ座標として使用され,交差におけるコーンの半径は適切な事前フィルタされたミップレベルを得るために使用されます。画像は平面上で事前フィルタされます。そのため,制限された立体角は画像空間上で表現することができます。レイが平面と交差しないときはデータが存在しません。未知あるいは反射ベクトルと仮定されます。Intersectionコーントレーシングは事前フィルタリングを必要としません;解析的に実行可能です。コーンとコーンの交差式[15]を用いることでしたが,実用するにはあまりにもコストが高すぎました。よって提案された代替手法[7]はシェーディング点に面するディスクとコーンが交差します。近似する多項式は交差範囲についての区分積分となります。最近の進歩で,これは研究について興味深い領域になったように思われますが,現在の形式では,我々の要求を実現できません。コーンを使用するため,スペキュラー分布は放射上にシンメトリーでなければいけません。これは非常に重要なマクロファセットスペキュラーモデルの特徴である延ばされたハイライトを除外します。ビルボード反射のように,シェーディングモデルによって必要とされる定義されたライトベクトルが存在しません。Modification昨年に提案されたアプローチ[14]は光源の立体角に基づいてスペキュラー分布を調整することです。h})\)と同じ光源の分布を考慮することです。その他によってある分布を畳み込むことは新しいコーンを導出するためにコーン両方の角度を追加することによって近似を可能にします。これを達成するために,式3から\(\alpha\)を効果的なコーン角度へと変換し,光源の角度を追加し,逆変換します。この\(\alpha’\)は今,\(\alpha\)の代わりに使用されます。\tag{10}\]効率的なものの,残念なことにこのテクニックは非常にグロッシーなマテリアルは大きなエリアライトでライティングするときに粗さが出現するので我々の最初の要件を実現しません。例です―にテクニックははるかに良い動作をし,したがって光源の分布により合致します。基づく)について,実行可能ではありません。Point特定のシェーディング点について,光源のサーフェイス上の単一の代表点としてエリアライトから来るすべての光を扱う場合に,我々のシェーディングモデルは直接使用することができます。理想的な選択は最も大きな寄与を持つ点です。分布について,これは反射レイへの最も小さな角度を持つ光源上の点となります。このテクニックは以前に発表されました[16][22],しかしエネルギー保存に取り組むことはありませんでした。放射された光の原点を移動することによって,効果的にライトの立体角を増加しますが,追加エネルギーについて埋め合わせされません。それを補正することはエネルギーの差分がスペキュラー分布に依存するので立体角で除算するよりもわずかに複雑です。粗いマテリアルについての入射光の方向が変化することはエネルギー上で非常に小さな変化の結果となりますが,グロッシーなマテリアルについてエネルギー上の変化は極めて大きくなります。Lightsスフィアライトについての放射照度はスフィアが水平より上である場合ポイントライトと等しくなります[18]。直感に反しているにもかかわらず,これは水平より下側にスフィアが下がる際の不正確性を受け入れる場合にスペキュラー照明を対処するためのみに必要とされるということを意味しています。我々はレイへの最短を距離を持つ点を見つけることによって反射レイへの最も小さな角度を持つ点を求めることを近似します。レイがスフィアに交差する場合において,計算された点はスフィア中心へのレイ上の最近接点になります。正規化すると,同一になります。スフィアのサーフェイスへと放出される光の原点を移動することによって,我々はスフィアの定められた角度によって効果的にスペキュラー分布を広げます。スフィアの定めれた角度の半分です。あることを意味しています。依存し,積分は大きくなる可能性があります。修正によって使用されるのと同じ論法を適用します。広い分布に対して正規化係数を使用し,元の正規化係数を置き換えます。\tag{14}\]代表点手法の結果は我々の要求すべてに合致します。エネルギー保存を正確に処理することによって,マテリアルは同じ光源サイズにも関わらず振る舞います。入力を修正するのみで,我々のシェーディングモデルは影響を受けません。最後に,アーティストが好むいたる場所で効率的に十分使用できます。Lightsスフィアライトは電球を表現する場所で有益で,チューブライト(カプセル)は実世界においてかなり一般的である蛍光灯を表現するに役立ちます。長さをもつチューブライトを解くことから始めますが,線形ライトしても知られるように半径ゼロです。シェーディング点からセブメントの端点へのベクトルです。\tag{19}\]最近接点を常に見つけられないような適切に処理されていないエッジの場合が存在しますが,計算するのは多少安く,式18のような単に妥当な結果として生み出すように思われます。扱うので,線分から離れたところを指すレイを適切に処理する解決方法がないということに気づくことが重要です。これは反射レイがライトに向かって指すことから離れたところ指すことへと移行するときに発生します。計算された点と各端点との間で選択することによって対処することが可能ですが,これはコストが高いです。現時点では単にアーティファクトを受け入れます。エネルギーを保存するために,スフィアライトに対して同じ概念を適用します。異方性版を使用します。\tag{20}\]ライトの原点のみを変更し,エネルギー保存項を適用するため,これらの操作は蓄積可能です。線分とスフィアをもって行うことは,形状の畳み込みを近似し,チューブライトの振る舞いをかなりうまくモデルします。チューブライトの結果を図13に示します。p.18より引用エネルギー保存を持つ代表点手法はシンプルな形状に対して効果的であることが分かり,将来スフィアやチューブを凌駕するその他の形状に対して適用を考えています。実際には,より複雑で複数の色付けされた光源を表現するためにテクスチャ矩形へ適用を望んでいます。Conclusionシェーディングの領域,マテリアルとライティングにおいて,より物理ベースの実装への我々の移行は非常に成功したことが証明されました。デモのビジュアルに非常に貢献し,将来のプロジェクトすべてについてこれらの改善を使用する予定です。これらの実用的な変化は組み込まれました。我々はより大きな柔軟性の目標と様々なシーンのすべてとハードウェアのレベルすべてが物理ベースアプローチの利点を取ることが可能な目標を持つスケーラビリティを持つこれらの分野における改善を継続していきます。投稿ナビゲーション漬物がうまい。コメントをキャンセルメールアドレスが公開されることはありません。date*日本語が含まれない投稿は無視されますのでご注意ください。コメントデータの処理方法の詳細はこちらをご覧ください。WordPress.com.。