This is the documentation for Enlighten.
6. 実装ガイド
このセクションでは、Enlighten ワークフローを使用するためにエンジンで実装する必要があるパイプライン手順について説明します。
このセクションを読む前に、Enlighten の仕組みを読むことをお勧めします。
以下のコンポーネントを備えた標準的なゲーム エンジンを想定します。
編集ツール:シーンを編集し、ゲーム レンダラーに表示される結果をプレビューするためにアーティストが使用するツール。これらのツールは、ゲーム ランタイム向けのゲームで使⽤できるデータを⽣成します。
ゲーム ランタイム:ターゲット プラットフォームで実行されるレンダラーおよびゲーム ロジック。
パイプライン手順
Enlighten ワークフローを実装するには、各コンポーネントに以下のパイプライン手順を追加します。
編集ツール
1. アーティストがシーンのラジオシティ プロパティおよび間接光の解像度を設定する方法を提供します。
2. Enlighten シーンをエクスポートしてEnlighten プリコンピュートを実行します。
3. Enlighten ランタイム データを収集して、ゲーム ランタイムがロードできる形式で保存します。
ゲーム ランタイム
1. 以前保存した Enlighten ランタイム データをロードします。
2. 光源およびマテリアルの色を使用して Enlighten ランタイム ラジオシティ更新を実行します。
3. Enlighten 間接光でレンダリングするようにレンダラーおよびシェーダーを変更します。
単位
Enlighten は、オブジェクトの位置や光源の強度など、シーンに関する入力情報を受け取ります。これらの量については、物理単位系の選択は強制されません。任意の単位を選択して距離または光量を表すことができます。単位換算のコストと複雑さを回避するため、Enlighten の距離または光量の単位にはエンジンで使用するものと同じ単位を使用すると便利です。
たとえば、エンジンでは、センチメートルやインチのような物理単位、または任意の距離の単位でワールド内のオブジェクトの位置を定義できます。ライティングがリアルなワールドでモデリングされている場合は、光量を物理単位として定義できます。それ以外の場合は、エンジンに固有の任意の光量単位を使用できます。
Enlighten シーンを作成する場合は、選択した単位を使用して、オブジェクトの位置、ライトマップ ピクセルのサイズ、およびプローブの間隔を指定します。Enlighten に光源を提供する場合は、選択した単位を使用して光量を指定します。
エラー報告
Enlighten API は、実装を支援するために役立つエラー メッセージおよび警告メッセージを報告します。これらの API を使用する前に GeoAttachSystemLogger 関数または GeoAttachLogger 関数を呼び出して、選択した出力コンソールにメッセージを出力します。詳細については、メッセージ報告およびエラー処理を参照してください。