primary
カメラから送信される光線。
On this page |
以下のプロパティは、Karmaのレンダリングを制御します。 これらのプロパティは、Solarisの色々なLOPノードによって、各ノードの用途に応じて設定することができます。 通常では、Karmaの設定系ノードには、非常に簡単にレンダリングプロパティを設定することができるインターフェースが備わっています。 より汎用的なノードには、パラメータインターフェースで利用可能な karma フォルダタブがあります。
Global | Render Settings LOP | |
Object | Render Geometry Settings LOP | |
Light | Light LOP | |
Camera | Camera LOP |
上級ユーザ向けですが、Karmaで定義済みのすべてのプロパティの完全リストを取得したいのであれば、コマンドライン上でkarma --all-properties
を実行してください。
これは、JSON形式の文字列をstdoutにプリントします。
Warning
ドキュメント化されていないプロパティは突然変更される可能性があり、完全に対応していない場合があります。
Cancel Render on No Working GPU Devices
このオプションを有効にすると、動作するGPUデバイスが検出されなかった場合、Karmaはエラーを出してレンダリングを停止します。
レンダリング進行中にAlfred進捗フォーマットを使って進捗状況をプリントします。 複数フレームのレンダリングをした場合、この進捗状況は、フレームにわたって累積します(例えば、4フレームレンダリングする場合、1枚目のフレームが終了すると、その進捗度は25%になります)。
シーンにライトが存在しなかった場合、デフォルトでヘッドライトが作成されます。 これを無効にしたいのであれば、このチェックボックスを外してください。
複雑なサーフェスをDicing(賽の目)する際に使用されるカメラを指定します。 これによって、ビューイングカメラを動かしても、サーフェスに対して整合性の取れたDicingを行なうことができます。
レンダリングエンジンを選択します。
CPU
完全にCPU上で実行します。このエンジンは完全にソフトウェア制御であるので、 一般的には 機能が多くて出力結果が正しいですが、現在のところ実験段階のXPUエンジンと比べてはるかに遅いです。
XPU
XPUエンジンは、利用可能なCPUとGPU(グラフィックカードハードウェア)のリソースを使用します。 このエンジンは、GPUで可能な処理の制限を継承しているので、 一般的には 機能面でCPUエンジンに遅れていますが、CPUエンジンよりもはるかに高速です。
エクスポート用に計算されるシェーディングコンポーネント名をスペースで区切ったリスト。 マテリアルで新しいコンポーネントラベルを定義していた場合、それらのラベルをこのリストに追加することで、コンポーネント単位のエクスポート平面にそれらのラベルをエクスポートすることができます。 いくつかのコンポーネントを使用しないのであれば、リストからそれらを削除することでレンダリング効率を上げることができます。
PBRライトエクスポートは、このリストがすべてである(つまり、シェーダで生成されるすべてのコンポーネントがリストされている)と想定します。 リストに挙げられていないコンポーネントがあった場合、ライトエクスポートは、それらのコンポーネントからの照明を見逃してしまいます。
ディフューズバウンスのような挙動をするコンポーネントタイプをスペースで区切ったリスト。 これは、光線タイプに基づいて使用される反射スコープに影響し、使用するバウンス上限にも影響します。 カテゴリ化されていないコンポーネントタイプは、反射とみなされます。
屈折バウンスのような挙動をするコンポーネントタイプをスペースで区切ったリスト。 これは、光線タイプに基づいて使用される反射スコープに影響し、使用するバウンス上限にも影響します。 カテゴリ化されていないコンポーネントタイプは、反射とみなされます。
ボリュームバウンスのような挙動をするコンポーネントタイプをスペースで区切ったリスト。 これは、光線タイプに基づいて使用される反射スコープに影響し、使用するバウンス上限にも影響します。 カテゴリ化されていないコンポーネントタイプは、反射とみなされます。
サブサーフェススキャタリングのような挙動をするコンポーネントタイプをスペースで区切ったリスト。 これは、光線タイプに基づいて使用される反射スコープに影響し、使用するバウンス上限にも影響します。 カテゴリ化されていないコンポーネントタイプは、反射とみなされます。
シーン内のライティングをオーバーライドします。 いくつかのオプションが用意されています:
Off: USDステージで定義されている通りにライティングを使用します。
Emissive Objects: すべての光源を無効にし、発光オブジェクト(ジオメトリライト)のみを有効にします。
Headlight: すべての光源を無効にし、ヘッドライトを作成します。
Dome Light: すべての光源を無効にし、ドームライトを作成します。
アンビエントオクルージョンシェーディングを有効にしてヘッドライトモードでレンダリングする時、この距離がオクルージョンテストに使用されます。 この距離が短いほどシェーディングが高速になりますが、シェーディング精度が悪くなります。
Path Traced に設定すると、バウンスあたり最大1本の間接光線が生成されます。 Automatic に設定すると、間接光線の数は、初期ノイズ推定量、ターゲットノイズ閾値、最大カメラ光線数に基づいて計算されます。 さらに Automatic モードでは、直接照明のサンプル数もノイズ推定量に基づいて調整されることに注意してください。
Constrain by Maximum Roughness
GGX BSDFsのRoughnessパラメータがパストレーシングの光線チェーンを伝搬した最大Roughness値でクランプされます。 このオプションを有効にすると、若干精度を落とすことになりますが、(特に、光沢のある表面が粗いスペキュラーの表面によって反射される場合において)間接スペキュラ内の多くのノイズを除去することができます。
IPRレンダリングの初期バケットサイズ。
バケットがレンダリングされていくにつれて、その粗いバケットサイズが小さくなっていきます。 ここでは、Karmaが画像に対してデノイズフィルターを実行するバケットサイズを指定します。
Image Filtersは、フィルタリングされたピクセルをポスト処理して最終画像を生成します。 このパラメータには、フィルターとその引数のJSONエンコードのリストを含んだ文字列を指定します。 通常では、この値を手動で作成する必要はなくて、Karma LOPによってフィルター関連のパラメータの値から計算されます。 詳細は、Karmaフィルターを参照してください。
ピクセルに対するサンプルの分布を指定します。 Boxフィルターは、個々のピクセルの内側に対してランダムにサンプルを分布します。 Gaussianフィルターは、ピクセルの中心を基準とした円盤内に(均一な分布の代わりに)Gaussian分布でサンプルを分布します。
これは Pixel Filter のサイズです。 フィルターサイズが1.8のGaussianフィルターは、フィルターサイズが2.0のGaussianフィルターよりも若干ぼかしが弱くなります。
レンダリングする時、Pixel OracleはKarmaにどのピクセルを追加でサンプリングする必要があるのか、どのピクセルが集中しているのかを伝えます。 このパラメータは、使用するPixel OracleをKarmaに伝えます。
uniform
各ピクセルに光線を均等に分布させます。各ピクセルは常に同じ数の光線サンプルを受け取ります。
variance
レンダリング画像内の分散に基づいて光線を分布させます。
背景画像プレビューやシャドウと他のホールドアウトエレメントの仮コンプに特化したImage FiltersのJSONリスト。
“Off”はBackground IPR Filterを無効にします。 “Auto”はIPRでのみ有効にします。 “On”はIPRとオフラインレンダリングの両方で有効にします。
固定サイズのキャッシュ(karma:global:cachesize
)を使用するのか、物理メモリの割合(karma:global:cacheratio
)を使用するのか指定します。
Karmaが統一キャッシュに使用する物理メモリの割合。
例えば、vm_cacheratio
がデフォルトの0.25
で、物理メモリが16GBであれば、
Karmaは統一キャッシュに4GBを使用します。
この統一キャッシュには、レンダリングで使用される動的でアンロード可能なデータ(以下のデータを含む)が格納されます:
2D .rat
テクスチャタイル
3D .i3d
テクスチャタイル
3D .pc
ポイントクラウドページ(メモリに事前ロードしない時)
Note
この値は、IPRではなくてオフラインレンダリングでのみ使用されます。
統一シェーディングキャッシュの明示的なメモリ上限。 これは廃止され、代わりに Cache Memory Ratio を使用してください。
Note
この値は、IPRではなくてオフラインレンダリングでのみ使用されます。
通常では、Render Settings LOPで指定したジオメトリ設定がオブジェクトのデフォルト値を決めます。 各オブジェクトはそのデフォルト値を上書きすることができます。
このパラメータには、Render Settingsから値を取得するオブジェクトプロパティ名のパターンを指定し、オブジェクト毎の設定を上書きします。
例えば、パターンにdiffuselimit
を設定すると、Render Settings LOPで指定された値ですべてのオブジェクトのDiffuse Limitが上書きされます。
サーフェスからの セカンダリ光線 がシーン内の他のオブジェクトに交差するかどうかをテストする際に使用される最小距離。 この距離は、サーフェスからセカンダリ光線の方向に沿って測定されます。 この Ray Bias 距離内にあるオブジェクトは無視されます。
これは、レンダリングされる画像の領域です。 この領域がフル画像よりも小さい場合、そのデータウィンドウはクロップ領域として動作します。 このデータウィンドウがフルウィンドウよりも大きい場合、そのデータウィンドウはオーバースキャンレンダリングとして動作します。 このデータウィンドウは、ピクセル数で指定します。
たいていのピクセルは正方形です。 しかし、一部のディスプレイデバイスのピクセルは正方形ではありません。 このオプションには、そのピクセルのアスペクト比を指定します。
サンプルフィルターを使用することで、サンプルを修正した後にそのサンプルをピクセルフィルターに送信することができます。
このパラメータには、フィルターのリストを指定します。 これらのフィルターは、JSONリストとして指定します。
Convergence Mode が Path Traced の時に使用される各ピクセルから送信される光線サンプルの数。 光線サンプルが多いほど、ノイズの少ない画像が得られます。
これを無効にしても、Karmaは引き続きVelocityを計算しますが(そして、そのVelocityをAOVに格納することができます)、 シャッターが開いた時にすべてのカメラ光線を送信するので、その画像には一見して何もモーションブラーはかかりません。 これは、特定の視覚的効果を作成するのに単純にモーションブラーが不要な場合に役立ちます。
光線が部分的に不透明なオブジェクトを通過する時にシェーディングされる透明サンプルの数。 この数を増やすと、部分的に不透明なオブジェクト内のノイズが少なくなり、通常では Pixel Samples , Volume Step Rate , Min Ray Samples , Max Ray Samples を増やすよりも負荷が少ないです。 ただし、このパラメータは、 Indirect Sources からのノイズには何の効果もありません。
Karmaにライトの均一サンプリングを実行させるのか、または、レンダリングでライトツリーを使用するのかどちらかを指定します。 ライトツリーは、膨大な数のライトを持ったシーンに対して非常に高速にレンダリングすることができます。
一部のライトはライトツリーに追加することができず、すべてKarmaでサンプリングされます:
Dome Lights
Distant Lights
Point Lights
ライトフィルターを持ったライト
シェイプコントロールを持ったライト(例えば、スポットライト)
これは、すべてのライトのサンプリング品質を改善するためのグローバルコントロールです。 これは、個々のライト品質コントロールの乗数として作用します。 サンプリング品質を上げると、直接照明サンプリングだけでなく、シャドウ/オクルージョンの品質も良くなります。
Karmaはレンダリングをするために画像を複数のバケットに分割します。 これは、その正方形バケットの1辺の長さ(単位はピクセル)です。 デフォルトの32は、32 x 32ピクセルのバケットが指定されます。 スレッドはバケット単位で動作するので、部分的に負荷の大きいバケットが数個しかない時にバケットサイズを小さくすると役に立つ場合があります。 そうすることで、負荷の高い領域をもっと多くのスレッドに分割することができます。
例えば、画像内のほとんどが空っぽなものの、1個の32×32バケット内に収まる遠方のオブジェクトが存在した場合、そのオブジェクトは1スレッドのみを使用してレンダリングされることになります。 16×16バケットに切り替えれば、そのオブジェクトが4個のバケットに分割され、4つのスレッドでそのオブジェクトを処理させることができます。
バケットサイズを変更しても結果が変わらないのが理想ですが、Karmaは現行バケット内のピクセルからバリアンス(分散)を測定するため、
バケットサイズを例えば4とか低いサイズに下げると、4 x 4 = 16
ピクセルしか見なくなるので、Karmaは非常に精度の悪いバリアンス評価を行なう傾向になります。
これによって正しくないバリアンス評価が原因でピクセルレンダリングが途中で終了してピクセルをブラックとして表示してしまう可能性があります。
最初にレンダリングされるバケットを指定します。指定可能な値:
middle
バケットのレンダリングを画像の中央から開始します。
top
バケットのレンダリングを画像の上側から開始します。
bottom
バケットのレンダリングを画像の下側から開始します。
left
バケットのレンダリングを画像の左側から開始します。
right
バケットのレンダリングを画像の右側から開始します。
Note
Mplayにレンダリングする場合、ユーザはクリックによって、その領域にレンダリングを集中させることができます。 Enable Indirect Guiding が有効になっている場合、そのクリックによる集中レンダリングは利用できません。
画像のレンダリング方法を決めます。
progressive
画像全体が同時進行で徐々にレンダリングされていきます。 このモードでは、レンダリングが完了するのを待たずに、画像全体がどんな感じに見えるのかを把握することができます。
bucket
各バケットがレンダリングを完了した後に次のバケットに進みます。 このモードは、画像全体がレンダリング完了するのを待たずに、最終品質画像がどのように見えるのかを把握することができます。 Enable Indirect Guiding が有効になっている場合、このモードは利用できません。
Note
IPRでレンダリングする場合、KarmaはIPRプレビューパスが完了するまでプログレッシブレンダリングを使用します。
バケットモードでレンダリングする場合( Image Mode を参照)、ここには、バケットモードに切り替える前に画像に対して実行するプログレッシブパスの数を指定します。
IPRモードでレンダリングする時、この設定は、ビューのトランスフォームが変わった時にKarmaがディスプレイスメントとサブディビジョンサーフェスを再Dicingするかどうかを制御します。 ジオメトリを継続的に再Dicingすると、レンダリングの開始時間が大幅に長くなってしまう可能性がありますが、より正確な結果が得られます。
このパラメータは、カメラから直接見えないジオメトリのシェーディング品質スケール係数を制御します。 視界外のジオメトリ(セカンダリ光線から映るジオメトリ)に関しては、Karmaはジオメトリとビューフラスタム境界との角度に基づいてシェーディング品質を滑らかに下げます。 値を下げるほどパフォーマンスが良くなります。 特に、カメラが近くのジオメトリのディスプレイスメント境界内に入っているシーンでは、カメラから見えないジオメトリをカメラから直接見えるジオメトリよりも粗くDicingできるようになるのでパフォーマンスが良くなります。
非常に明るい光源のサンプリング不足によって引き起こされる“蛍”の出現を軽減するためにシェーディングサンプルがLPE画像平面に寄与できる最大値。
Note
この値を下げると、シーン内の光量が全体的に減少してしまいます。
これを有効にすると、Karmaは、BSDFサンプリング分布に依存しない代わりに、プリパスレンダーを実行してシーン内のすべての箇所で入力ライトのおおまかな評価を構築し、その情報を使用して間接ディフューズ光線をガイドします。 これによって、(コースティクスやほぼ間接照明といった)“難しい”ライティングを改善することができますが、“簡単に”ライティングノイズが発生します。 これを使用する前に、Direct系AOVとIndirect系AOVをレンダリングしてノイズの箇所を確認すると良いでしょう。 そのノイズの多くが直接照明によって発生している場合、パスガイドを有効にしても意味がありません。
Note
Mplayにレンダリングする場合、ユーザはクリックによって、その領域にレンダリングを集中させることができます。 Enable Indirect Guiding が有効になっている場合、そのクリックによる集中レンダリングは利用できません。
Indirect Guiding を有効にした時にプリパスレンダーに使用されるピクセルサンプル数。 推奨する最低ピクセルサンプル数は、 Convergent Mode が Path Traced の場合だと Pixel Samples の10%、 Automatic の場合だと Pixel Samples と同じ数になります。 この数が少なすぎて十分なデータが収集されなかった場合、グリッド状の乱れが最終レンダリングで発生する可能性があります。 この数を64以上に維持するのを推奨します。
Indirect Guiding Spatial Filter
トレーニング中にパスガイドサンプルの空間的なコンポーネントにブラーを適用します。 これを上げることで、効率性が悪くなるものの、グリッド状の乱れを軽減することができます。
Indirect Guiding Directional Filter
トレーニング中にパスガイドサンプルの直接的なコンポーネントにブラーを適用します。 これを上げることで、効率性が悪くなるものの、グリッド状の乱れを軽減することができます。
テクスチャベイクで展開されるオブジェクトのオブジェクトID。 テクスチャベイクは、シーン内でタイプ別(低解像度、ケージ、高解像度)に該当するオブジェクトIDを持つオブジェクトを検索し、そのタイプに応じてオブジェクトを割り当てます。 オブジェクトはタイプ毎に1つだけ存在する必要があります。
このシーンがテクスチャベイクをするタイル番号。 UDIMテクスチャベイクの場合、この番号はUDIMインデックス(1001から9999)です。 PTEXテクスチャベイクの場合、フェースは面積が大きい順にページ分割されたグリッド上に配置されます。 タイル番号は、現在どのページがベイクされているのかを示します。
Texture Baking PTex Small Face Percent
Texture Baking PTex Relative Scaling と併せて使用します。 相対スケール内で最小解像度未満の解像度を持つ四角形のおおよその数を指します。 この値は、各フェースのおおよその長さ/幅に基づいた推定値にすぎません。
USDでは、カメラ露出をLog2(底2の対数)調整で表現します。 そのため、USDでは0.0の値は何の効果もない(2の0乗)のに対して、1.0の値は画像平面の強度を2倍(2の1乗)にし、-1.0の値は0.5倍(2の-1乗)にします。
Shutter Timeとは、実際にシャッターが開いているフレームの割合のことです。
物理カメラでは、これをシャッタースピードと呼んでいます。
レンダラーは、これを使ってモーションブラーを決定します。
値の範囲は、[0,1]
です。
Shutter Timeの値が0なら、シャッターが一瞬で“開いた”だけなのでモーションブラーはありません。 その一方で、値が1なら、シャッターはそのフレーム全体で開きます。
上図のサンプルでは、1フレームに渡って球が360度ぐるっと回転しています。 シャッター時間に基づいて“モーションの軌跡”または“ブラー”がどれくらいの長さで変化しているのかが分かります。 ほとんどの場合、デフォルトの0.5の値がアニメーションシーケンスに適しており、現実世界の設定でうまく合致します。
このパラメータは、単一フレーム内での時間量を制御し、シャッターが開いていることを忘れないでください。 これは、フレームの長さを意味しているわけではありません。 フレームレートを調整するには、Global Animation OptionsのFrames Per Secondパラメータを変更します。
レンズ焦点距離とカメラから焦点が合うオブジェクトまでの距離。 これは被写界深度を使ってレンダリングする時だけ使われます。 この距離よりも外にあるオブジェクトにブラーがかかります。
エリアライトの寸法。 これは、ライトの種類よって意味が異なります:
Sphere Light
1番目の値にライトの半径を指定します。 2番目の値は無視されます。
Rectangular Light
1番目の値に幅、2番目の値に高さを指定します。
Disk Light
Cylinder Light
Line Light
デフォルトのライトシェーダ内の光源に対する減衰タイプを制御します。 ここには以下のタイプを指定することができます:
none
減衰なし。
half
距離からライト強度が半分に減衰。
physical
物理的に正しい減衰。
ポイントライトがジオメトリに近づくと、減衰方程式からそのライトの強度は無限大(ライトとサーフェスの間の距離による除算で生じる特異点)になります。
この値を0より大きい値に上げると、光が無限大に広がるのを防ぐ人為的なバッファゾーンが生成されます。
この半径を1に設定すると、ポイントライトの最も明るい値は、ポイントライトで指定された強度の2倍になります。
この半径を1.4142
(sqrt(2)
)に設定すると、最も明るい値は、指定された強度になります。
遠くにあるジオメトリの場合、ライトの強度の変化はほとんどないはずです。
この値を使用することで、影テストを特定の距離までに制限することができます。 例えばドームライトを使った場合、Shadow Distanceの値を小さくすると、影テストは近くのオブジェクトにのみ制限されます。
これは、ライト単位のサンプリング品質で、グローバルの Light Sampling Quality に対する乗数として作用します。 この品質を上げると、この光源にサンプルがさらに追加されるので、他の光源と比べてこの光源のサンプリング品質が良くなります。
オブジェクトをジオメトリ光源として使用する時、ここには、ライト単位のサンプリング品質を設定します。 この品質を上げると、この光源にサンプルがさらに追加されるので、他の光源と比べてこの光源のサンプリング品質が良くなります。
Note
これは、オブジェクトが受け取る光の品質ではありません。
発光マテリアルを持ったオブジェクトは、シーン内に光を生成します。 そのオブジェクトの影響力が大きい場合(例えば、サイズ、輝度など)、 Karmaにそのオブジェクトを(通常のライトと同様に)明示的な光源として扱わせることができます。 つまり、この発光ライトが非常に効率的に扱われるようになります。 しかし、そうすることで、システム内の他の部分で余計なオーバーヘッドが発生してしまいます(例えば、メモリ使用量が増えたり、更新時間が遅くなったりします)。
オプションが3つあります。 “No”は、オブジェクトを光源にしないように設定します。 “Yes”は、オブジェクトを光源に設定します。 “Auto”(デフォルト)は、Karmaが内部の経験則に基づいて、そのオブジェクトを光源として扱うかどうかを決めます。
カテゴリのエクスプレッションを使用して、オブジェクトの可視性を異なるタイプの光線へ制御します。 このパラメータは、PhantomとRenderableのトグルを一般化し、オブジェクトの可視性をKarmaやVEXでサポートされている異なるタイプの光線へ色々と制御させることができます。
primary
カメラから送信される光線。
shadow
シャドウ光線。
diffuse
Diffuse光線。
reflect
反射。
refract
屈折。
例えば、Phantomオブジェクトを作成するには、エクスプレッションに“-primary”を設定します。 オブジェクトをレンダリング不可にするには、エクスプレッションに空っぽの文字列“”を設定します。 これらのトークンは、VEXのtrace()やgather()の関数の“raystyle”に渡す文字列に相当します。
レンダリングにライトツリーを使用した時、Karmaは、そのライトツリーと互換性のある光源の配置を試みます。 このオプションによって、ライトは強制的にライトツリーから除外されて均一サンプリングを行なうようなります。 こうすることで、遅くなる代わりにサンプリング品質が改善される場合があります。
環境マップがこの解像度よりも大きい場合、テクスチャ解析が実行された時にその環境マップが縮小されます。 環境マップに非常に小さな非常に明るい値があると、このフィルタリングは、その環境マップのサンプリングの挙動に影響してしまう場合があります。
ライトパスエクスプレッションで使用するためにライトまたはオブジェクトに割り当てるカスタムラベル。
ドームライトが環境マップまたはポータルジオメトリのどちらから多くサンプリングしたいのかを制御します。 強い光源を含んだハイコントラストなHDRIの場合、環境マップからもっとサンプリングする方が役に立ち(0未満の値を設定)、 ローコントラスト/平坦なHDRIの場合、その反対にした方が役に立ちます(0より大きい値を設定)。 バランスが取れた方法を選ぶのであれば0のままにします。
実写プレート内のライティングの再現を試みるのではなく、新しく光源を追加するためのライトが存在しているのであれば、このパラメータを有効にします。 それによって、背景ホールドアウトジオメトリに対する効果が間接バウンス内に現れ、シャドウホールドアウトAOVへの寄与が省略されます。
Karmaは、明示的にモーションサンプルを選択する代わりに、USDステージ上で作成されたサンプルに基づいたモーションサンプルを選択することもできます。 このオプションは、ステージ上で記述されたモーションをキャプチャするためにまったく正しいサンプル数を選択します。
この設定は、ジオメトリとインスタンスの両方に対して、トランスフォームモーションサンプルと変形モーションサンプルの両方に適用されます。
Note
ステージ上のサンプルがカメラのシャッター時間と合っていない場合、最初と最後のセグメントで小さな補間問題が発生する可能性があります(モーションが補間されるというより、切り捨てられるため)。
このパラメータでは、オブジェクトに対して実行する ジオメトリVelocityブラー のタイプを選択することができます。 トランスフォームブラー や 変形ブラー とは別に、時間と共に変化するポイントに保存されたアトリビュートを使って、ポイントの動きに応じたモーションブラーをレンダリングすることができます。 ジオメトリ内のポイント数が時間と共に変化する場合(例えば、ポイントが誕生したり死亡するパーティクルシミュレーション)、このタイプのブラーを使用してください。
フレーム間でジオメトリのトポロジーが変化する場合、Karmaはジオメトリを補間できなくて正しくモーションブラーを計算できなくなります。
そのような場合、元のジオメトリが変化しても整合性のあるvelocities
やaccelerations
のアトリビュートをモーションブラーに使用することができます。
流体シミュレーションのサーフェスがまさにそのよい例です。
この場合と他のタイプのシミュレーションデータでは、ソルバが自動的にVelocityアトリビュートを作成します。
Note
Solarisでのvelocities
、accelerations
、angularVelocities
のアトリビュートは、SOPではそれぞれv
、accel
、w
に相当します。
No Velocity Blur
レンダラーでモーションブラーを許可するように設定しても、このオブジェクトに対してモーションブラーをレンダリングしません。
Velocity Blur
Velocityブラーを使用するには、ポイントVelocityを計算して、それをvelocities
Pointアトリビュートに保存しなければなりません。
レンダラーは、このアトリビュートが存在すれば、それを使用してVelocityモーションブラーをレンダリングします(レンダラーがモーションブラーのレンダリングを許可するように設定されていることが前提です)。
シミュレーションノード(例えばパーティクル系DOPs)は自動的にvelocities
アトリビュートを生成します。
他にも、Point Velocity SOPを使ってVelocityを計算して追加することができます。
velocities
アトリビュート値の単位は、1秒あたりのHoudiniユニットです。
Acceleration Blur
加速度ブラーを使用するには、ポイント加速度を計算して、それをaccelerations
Pointアトリビュートに保存しなければなりません。
レンダラーは、このアトリビュートが存在すれば、それを使用して複数セグメントの加速度モーションブラーをレンダリングします(レンダラーがモーションブラーのレンダリングを許可するように設定されていることが前提です)。
シミュレーション系ノードは自動的にaccel
アトリビュートを生成することができます。
他にも、Point Velocity SOPを使って加速度を計算して追加することができます。
Acceleration Blurがオンの時、ジオメトリに 角速度 アトリビュート(w
)が存在すれば、急回転にもブラーがかかります。
これは、ベクトルアトリビュートであり、各コンポーネントは、X、Y、Z軸を基準とした1秒あたりのラジアンの回転速度を意味しています。
これを“Velocity Blur”または“Acceleration Blur”に設定すると、変形ブラーがオブジェクトに適用されなくなります。 これを“Acceleration Blur”に設定すると、karma:object:geosamplesプロパティを使用して、加速度サンプルの数を設定することができます。
シャッターオープン時間に対して 変形 モーションブラーをレンダリングする時に計算するサブフレームのサンプル数。 デフォルトは1サンプル(シャッター時間の開始のみのサンプル)で、デフォルトでは変形ブラーは ありません 。 高速に変形するジオメトリを適切にブラーさせたい場合、この値を2以上に上げなければなりません。
Note
この値は、レンダリングされるUSDファイルで利用可能なサブサンプル数で制限されます。 この例外で許可されているのは、USD Skelデフォーマです。
“Deformation”は、ジオメトリ(SOP)レベルでトランスフォームだけを参照したり、キャラクタやフレームに応じて形状が急速に変化するオブジェクトなどの実際のサーフェス変形を参照することができます。
1フレーム内で複雑に変形するオブジェクトには、Geo Time Samplesの数を上げる必要があります。
変形ブラーは、シャッター時間内の アトリビュート値の変化 もブラーさせることができます。
例えば、オブジェクトが移動した時にポイントカラーが急変化する場合、そのCd
アトリビュートにブラーをかけることができます。
Geo Time Samplesの数を上げると、Karmaの使用メモリ量に 影響を与えてしまします 。 サンプル数が増える度に、Karmaはシャッター時間の間にサンプリングしている間はメモリ内にそれだけのジオメトリのコピーを維持しなければなりません。 レンダリングを最適化する時、滑らかなモーションの軌跡を生成するのに必要な最低限のGeo Time Samplesを調べることは良い考え方です。
Velocity Motion Blurが有効なオブジェクトでは、変形ブラーは無視されます。
シャッターオープン時間に対して トランスフォーム モーションブラーをレンダリングする時に計算するサンプル数。 デフォルトは2サンプル(シャッター時間の開始と終了)で、1つのセグメントにブラーがかかります。
極端に速く移動したりと方向を変更するオブジェクトの場合、サブフレームでの方向の変更を取り込むためにサンプル数を上げる必要があります。
上図の例では、1フレーム内で発生した複雑な動きを正しくレンダリングするために40個のトランスフォームサンプルが必要です(1フレーム内でのこの変化量は、非常に稀で、説明をするために使用しただけです)。
トランスフォームブラーは、各オブジェクトのフレーム間のトランスフォームを補間することでブラーをシミュレーションしているので、計算が軽いですが、サーフェス変形を取り込みません。 変形ジオメトリのブラーを有効にするには、karma:object:geosamplesを上げます。
インスタンスに対してモーションブラーを定義すると、プロトタイプで発生するモーションブラーだけでなく、各インスタンスのトランスフォームにもブラーをかけることができます。 このオプションは、各インスタンスのトランスフォームのモーションブラーの計算方法を制御します。 例えば、プロトタイプをパーティクルシステム上にインスタンス化した場合、Velocityブラーを使用してモーションブラーを計算したいことでしょう(パーティクル上のVelocityによってプロトタイプのトランスフォームにブラーがかかるようになります)。
No Velocity Blur
インスタンスの変形ブラーを使用して、トランスフォームのブラーを計算します。
Velocity Blur
Velocityブラーを使用したいのであれば、そのインスタンスは、ポイント上にVelocityアトリビュートが含まれたポイントインスタンサーである必要があります。
velocities
アトリビュート値の単位は、1秒あたりのHoudiniユニット長です。
Acceleration Blur
Accelerationブラーを使用したいのであれば、そのインスタンスは、ポイント上にVelocityアトリビュートとAccelerationアトリビュートが含まれたポイントインスタンサーである必要があります。
レンダラーは、(存在すれば)このアトリビュートを使用して、複数セグメントのアクセラレーションモーションブラーをレンダリングします(レンダラーでモーションブラーが有効になっている場合)。
accel
アトリビュートはシミュレーション系ノードで自動的に作成されますが、Point Velocity SOPを使用して加速度を計算してaccel
アトリビュートを追加することもできます。
このaccel
アトリビュートは、SOPジオメトリがUSDに変換された時にaccelerations
に変換されます。
Accleration Blur または Deformation Blur を使用してインスタンスのモーションブラーを計算する場合、このパラメータには、そのモーションブラーで使用されるモーションセグメントの数を指定します。
このパラメータは、スムースサーフェス(サブディビジョンサーフェスや変位サーフェス)のジオメトリサブディビジョン解像度を制御します。 他のすべてのパラメータがデフォルトの時、値を1にすると、近似で1つのマイクロポリゴンがピクセル毎に作成されます。値を高くするとより小さいマイクロポリゴンを生成します。これはシェーディングが細かくなり、品質が良くなることを意味します。
シェーディング品質の変更の効果は、karma:object:dicingquality
の 2乗 の係数によってシェーディングの量を増やしたり、下げたりすることができます。つまり、シェーディング品質を2にすると、4倍シェーディング量を実行し、0.5にすれば0.25倍のシェーディング量を実行します。
このプロパティは、ほぼ平坦なプリミティブのテセレーションレベルを制御します。 このレベルを上げることで、平坦だと見なされるプリミティブが増えるので、細分化されるプリミティブが少なくなります。 平坦と見なされるサーフェスの精度を厳しくしたい(最適化を進めたくない)場合は、このオプションを 下げて ください。
True Displacementsが無効になっていると、ジオメトリはDicing(賽の目)されず、代わりにディスプレイスメントシェーダがそのサーフェスに対してバンプマップを実施します。
これはKarma CPUでのみ対応しています。
オブジェクト上に法線がない場合、この値より大きい二面角を持つエッジがカスプ(尖)化されます。
mantra
と互換性を持たせるために、Karmaはvm_cuspangle
Detailアトリビュート(これは、この設定よりも優先度が高いです)も探します。
間接ディフューズシェーディングの品質を指定します。
サンプル数1
は、シェーディング計算あたり約1個の追加ディフューズサンプルに相当します。
サンプル数4
は、シェーディング計算あたり約4個の追加ディフューズサンプルに相当します。
間接反射シェーディングの品質を指定します。
サンプル数1
は、シェーディング計算あたり約1個の追加反射サンプルに相当します。
サンプル数4
は、シェーディング計算あたり約4個の追加反射サンプルに相当します。
間接屈折シェーディングの品質を指定します。
サンプル数1
は、シェーディング計算あたり約1個の追加屈折サンプルに相当します。
サンプル数4
は、シェーディング計算あたり約4個の追加屈折サンプルに相当します。
間接ボリュームシェーディングの品質を指定します。
サンプル数1
は、シェーディング計算あたり約1個の追加ボリュームサンプルに相当します。
サンプル数4
は、シェーディング計算あたり約4個の追加ボリュームサンプルに相当します。
間接サブサーフェススキャタリングシェーディングの品質を指定します。
サンプル数1
は、シェーディング計算あたり約1個の追加サブサーフェススキャタリングサンプルに相当します。
サンプル数4
は、シェーディング計算あたり約4個の追加サブサーフェススキャタリングサンプルに相当します。
ディフューズ光線がシーンを伝搬できる回数。
Reflect Limits や Refract Limits と違って、このパラメータは、シーン内の全体のライトの量を増やし、グローバルイルミネーションの大部分に寄与します。
このパラメータを0
より大きく設定すると、Diffuseサーフェスは、直接光源に加えて、他のオブジェクトからのライトも蓄積します。
この例では、 Diffuse Limit を上げて、最終画像の見た目に劇的な効果が出ています。
現実的な照明環境を模倣するには、 Diffuse Limit を上げる必要があることが多いです。
とはいえ、ライトの寄与度は通常ではDiffuseバウンス毎に小さくなるので、 Diffuse Limit を4
よりも大きく上げても、シーンでの視覚的な忠実性の改善はほとんどありません。
さらに、 Diffuse Limit を上げると、ノイズレベルとレンダリング時間が劇的に増える可能性があります。
これは、すべての制限がサンプル毎に確率的に選択されるので浮動小数点値になっています。
そのため、例えば、 Diffuse Limit を3.25
に設定すると、光線の25%の Diffuse Limit が4
、75%の Diffuse Limit を3
に設定することができます。
光線がシーン内で反射できる回数。
この例では、2つの鏡の間に配置した被写体を使った典型的な“鏡のホール”のシナリオを載せています。
これは、実質的に無限に続く反射を作成しています。
このカメラ角度では、その反射制限が非常にわかりやすく、最終画像の精度に大きく影響していることがわかります。 しかし、ほとんどの場合では、その反射制限を巧妙に調整することで、シーン内の反射の数を減らすことができ、レンダリング時間を最適化することができます。
光源がオブジェクトで一度反射すると、それを直接反射と見なされることを覚えておいてください。
そのため、 Reflect Limit を0
に設定しても、まだ光源のスペキュラー反射が見られます。
これは、すべての制限がサンプル毎に確率的に選択されるので浮動小数点値になっています。
そのため、例えば、 Diffuse Limit を3.25
に設定すると、光線の25%の Diffuse Limit が4
、75%の Diffuse Limit を3
に設定することができます。
このパラメータは、光線がシーン内で屈折する回数を制御します。
この例では、10個のグリッドすべてが1列に並んだ単純なシーンを載せています。
屈折のあるシェーダを適用することで、それらのグリッドを通じて、背景の夕焼けの画像を見ることができます。
このカメラ角度では、画像の精度を良くするためには、屈折制限をシーン内のグリッドの数に合わせなければなりません。
しかし、ほとんどのシーンでは、この数の屈折オブジェクトすべてが一列に並ばないので、最終画像に影響を与えずに屈折制限を下げることができます。
この Refract Limit は、オブジェクトの数ではなく、光線が通過しなければならないサーフェスの数を参照していることを覚えておいてください。
光源がサーフェスを一度屈折すると、それを直接屈折と見なされることを覚えておいてください。
そのため、 Refract Limit を0
に設定しても、まだ光線の屈折が見られます。
しかし、シーン内のほとんどのオブジェクトは、最低でも2枚のサーフェスを持つので、その光源と直接屈折が最終レンダリングではあまりわからないことが多いです。
これは、すべての制限がサンプル毎に確率的に選択されるので浮動小数点値になっています。
そのため、例えば、 Diffuse Limit を3.25
に設定すると、光線の25%の Diffuse Limit が4
、75%の Diffuse Limit を3
に設定することができます。
ボリューム光線がシーンを伝搬できる回数。これは Diffuse Limit パラメータと同じように動作します。
Volume Limit パラメータを上げると、よりリアルなボリューム効果が得られます。
これは、特にボリュームの一部のみが直接照明を受けている状況で顕著です。
さらに、ボリュームオブジェクトが他のオブジェクトからの間接照明を受けるためには、 Volume Limit パラメータを0
よりも大きく設定しなければなりません。
Volume Limit を0
より大きい値に設定すると、Fogボリュームは、ボリュームを通過するライトから、あなたが求めている独特の光の散乱を行ないます。
しかし、 Diffuse Limit と同様に、一般的には、ライトの寄与度は、光線が跳ね返る度に小さくなるので、4
より大きい値を使用しても、目で見てわかるほどに現実的な画像になるとは限りません。
また、このパラメータの値を上げると、ボリューム画像のレンダリングに費やされる時間が劇的に増える可能性があります。
これは、すべての制限がサンプル毎に確率的に選択されるので浮動小数点値になっています。
そのため、例えば、 Diffuse Limit を3.25
に設定すると、光線の25%の Diffuse Limit が4
、75%の Diffuse Limit を3
に設定することができます。
SSS光線がシーン内を伝搬することができる回数。 これは、 Diffuse Limit パラメータと同様の方法で動作します。
これは、すべての制限がサンプル毎に確率的に選択されるので浮動小数点値になっています。
そのため、例えば、 Diffuse Limit を3.25
に設定すると、光線の25%の Diffuse Limit が4
、75%の Diffuse Limit を3
に設定することができます。
このパラメータは、間接ディフューズコンポーネントの Min Secondary Samples と Max Secondary Samples の乗数として作用します。
光線がボリュームを通過した時にそのボリュームをサンプリングする細かさを設定します。 ボリュームオブジェクトはボクセルと呼ばれる3次元構造で構成されており、このパタメータの値は、次のサンプリングを実行する際に光線が通過するボクセル数を意味します。
デフォルト値は0.25
で、4個のボクセル毎に1回のサンプリングが実行されることを意味します。
1
の値はすべてのボクセルがサンプリングされ、2
の値はすべてのボクセルが2回サンプリングされることを意味します。
つまり、この Volume Step Rate 値は、ピクセルサンプルと同様の挙動をし、ボリュームオブジェクトに対するサンプル総数の乗数として作用します。
Volume Step Rate を上げるとレンダリング時間が劇的に長くなるので、必要な場合にのみ調整するように注意してください。
また、デフォルト値の0.25
よりも大きな値にするとボリュームノイズを軽減することができますが、1
を超えた値ではそんなに結果が変わらなくなります。
このオブジェクトが均一密度のボリュームと見なしてレンダリングするかどうか。 サーフェスジオメトリ上にこのプロパティを使用すると、レンダラーはそのボリューム密度が均一であると想定してサンプルをもっと最適に配置することができるので、実際に均一密度のボリュームオブジェクトを作成するよりも効率的です。 そのサーフェスジオメトリのサーフェス法線は、どちら側にボリュームがあるのかを決めるのに使用され、その法線は内側から外に向いた方向となります。 サーフェスは閉じている必要はありません。もしサーフェスが閉じていなければ、そのボリュームはサーフェスから無限に遠い方へ延長されます。 閉じていないサーフェスは、そのサーフェスのエッジ付近で予期しない結果を招いてしまう場合があるので、カメラ視点をエッジから遠ざけるようにしてください。
均一ボリュームをレンダリングする時(karma:object:volumeuniform
が有効な時)にサンプルを分布させる方法を決めます。
正しい結果を得るには、このパラメータを均一ボリュームシェーダの密度と同じにしなければなりません。
均一ボリュームをレンダリングする時(karma:object:volumeuniform
が有効な時)に生成するサンプル数。
これらのサンプルは、すべて明度が同じであれば同じ画像寄与を生成するように分布されます。
空っぽの空間の間引きに使用されるボリュームフィールドを名前で指定します。
デフォルトでは、Karmaはdensity
フィールドが存在すれば、そのdensity
フィールドを使用します。
ボリュームの一部のdensityが0でもその部分をまだレンダリングする必要がある発光ボリュームをレンダリングしている場合、
このパラメータを使用して、別のフィールドを指定してください。
ボリュームPrimはボリュームチャンネルの評価時にフィルターを使用することができます。
ここには、そのフィルターを指定します。
デフォルトのbox
フィルターは、評価が高速で、非常に滑らかな流体シミュレーションに対して鮮明なレンダリング結果を生成します。
ボクセルデータにエイリアシング(エッジに沿ってギザギザの効果)が含まれている場合、大きなフィルター幅を使用したり、もっと滑らかなフィルターを使用して、許容できる結果を生成する必要があります。
エイリアシングがかかったボリュームデータの場合、フィルター幅が1.5
のgauss
が適切なフィルターです。
point
box
gauss
bartlett
blackman
catrom
hanning
mitchell
ここには、 Volume Filter プロパティのフィルター幅を指定します。 このフィルター幅は、ボクセル数で指定します。 フィルター幅が大きいほど、レンダリングに時間がかかり、ブラーのかかったレンダリング結果が生成されますが、一部の種類のボクセルデータではエイリアシングに対処する必要が出てきます。
これを“Matte”モードに設定すると、オブジェクトはカットアウトマットと見なされます。
オブジェクトのライティング寄与とアルファは、“holdouts”接頭辞が付いたLPE AOVsに転送されます。
Holdout Modeは、ray:hitP
やray:hitN
などのユーティリティAOVには影響を与えません。
Background モードは Matte モードと同様ですが、間接バウンス内にシャドウ寄与が乗算された“事前照明”が出るように背景プレートで使用します。
シェーダのディフューズアルベドを使用して事前照明イラディアンスが決定されます。
カーブをレンダリングする時、カメラの方を向いたリボン、両端を丸めたチューブ、ポイントに追加された法線アトリビュートの方を向いたリボンとしてレンダリングすることができます。
USDは、Houdiniで直接対応できていない Curve Basis タイプに対応しています。 時には、HoudiniのCurve Basisをオーバーライドしたいことがあります。 例えば、Houdiniの直線カーブをBezier、B-Spline、Catmull-Romのどれかの基底を使ってレンダリングしたい時です。 このメニューは、KarmaがUSD Primsに関連付けられている基底をオーバーライドするようにします。
Note
カーブのトポロジーをターゲットの基底に合わせなければなりません。
例えば、3次曲線の基底を選択した場合、どのカーブも頂点数が最低でも4つなければなりません。
Bezier基底の場合、カーブの頂点数は4+3*N
でなければなりません。
ライトパスエクスプレッションで使用するためにライトまたはオブジェクトに割り当てるカスタムラベル。
objectstateVEX関数から照会することができ、ジオメトリの周回順に応じて
rightHanded
またはleftHanded
のどれかが返されます。
このプロパティは、USDジオメトリのorientationアトリビュートから派生し、直接設定することはできません。
屈折コンポーネントを持つ複合BSDFsの場合、指定した場所に属しているライトの直接照明のみが適用されます。 ジオメトリ法線と同じ方向を向いた光線は“Outside”と見なされます。 ソリッド/閉じたマニフォールドの透明マテリアルの場合、このパラメータを“Outside”に設定すると、直接照明のノイズが減り無駄なシャドウ光線が削減されるのでレンダーパフォーマンスを改善することができます。
間接ディフューズバウンスで見受けられる光沢BSDFの評価を許可します。 これは、ブルートフォース(総当り)による計算のため、その計算には膨大な数のディフューズ光線が必要となります。 特に Caustics Roughness Clamp パラメータに非常に小さな値を設定した場合、または、 Indirect Guiding の機能が無効な場合でそうなります。
この値を上げると、コースティクスの精度は悪くなるもののノイズを少なくすることができます。
Note
Roughness Clamp はGGX BSDFでのみ動作し、Phong BSDF、円錐BSDF、スペキュラーBSDFには何の効果もありません。
Convergence Modeが“Automatic”に設定されている時に、間接バウンスで送信する間接光線の数を決めるノイズ閾値。
この閾値を下げると(例えば、0.001
に設定)、理論上はもっと多くの間接光線が送信されてノイズが減りますが、“余分な”光線は Max Ray Samples パラメータによってほぼ相殺されることになります。
ノイズを減らす正しい方法は、この閾値を変更することではなく、ピクセルあたりのサンプル数を上げることです。
Variance Pixel Oracle を使用した場合、両方の閾値パラメータに同じ値を設定してください。 Variance Pixel Oracle の閾値を下げるほど、間接コンポーネントがすぐにその閾値に到達してあまり間接光線が送信されなくなるものの、 Variance Pixel Oracle はBeautyパス内の最終ノイズ量が Variance Pixel Oracle の閾値より多ければ、負荷が大きいカメラ光線をもっと多く送信することを決めます。
このオブジェクトを Texture Baking Object ID に呼応した低解像度オブジェクトとして定義します。 これは、このオブジェクトのテクスチャ空間がベイク処理される空間であることを意味します。 このオブジェクトIDの高解像度オブジェクトが存在しなかった場合、これがベイク空間内のテクスチャでレンダリングされる外観にもなります。 これは、テクスチャベイクには必須です。
このオブジェクトを Texture Baking Object ID に呼応したケイジオブジェクトとして定義します。 これは、低解像度オブジェクトのテクスチャベイク時に、このオブジェクトを使用して法線の不連続性を解決するのに役立つことを意味します。 これは、テクスチャベイクには任意です。
画像ピクセルフィルターを使用することで、複数サンプルを単一ピクセルカラーに結合することができます。 例えば、Pixel Filterが単一サンプル(カメラに一番近いサンプル、または、最大値)を選択するようにすることができます。 最も一般的なのは、サンプル値の平均化を選択することが多いです。
このパラメータには、フィルターのリストを指定します。 これらのフィルターは、JSONリストとして指定します。
複数サンプルを平均化して最終カラーを出すのか、最初にオブジェクトに当たった光線を使って最終カラーを出すのかを指定します。 この設定は廃止され、代わりに画像ピクセルフィルターを使用してください。
Karmaがピクセルを8または16ビットの整数チャンネルに量子化する時、ここには、使用するディザリング方法を指定します。 これは、AOVが8/16ビットの出力深度として指定されている場合にのみ実行されます。 浮動小数点値を8/16ビット整数チャンネルデータにしか対応していない画像フォーマットに書き出す時に変換が行なわれる場合には、これは実行されません。
これを有効にすると、この画像平面がCryptomatteレイヤーに変わります。 詳細は、Cryptomatteを参照してください。
DCM Compression値の範囲は0から10です。
これは、ボリュームサンプルに対して不可逆圧縮モードで保存されるサンプル数を制限するのに使用されます。
このDCM Compressionパラメータは、各サンプルのスカラーチャンネル内の最大許容誤差を決めます。
DCM Compression値が0より大きい場合、次の関係性が保たれます: Error = 1/(2^(10-compression))
以下のプロパティを使用することで、通常ではkarma
スタンドアローンレンダラーのコマンドラインで指定するオプションに対してデフォルト値を指定することができます。