On this page |
概要 ¶
Karmaのライティングは、USDに組み込まれたライト関連の機能に大きく依存しています。 この章では、USDライティングの基本とKarma固有のプロパティについて説明します。
USDライト ¶
USDは以下の標準的なライトタイプに対応しています。 Karmaは以下のライトタイプにすべて対応しているわけではありませんが、代わりの方法でその効果を模倣することができます。
|
円柱形の光源。 |
|
|
円形の光源。 |
|
|
無限に遠い光源。 |
|
|
無指向性の環境光源。 |
|
|
照明を備えたメッシュまたはその他のジオメトリ。 |
|
|
無限に小さい光源。 |
|
|
ドームライトに窓を備えたライト。 |
|
|
長方形の光源。 |
|
|
球形の光源。 |
共通プロパティ ¶
ライトには、現実世界のライティングを模倣する様々なプロパティがあり、アーティスティックなコントロールが用意されています。 ディレクショナルライトは、デフォルトではローカルのマイナスZ軸方向に光を放出するように合わせられています。 すべてのライトは移動、回転、スケールさせることができます。
Base ¶
Radius
Type がCylinder、Disk、Sphereの時のそのライトの半径。
Length
Type がCylinderの時のそのライトの端から端までの長さ。
Geometry
Type がGeometryの時のそのライトの形状として使用するジオメトリPrimのパス。
Width
Type がRectangleの時のそのライトの領域の幅。
Height
Type がRectangleの時のそのライトの領域の高さ。
Angle
Type がDistantの時のそのライトの角度(単位は度)。
例を挙げると、太陽は、地球から見ると約0.53度です。値が大きいほど、そのライトが広がるので、シャドウエッジが柔らかくなります。
Clipping Range
前方距離より近くにあるジオメトリ、遠方距離より遠くにあるジオメトリを表示しません(ワールド単位)。
Exposure
F-Stopコントロールと同様に、パワー出力を2のべき乗で指数的にスケールします。
0
は強度をスケールしません。マイナスの数値は、強度を2乗で弱くし、プラスの数値は強度を強くします。
ライトの量が正しくなるように Intensity を設定してから、このパラメータで“調整”することが多いです。
Intensity
ライトのパワー出力に対する線形スケール。
Color
エネルギー線形用語でいうライトカラー。
Texture
テクスチャをライトのエリアジオメトリにマッピングします。 現在のところ、これは矩形ライトでのみ対応しています。
Enable Color Temperature
Color Temperature を使用して、ライトカラーを制御します。
Color Temperature で計算されたカラーは、 Color のRGBカラーで 乗算 されるので、“純粋な”温度カラーが欲しいのであれば、 Color を1.0, 1.0, 1.0
に設定してください。
Color Temperature
Enable Color Temperature が有効な時にシミュレーションする温度(単位はKelvin度)。
有効な範囲は1000
から10000
です。
値が低いほど暖かく、高いほど寒くなります。
デフォルトは、一般的なホワイトポイントであるD65です。
必要に応じて、USDライブラリのUsdLuxBlackbodyTemperatureAsRgb()
関数を使って、同じカラー値を計算することができます。
Normalize Power
設定されたパワー出力(ExposureでスケールされたIntensity)をライトの表面積または角度サイズで割ります。 これによって、ライトのサイズの影響を受けずに、エネルギー出力を調整して比較することが簡単になります。
Diffuse Multiplier
このライトがシェーダの拡散反応に与える影響をスケールします。 これは、非物理的な“調整”です。
Specular Multiplier
このライトがシェーダのスペキュラー反応に与える影響をスケールします。 これは、非物理的な“調整”です。
Scale Guide Geometry
ビューア内でライト用に描画されるガイドジオメトリに均一スケール係数を適用します。 デフォルト値は、ガイドジオメトリが一貫して実際のワールドサイズになるようにUSDステージの“meters per unit”値を逆数にしたエクスプレッションになっています。
Shaping ¶
Spotlight
ライトをスポットライトに変換するのに必要なAPIをライトに追加します。
Angle
スポットライトビームの広がり角度(単位は度)。
Softness
スポットライトビームのエッジをぼかして、光漏れと照り返しを模倣します。
Left Barndoor
左からライトブロッカーをスライドさせて、スポットライト円錐の一部を覆います。
1.0
は、この円錐全体に到達して、すべての光を遮断します。
Left Barndoor Edge
上記のパラメータのキリッとしたライトブロッカーにソフトエッジ分だけ広げます。
1.0
は、スポットライト円錐と同じ幅でグラデーションを生成します。
Right Barndoor
右からライトブロッカーをスライドさせて、スポットライト円錐の一部を覆います。
1.0
は、この円錐全体に到達して、すべての光を遮断します。
Right Barndoor Edge
上記のパラメータのキリッとしたライトブロッカーにソフトエッジ分だけ広げます。
1.0
は、スポットライト円錐と同じ幅でグラデーションを生成します。
Top Barndoor
上からライトブロッカーをスライドさせて、スポットライト円錐の一部を覆います。
1.0
は、この円錐全体に到達して、すべての光を遮断します。
Top Barndoor Edge
上記のパラメータのキリッとしたライトブロッカーにソフトエッジ分だけ広げます。
1.0
は、スポットライト円錐と同じ幅でグラデーションを生成します。
Bottom Barndoor
下からライトブロッカーをスライドさせて、スポットライト円錐の一部を覆います。
1.0
は、この円錐全体に到達して、すべての光を遮断します。
Bottom Barndoor Edge
上記のパラメータのキリッとしたライトブロッカーにソフトエッジ分だけ広げます。
1.0
は、スポットライト円錐と同じ幅でグラデーションを生成します。
Focus (checkbox)
ビームの焦点を合わせることができるようにするのに必要なAPIをライトに追加します。
Focus
光の広がりの形状を制御するためのコントロール。 Focus の値が大きいほど、光を中心に引き寄せて幅を狭めます(これは、軸外コサインパワー指数として実装されています)。
Focus tint
軸外カラーの色味。 減衰領域で光に色味を付けます。デフォルトはブラックです。
IES
光の角度分布を記述したIESファイルを使用するのに必要なAPIをライトに追加します。
File
光の角度分布を制御する際に使用するIES(Illumination Engineering Society)フォーマットファイル。
Angle Scale
IESファイルで見つかった角度に対するグローバルスケール。
Shadow ¶
Enable
これを有効にすると、このライトで照らされたオブジェクトが(シャドウマスクに従って)影を落とします。
Color
このライトが落とすシャドウのカラーに色味を付けます。
これをブラック(0, 0, 0
)から変更すると、非物理的な“調整”になります。
Falloff
シャドウが減衰し始める近い距離。
デフォルト値(-1)は、減衰なしを意味します。
Falloff Gamma
減衰ゾーン( Falloff と Distance の間)内で線形距離によるシャドウ強度に対するガンマ(つまり、指数)コントロール。
Distance
このライトが影を落とすオブジェクトをチェックする最大距離。
デフォルトは-1
、つまり制限なしです。
影を落としたいすべてのオブジェクトが特定の距離の範囲内にあることが分かっているのであれば、これを設定することでレンダリングを高速化することができます。
これらの共通アトリビュートに加えて、以下のアトリビュートもあります。
CylinderLight ¶
Height |
|
Radius |
|
Transform |
|
DiskLight ¶
Radius |
|
Transform |
|
DistantLight ¶
Angle |
|
Transform |
|
DomeLight ¶
Transform |
|
GeometryLight ¶
Transform |
|
その他 |
|
PointLight ¶
Transform |
|
Portals ¶
Transform |
|
その他 |
|
RectLight ¶
Width |
|
Height |
|
Transform |
|
SphereLight ¶
Radius |
|
Transform |
|
KarmaSkyDomeLight ¶
Solar Altitude |
|
Solar Azimuth |
|
Turbidity |
|
Transform |
|
Karma Physical Sky ¶
KarmaSkyDomeライトとDistantライトと特別なプロパティの組み合わせ。
詳細は、ノードのヘルプカードを参照してください。
LPEタグ ¶
ライトフィルタ ¶
ライトフィルターをライトに追加することで、照明要素に人為的な修正を加えることができます。 ライトフィルターは、Light Filter Libraryを使用して作成します。 Karmaは、ライトフィルター内でのMaterialXシェーダの使用に対応しています。 Karma Light Projectは、これらのワークフローでは必要不可欠です。
|
距離に応じてライトの強度/色をどのように変化させるのか制御します。 |
|
|
Barndoor(観音開きの扉)を円錐ライトに追加します。 |
|
|
光源の色、強度、拡散反射/鏡面反射を調整します。 |
|
|
テクスチャを介して光源を投影します。 |
|
|
ライトの投影空間内の“現在の光線”の深度とUV座標を用意します。 |
Warning
-
ライトフィルタが適用されたライトはライトツリーに自動で追加されません。
-
同じシーン内の多数のライトにライトフィルタを使用することは推奨されていません。
Karmaライトプロパティ ¶
グローバルプロパティは多くの場合、ライト単位で制御することができます。
これらの制御はprimvars:karma:light:
ネームスペースにあり、通常はそれに呼応するグローバルプロパティに対する乗数です。
乗算またはスケールさせることをプロパティで指定しなかった場合、そのプロパティは上書きとして機能します。
Active Radius
ライトからの照射距離を人為的にクランプします。 この半径外ではライトは影響を持ちません。
MIS Bias
Multiple Importance Sampling(多重重点的サンプリング)がBSDFとライトのどちらか、または、両方からサンプリングするのか制御します。
Sampling Quality
これは、ライト単位のサンプリング品質で、グローバルの Light Sampling Quality に対する乗数として作用します。 この品質を上げると、この光源にサンプルがさらに追加されるので、他の光源と比べてこの光源のサンプリング品質が良くなります。
Sampling Mode
レンダリングにライトツリーを使用した時、Karmaは、そのライトツリーと互換性のある光源の配置を試みます。 このオプションによって、ライトは強制的にライトツリーから除外されて均一サンプリングを行なうようなります。 こうすることで、遅くなる代わりにサンプリング品質が改善される場合があります。
Category
照明でこの光源を選択する時に使用するカテゴリ識別子。
Maximum HDRI Size
環境マップがこの解像度よりも大きい場合、テクスチャ解析が実行された時にその環境マップが縮小されます。 環境マップに非常に小さな非常に明るい値があると、このフィルタリングは、その環境マップのサンプリングの挙動に影響してしまう場合があります。
Spread ¶
矩形ライトにのみ、Karmaには特別なspread
パラメータがあります。
これをエリアライト投影に当てることで、ディスタントライトと単純なエリアライトをなんか“ブレンド”した感じにすることができます。
ライトツリー ¶
Karmaは、たくさんのライトを含んだシーンをもっと効率的にレンダリングできるように、自動的に ライトツリー を構築します。 これによって、Karmaはどのライトを最も多くサンプリングするべきで、どのライトが高速に解が求まりそうなのかを効率的に判断することができます。 ライトに対してこれを Uniform に設定すると、常にそのライトがサンプリングされるようになります。
詳細は、サンプリング>ライトツリーを参照してください。
Light Properties
Sampling Mode
レンダリングにライトツリーを使用した時、Karmaは、そのライトツリーと互換性のある光源の配置を試みます。 このオプションによって、ライトは強制的にライトツリーから除外されて均一サンプリングを行なうようなります。 こうすることで、遅くなる代わりにサンプリング品質が改善される場合があります。