Version: Unity 6.0 (6000.0)
言語 : 日本語
ランタイムのライトプローブの移動
ライトプローブのリファレンス

ライトプローブのトラブルシューティング

輪状のアーティファクト

特定の状況下では、ライトプローブに輪状のアーティファクト (“Ringing” と呼ばれます) が出現します。これは、ライトプローブの周囲のライトに大きな違いがある場合によく発生します。例えば、ライトプローブの片側に明るいライトがあり、反対側にライトがない場合、ライトの強度は後ろ側で “オーバーシュート” します。このオーバーシュートは後ろ側にライトスポットを発生させます。

ライトプローブの輪状アーティファクトの例
ライトプローブの輪状アーティファクトの例

これに対処するにはいくつかの方法があります。

  • Light Probe Group コンポーネントで、Remove Ringing を有効にする。Unity は意図しないライトスポットを自動的に削除します。ただし、これにより一般的に、ライトプローブの精度が低下し、コントラストが低下するため、結果の見た目を確認する必要があります。
  • プレイヤーがライトスポットが見える位置に到達できないような位置に、ゲーム内障害物を配置します。
  • ライトプローブに直接光をベイクすることを避ける。直接光は、鋭い切れ目 (影のエッジなど) を持つ傾向があり、ライトプローブには適しません。間接光のみをベイクするには、混合ライティング を使用します。

ライトプローブの配置のトラブルシューティング

ライトプローブ位置の選択は、ライトプローブのセットの間でライトが補間されることを考慮して行う必要があります。ライトプローブが適切にシーンのライトの変化を包含しないと問題が発生します。

下の例は、両側に 2 つの明るい街灯があり、中央に暗い領域がある夜間のシーンを示しています。ライトプローブが街路灯の近くにのみ配置され、その間にある暗い領域にまったく配置されない場合、街路灯からのライトは暗い中間領域に “漏れ”、移動するオブジェクトに照射します。これは、ライトの補間が 1 つの明るい点からもう 1 方の明るい点になっているため、その間の暗い領域についての情報がないためです。

この画像は、適切でないライトプローブの配置を示しています。2 つの街灯の間の暗い領域にはライトプローブがありません。そのため、暗い領域はまったく補間されません。
この画像は、適切でないライトプローブの配置を示しています。2 つの街灯の間の暗い領域にはライトプローブがありません。そのため、暗い領域はまったく補間されません。

リアルタイムライトまたは混合ライトを使用している場合、この問題はあまり目立たないかもしれません。なぜなら、_間接_光だけが暗い領域に漏れるからです。完全にベイクしたライトを使う場合に、問題はより顕著になります。なぜなら、このような状況では、動くオブジェクトが受ける直接光もライトプローブで補間されるためです。この例のシーンでは 2 つの街灯がベイクされているので、動くオブジェクトはライトプローブからの直接光を受けます。結果を見ると、動くオブジェクト (救急車) は、暗い領域を通過する間も明るく照らされたままです。これは期待した効果ではありません。黄色いワイヤーフレームの四面体は、道路の端の明るいところからもう一方の端まで補間が行われていることを示しています。

これは好ましくない結果です。救急車が暗い領域を通る時も明るく照らされたままです。なぜなら、暗い領域にライトプローブが配置されていないためです。

この問題を解決するために、下に示すように、暗い領域にもっとライトプローブを置きます。

今度は、シーンの暗い領域にもライトプローブが配置されています。その結果、移動する救急車は、シーンの端からもう一方の端まで移動しながら、暗いライティングを受けます。

今度は、救急車は、意図通りシーンの中心部で暗いライティングを受けます。
今度は、救急車は、意図通りシーンの中心部で暗いライティングを受けます。

ランタイムのライトプローブの移動
ライトプローブのリファレンス