This is the documentation for Enlighten.

6.1.1. シーン ルート


HLBS では、.scene XML 形式および.paramset XML 形式を使用してシーン内のオブジェクトとラジオシティ プロパティが記述されます。 

scene 要素の name 属性に一意の名前を選択します。値が 1 の version 属性を追加します。ファイルを同じ名前で拡張子 .scene を付け、同じ名前の個別フォルダーに保存します。

Empty/Empty.scene
<?xml version="1.0" encoding="utf-8"?> 
<scene name="Empty" version="1"> 
</scene>

name 属性、ファイル名、および格納されているフォルダーが一致しない場合は、ビルド システムによってエラーが報告されます。

シーンを完成させるには、インスタンスプローブ、およびキューブマップを追加します。

ラジオシティ パラメーター

シーン ファイルと同じフォルダーに、Default.paramset という名前の個別のファイルを作成します。

アーティストが事前定義済みのいくつかのパラメーターの組み合わせから選択し、間接光の解像度を制御するためのワークフローを提供することをお勧めします。

ルートの parameterSetList 要素に、値が 1 の version 属性を追加します。子要素parameterSetprobesParameterSet、および cubeMapParameterSet をそれぞれ少なくとも 1 つ追加します。

それぞれの子要素の name 属性が一意の名前であることを確認します。

environmentResolution 属性はすべての種類のパラメーター セットに共通しています。これは環境光源の精度に影響します。デフォルトの解像度は 2 です。実際には、フェースあたり 2 x 2 = 4 の値になります。ライティングの精度が十分になるまで、環境解像度を上げます。値は 8 から始め、必要に応じてランタイム コストを測定して値を調整することをお勧めします。

シーン内のすべてのパラメーター セットで同じ environmentResolution 値を使用します。

parameterSet の以下の属性は、インスタンスにのみ影響します。

  • clusterSize: ワールド空間内の入力クラスタのサイズ。
  • outputPixelSize: ワールド空間内の出力ライトマップ ピクセルで必要なサイズ (ライトマップを使用してライティングされるインスタンスにのみ影響)。

probesParameterSet の以下の属性は、プローブにのみ影響します。

  • shNumCoefficients: ライティングのエンコードに使用する球面調和関数の係数の数。4 つの係数を使用することをお勧めします。これは L1 プローブ ライティングと呼ばれます。
  • useCulling: プローブがワールドの外部で作成されることを防ぐため、true に設定することをお勧めします。

初めに、残りのパラメーターにはデフォルト値を使用することをお勧めします。一般に、デフォルト値はすべてのシーンでコストと品質の適切なバランスが取れています。

以下の .paramset ファイルには、事前に定義された 2 つの間接光の解像度の組み合わせが格納されています。アーティストは、エディターでこれをInterior および Exterior のオブジェクトに割り当てることができます。outputPixelSize および clusterSize には、Enlighten シーンの作成時に使用したモデリング単位に応じて、異なる値を使用できます。

Default.paramset
<?xml version="1.0" encoding="utf-8"?>
<parameterSetList version="1">
    <parameterSet name="Interior" id="0" environmentResolution="8" outputPixelSize="100" clusterSize="200"/>
    <parameterSet name="Exterior" id="1" environmentResolution="8" outputPixelSize="400" clusterSize="800"/>
    <probesParameterSet name="Probe" environmentResolution="8" shNumCoefficients="4"/>
    <cubeMapParameterSet name="Cubemap" environmentResolution="8"/>
</parameterSetList>