影を落とす

Light、Point、DirectLight、Spotlightノードにはすべて、3Dシーンでライトが影を落とす方法を調整するために使用できるコントロールがあります。次のジオメトリノードには、ライトによって投影されるシャドウを受け取るかどうか、およびそれら自体が他のオブジェクトにシャドウを投影するかどうかを選択できるコントロールもあります。

カード

キューブ

シリンダー

MergeGeo

ModelBuilder

PointCloudGenerator

PositionToPoints

ReadGeo

シーン

注意:  シャドウの作成に使用される方法は、レンダーノードによって異なります。

ScanlineRender uses depth mapping to create shadows. 最初に、影を落とす各ライトの深度マップをレンダリングします。デプスマップはライトの視点からレンダリングされ、デプスマップ内の各ピクセルは、ライトから特定の方向でライトが照らす最も近いサーフェスまでの距離を表します。デプスマップは、カメラの視点からレンダリングと比較されます。カメラが見る画像内のポイントが深度マップよりも遠くにある場合、そのポイントは影にあると見なされます。

デプスマップシャドウは、多くの場合、レイトレースシャドウよりもレンダリングが高速ですが、リアルに見えない場合があります。

PrmanRender creates shadows through raytracing. カメラから個々の光線をピクセルごとにシーンに発射します。光線がシーンの表面に当たると、PrmanRenderは、交差点とシーン内のすべての光源との間のいわゆるシャドウレイをトレースします。交差点と光源の間に障害物がある場合、交差点は影にあると見なされます。

レイトレーシングの利点は、より正確な影と、現実の世界のように柔らかいエッジを持つ影を作成するために使用できることです。ただし、深度マッピングを使用してシャドウを作成する場合と比較すると、レイトレーシングはレンダリングに非常に時間がかかる場合があります。

影を落とすには:

1.   シーン内の3Dオブジェクトのプロパティパネルを開きます。
2.   を確認するcast shadowまたはreceive shadowボックス、またはその両方。

Cast shadowライトのパスにあるオブジェクトに、シーン内の他のオブジェクトに影を落とすように指示します。

Receive shadowシーン内の他のオブジェクトによって投影された影を表示するようにオブジェクトに指示します。これは、シーン内のオクルージョンを表示するのに役立ちます。

Sceneノードを使用して、接続されているすべての3Dオブジェクトのこれらの設定を定義することもできます。シーンのプロパティで、設定しますshadowoverride inputsそして使用するcast shadowそしてreceive shadow個々の3Dオブジェクトの対応するコントロールをオーバーライドするコントロール。

3.   シャドウを受け取りたい3Dオブジェクトにシェーダーノードが接続されていることを確認してください。
4.   シーンにライトを取り付けて、 castshadows上のボックスShadowsタブ。

以下のノードツリーの例では、ScanlineRenderノードを使用していますが、代わりにPrmanRenderノードを使用できます。

注意:  ポイントライトを使用している場合、ScanlineRenderノードでは影の投影はサポートされていません。

5.   使用しているレンダーノードに応じて、次のいずれかに進みます。

ScanlineRender使用時の影の調整以下、または

PrmanRender使用時の影の調整.

ScanlineRender使用時の影の調整

1.   Shadowsライトノードプロパティのタブ、設定shadow modeに:

solid -影を落とす光から見たオブジェクトは、完全に固体と見なされます。

clipped alpha -オブジェクトのアルファがライトのクリッピングしきい値コントロールを下回っている場合、影を落とすオブジェクトは透明であると見なされます。他のすべてのアルファ値は、ライトを完全に隠します。

full alpha -影は、不透明でないオクルーダーを通過するときの減光方法に基づいて計算されます。

これは、オブジェクトの不透明度に基づいて、オブジェクトによって投影される影に影響します。

固体。(影は
長方形の
葉の画像が適用されます
Cardオブジェクト。)

クリップされたアルファ。

完全なアルファ。

2.   ライトノードにシャドウマップを出力させる場合は、設定します outputmaskこれを保存したいチャンネルへ。これを有効にすることもできますcast shadows無効になっています。
3.   設定した場合shadow modesolidまたはclipped alpha、以下を調整できます。

depthmap resolution -これは、深度マップの解像度を設定します。値を大きくすると、シャドーのエッジが少なくなり、アーティファクトが少なくなりますが、処理に時間がかかります。

Depthmap resolutionセットする
800に。
Depthmap resolutionセットする
7400まで。

注意:  また、 samples深度マップの解像度を上げる代わりに。

samples -これは、ソフトシャドウを生成するときのライトのサンプル数を設定します。シーンのソフトシャドウがドッティまたはノイズが多いように見える場合は、この値を増やしてみてください。値が大きいほど、影は滑らかになります。

Samples 1に設定します。 Samples 50に設定します。

jitter scale -ソフトシャドウのパーセントクローザーフィルタリング(PCF)を行うときに使用されるジッタの量。大きいjitter scale値は、より柔らかく、知覚的に正確な影をもたらします。

PCFは、同じスポットの周囲のさまざまな位置で深度マップをサンプリングすることで機能します。そのスポットの最終的なシャドー値は、光の視点から遮られた、または見えるサンプルの数の平均です。

bias -これは、表面サンプルポイントを表面から遠ざけ、影を落としている光に向かって移動する一定のオフセットです。画像にセルフシャドーイングのアーティファクトが表示される場合、この値を増やすことができます。ただし、値を大きくしすぎると、影を投影するオブジェクトの基部から影が移動し始める場合があることに注意してください。

シャドウアーティファクト。 増加bias助けられる
アーティファクトを減らします。

slope bias -これはbias、ただし、オフセットは深度マップの勾配に比例します。これにより、ライトに対するサーフェスの傾斜に応じて、深度マップの各値に異なるオフセットを与えることができます。たとえば、ライトに対するサーフェスの勾配が浅い場合、深度マップの値は正しい近似値であり、オフセットは必要ありません(または非常に小さなオフセットのみ)。ライトに対するサーフェスの勾配が急な場合、デプスマップの値は正しい近似値になる可能性が低くなり、より大きなオフセットが必要になります。

増加する場合bias既存のセルフシャドーイングアーティファクトを減らしましたが、画像の他の領域に多くのアーティファクトを導入しました。 bias少し下がってslope bias代わりに。次に、結果に満足するまで両方の値を微調整します。

の中にclipped alphaモードでは、調整することもできます:

filter -使用するフィルターのタイプ。利用可能なフィルタリングアルゴリズムの詳細については、 フィルタリングアルゴリズムの選択

clipping threshold -このしきい値未満のアルファ値を持つ表面サンプルは透明と見なされます。値が高いほど、影を落とすオブジェクト上の領域は透明と見なされ、光を透過します。

Clipping threshold 0.1に設定します。 Clipping threshold 0.9に設定します。
4.   設定した場合shadow modefull alpha、以下を調整できます。

filter -使用するフィルターのタイプ。利用可能なフィルタリングアルゴリズムの詳細については、 フィルタリングアルゴリズムの選択

scene epsilon -サンプリングポイントをジオメトリサーフェスから遠ざけ、影を落としているライトに向かって移動するオフセット。この値を増やすと、セルフシャドーイングアーティファクトを減らすことができます。

ヒント:  ダイレクトライトから正確な影を生成するには、ライトを通してシーンを表示し(ビューアのカメラドロップダウンメニューを使用)、ダイレクトライトのscale影を落とす必要があるシーンの部分がビュー内に収まるように制御します。これにより、デプスマップでシャドウキャスティングジオメトリが失われることがなくなります。

PrmanRender使用時の影の調整

1.   PrmanRenderプロパティを開き、確認してくださいshadows有効になっています。
2.   ライトノードのプロパティを開き、 Shadowsタブ。
3.   確認してくださいshadow modeに設定されていますsolid。PrmanRenderを使用する場合、他の2つのモードは関係ありません。
4.   ライトからソフトシャドウを投影する場合は、増やす samplewidth。この値は、影の例の周りのソフト領域の幅を乗算します。値が大きいほど、ソフト領域が大きくなります。

Sample width 1に設定します。 Sample width 15に設定します。
5.   増加した場合sample width前のステップで、シーン内の結果のソフトシャドウがドッティまたはノイズが多いように見えます。 samples。これにより、ソフトシャドウを生成する際のライトのサンプル数が設定されます。値が大きいほど、ソフトシャドウは滑らかになります。

Samples 10に設定します。 Samples 80に設定します。
6.   画像にセルフシャドウアーチファクトが表示される場合は、 bias 値。これにより、表面サンプルポイントが表面から離れます。ただし、値を大きくしすぎると、影を投影するオブジェクトの基部から影が移動し始める場合があることに注意してください。

シャドウアーティファクト。 増加bias助けられる
アーティファクトを減らします。