UVのライトマッピング
リニア ライティング (Unity Pro のみ)

ライト プローブ (Unity Proのみ)

ライトマップによりシーンのリアリティは大きく向上しますが,static でないオブジェクトのレンダリングのリアリティが劣り結果として分断されてるように見える場合があります。移動オブジェクトのライトマッピングをリアルタイムで計算することは出来ませんが,light probe により似た効果を得られる場合があります。やり方として,ライティングはシーンの中で,プローブにより示される重要な点でサンプリングします。次に,あらゆる地点のライティングはサンプルの間を最も近いプローブにより補完します。ゲームプレイの中で使用出来るぐらいに高速であり,移動オブジェクトのライティングおよびシーンのライトマップされたオブジェクトの分断を解消するのに役立ちます。

ライトプローブの追加

ライトプローブ グループ コンポーネント(メニューから: Component -> Rendering -> Light Probe Group)はシーンのあらゆる利用可能なオブジェクトに追加できます。インスペクタを使用してグループに新規のプローブを追加できます。プローブはシーンに黄色い球として表示され,ゲームオブジェクトと同じ様に配置できます。選択されたプローブを通常通りのキーボードショートカットで複製できます(Ctrl + d/Cmd + d)。

ライトプローブ位置のの選択

ライトまたは暗がりをサンプルしたいところに配置すること を忘れないで下さい。プローブはシーン上で Subdivision が正しく動作するためには 体積を持つ 必要があります。

最もシンプルな配置のアプローチは,3Dグリッドのパターンに整列することです。このセットアップがシンプルで有効である一方で,メモリを大量に消費しがちです(各々のライトプローブは要するにサンプル観点からはビューの 球状の,パノラマ方式の HDR イメージです)。プローブはプレイヤー,NPCキャラクター,またはその他の動的オブジェクトが実際に移動できる位置にのみ必要ということに留意して下さい。さらに,ライティング条件はプローブ間の位置に補間されるため,ライトの変化があまりないところにたくさん使用する必要がありません。例えば,均一のシャドウが大きな領域は多くのプローブを必要とせず,また反射オブジェクトから遠く離れた明るい点もまた同様です。プローブは一般的にライティング状況が急激に変化する場所で必要であり,例えばシャドウエリアの端または風景の中で様々な色があるところです。

いくつかの場合では,ゲームのインフラによってライトプローブの位置を選択することが便利な場合があります。例えば,カーレースは典型的にトラックの周囲に沿ってに地点を配置します。これらはプローブの位置として良い候補となりがちで,エディタースクリプトからこの位置をセットするのが分かりやすいです。同様にして,ナビゲーション メッシュは典型的にプレイヤーが到達出来る領域を定義し,またプローブの自動的な配置に役立ちます。

ここではライトプローブを,キャラクターが歩けるところ,但しライティングの変化が興味深い箇所に限定して,表面に焼き込みしています:

平らな 2D レベル

現時点では,ライトプローブ システムにより完全に平らなプローブの雲を焼き込みできません。もし全てのキャラクターが平面でのみ動いたとしても,それでもいくつかのプローブをより高いレイヤーに配置して,体積を持たせて補間が正しく動作するようにする必要があります。

良い例: これが元のプローブの配置です。キャラクターは斜面を上に移動して箱の上に移動できるため,上にもライティングをサンプルすることは正しいです。
良い例: これが元のプローブの配置です。キャラクターは斜面を上に移動して箱の上に移動できるため,上にもライティングをサンプルすることは正しいです。
良い例: ここでは,キャラクターが下の平面上でのみ移動できると仮定します。それっでも,いくつかのプローブを少し高い位置に配置して,体積を持たせて薄いセルとなること避けています。
良い例: ここでは,キャラクターが下の平面上でのみ移動できると仮定します。それっでも,いくつかのプローブを少し高い位置に配置して,体積を持たせて薄いセルとなること避けています。
悪い例: プローブはあまりに平らに配置されていて,非常に長くて薄いセルが生成されるため違和感のある補間結果が得られることになります。
悪い例: プローブはあまりに平らに配置されていて,非常に長くて薄いセルが生成されるため違和感のある補間結果が得られることになります。

ライトプローブの使用

メッシュがプローブ システム からライティングを受けるために, Mesh Renderer の Use Light Probes オプションを有効化する必要があります:

プローブによる補間を行うためには,ライトを受けるメッシュ上の位置を表す空間上の点を決める必要です。デフォルトでは,メッシュの境界を表すす箱の中心が使用されますが,Transform を Mesh Renderer の Anchor Override プロパティにドラッグすることでこれをオーバーライドすることは出来ません(代わりにTranform の位置は補間地点として使用されます)。これはオブジェクトが二つの別の隣接するメッシュがある場合は便利かもしれません。もし両方のメッシュが個別に境界をなす箱の位置にもとづいてライティングされていれば,らいティングはそれらが交差する位置で不連続となります。これを防止するには同じ Transform (例えば親または子オブジェクト)を両方の Mesh Renderer の補間地点として使用します。

ライトプローブを使用しているオブジェクトが,Light Probes Scene ビューで,アクティブで選択されているオブジェクトである場合,補間されているプローブはプレビューのためにその上にレンダリングされます。補間されているプローブはオブジェクトのレンダリングに使用されているものであり,4 つの 細い青い線(プローブの体積の外にあるときは 3 つ)で,補間する元となっている複数のプローブと繋がっています:

デュアル ライトマップ と シングルライトマップモードの比較

シングルライトマップモードでは全ての static ライティングは( ‘Auto’ ライトマッピングモードにセットされたライトを含めて)ライトプローブに焼き込みされます。

デュアル ライトマップモードではライトプローブは ‘Near’ ライトマップ,すなわちSky Light,自己発光マテリアル,エリアライト,および ‘Baked Only’ ライトから完全な照明として,ただし’Auto’ ライトからは間接照明のみ,と同様の設定でライティングを格納します。これのおかげで,オブジェクトは ‘Auto’ ライトでリアルタイムにライティングすることが出来て,リアルタイムシャドウなどの動的な要素を活用すると同時に,シーンに追加された間接照明からのライトを受け取ることが出来ます。

UVのライトマッピング
リニア ライティング (Unity Pro のみ)