シーンのライティング
既定では、リモートでレンダリングされるオブジェクトは、スカイライトを使用して照射されます。 ほとんどのアプリケーションでは、静的なスカイ ライトで十分ですが、さらに動的な光源をシーンに追加することができます。
Note
キャスト シャドウは現在サポートされていません。 Azure Remote Rendering は、必要に応じて複数の GPU を利用して、大量のジオメトリをレンダリングするように最適化されています。 シャドウ キャストの従来のアプローチは、このようなシナリオではうまく機能しません。
一般的な照明コンポーネントのプロパティ
すべてのライトの種類は、抽象基本クラス LightComponent
から派生し、次のプロパティを共有します。
色: ガンマ空間のライトの色。 アルファは無視されます。
強度: ライトの明るさ。 ポイント ライトとスポット ライトでは、強度によって光がどの程度届くかも定義されます。
ポイント ライト
Azure Remote Rendering では、PointLightComponent
は単一点から光を発するだけでなく、より柔らかい光源をシミュレートするため、小さい球体や小さなチューブからも光を発することができます。
PointLightComponent プロパティ
半径: 既定の半径は 0 です。その場合、ライトはポイント ライトとして機能します。 半径が 0 より大きい場合は、球体の光源として機能し、反射の光源の外観を変更します。
Length:
Length
とRadius
の両方が 0 以外の場合、照明はチューブ状のライトとして機能します。 この組み合わせは、ネオン チューブをシミュレートするために使用できます。AttenuationCutoff: (0, 0) の場合、ライトの減衰はその
Intensity
のみに依存します。 ただし、照明の強度が線形的に 0 にスケーリングされるカスタムの最小距離と最大距離を指定することができます。 この機能を使用すると、特定の照明の影響範囲を小さくすることができます。ProjectedCubemap: 有効なキューブマップに設定すると、テクスチャがライトの周囲のジオメトリに投影されます。 キューブ マップの色は、ライトの色に応じて変調されます。
スポット ライト
SpotLightComponent
は PointLightComponent
に似ていますが、照明は円錐の形状に制限されています。 円錐の向きは、所有者エンティティの負の Z 軸によって定義されます。
SpotLightComponent プロパティ
Radius:
PointLightComponent
の場合と同じです。SpotAngleDeg: この間隔を使うと、度数で測定される、円錐の内角と外角が定義されます。 内角内の範囲は、最大の明るさで照らされます。 外角に光の減衰を適用し、半影表現を生み出します。
FalloffExponent: 円錐の内角と外角の間での光の減衰の度合いが定義されます。 値を大きくすると、より鋭く遷移します。 既定の 1.0 では、線形遷移になります。
AttenuationCutoff:
PointLightComponent
の場合と同じです。Projected2dTexture: 有効な 2D テクスチャに設定すると、ライトが当たっているジオメトリにイメージが投影されます。 テクスチャの色は、ライトの色に応じて変調されます。
指向性ライト
DirectionalLightComponent
は、無限に離れた場所にある光源をシミュレートします。 光は、所有者エンティティの負の Z 軸の方向に照射されます。 エンティティの位置は無視されます。
追加のプロパティはありません。
パフォーマンスに関する考慮事項
光源は、レンダリングのパフォーマンスに大きな影響を与えます。 アプリケーションで必要な場合にのみ、慎重に使用してください。 静的な指向性コンポーネントを含む静的なグローバル光源の条件は、カスタムのスカイ テクスチャで実現できます。追加のレンダリングコストは発生しません。
API ドキュメント
- C# LightComponentBase クラス
- C# PointLightComponent クラス
- C# SpotLightComponent クラス
- C# DirectionalLightComponent クラス
- C++ LightComponentBase クラス
- C++ PointLightComponent クラス
- C++ SpotLightComponent クラス
- C++ DirectionalLightComponent クラス