Version: Unity 6.0 (6000.0)
言語 : 日本語
2D ライトを最適化する
Unity がライトをバッチ処理する方法の確認

2D ライトバッチ処理の概要

ライトバッチ処理デバッガーを使用して、Unity がシーン内のターゲットのソートレイヤーに従って 2D ライトShadow Caster をどのようにバッチ処理するかを視覚化します。

Unity がソートレイヤーをバッチ処理するには、レイヤーは以下の条件を満たす必要があります。

  • レイヤーは同じライトのセットを共有します。つまり、2D ライトは同じソートレイヤーをターゲットにします。
  • レイヤーは同じ Shadow Caster のセットを共有します。つまり、シャドウキャスターは同じソートレイヤーをターゲットにします。

デバッガーは隣接するバッチを比較して、各ソートレイヤーをターゲットとするライトまたは Shadow Caster をハイライトし、Unity がソートレイヤーをバッチ処理できるように追加または削除する必要があるライトまたは Shadow Caster を表示します。

Unity がプロジェクトで 2D ライトをバッチ処理する方法を Light Batching Debugger ウィンドウで確認できます。

さまざまなバッチ処理シナリオの例

以下の例は、Unity が異なる条件でライトと Shadow Caster をバッチ処理する方法を示しています。各例は、BGデフォルトという名前の 2 つのソートレイヤーと、AB という名前の 2 つのライトで構成されています。

シナリオ 1

条件:

  • ライト AB は、BGデフォルトソートレイヤーの両方をターゲットとします。
  • シャドウは両方のライトで無効になります。つまり、Shadow Caster はありません。
バッチケース 1
バッチケース 1

結果同じレイヤーをターゲットとすることから Unity は両方のライトを合わせてバッチ処理します。

バッチケース 1
バッチケース 1

シナリオ 2

条件:

  • ライト A は BG をターゲットにし、ライト Bデフォルトをターゲットにします。
  • シャドウは両方のライトで無効になります。
バッチケース 2
バッチケース 2

結果両方のライトが異なるソートレイヤーをターゲットとしているため、Unity はレイヤーをバッチ処理しません。

バッチケース 2
バッチケース 2

シナリオ 3

条件:

  • ライト AB の両方が BGデフォルトソートレイヤーの両方をターゲットにします。
  • シャドウはライトの両方で有効になっており、Shadow Caster は BGデフォルトの両方のレイヤーをターゲットにします。
バッチケース 3
バッチケース 3

結果Unity は、ライトと Shadow Caster のセットの両方が同じレイヤーをターゲットにするときにレイヤーをバッチ処理します。

バッチケース 3
バッチケース 3

シナリオ 4

条件: * ライト AB は、BGデフォルトの両方をターゲットにします。 * シャドウはライト A に対してのみ有効であり、Shadow Caster は BGデフォルトの両方をターゲットにします。

バッチケース 4
バッチケース 4

結果Unity は、Shadow Caster が両方のソートレイヤーをターゲットにしていることからレイヤーをバッチ処理するため、両方のレイヤーが同じシャドウ設定を共有して、ライトテクスチャが両方のレイヤーで同じになります。

バッチケース 4
バッチケース 4

シナリオ 5

条件:

  • ライト AB はともに、BGデフォルトのソートレイヤーの両方をターゲットにします。
  • シャドウは両方のライトに対して有効になり、Shadow Caster は BG レイヤーのみをターゲットにします。
バッチケース 5
バッチケース 5

結果Shadow Caster は一方のレイヤーのみをターゲットにし、もう一方のレイヤーはターゲットにしないため、Unity はレイヤーをバッチ処理しません。そのため、両方のレイヤーのライトテクスチャは同じではなく、バッチ処理できません。

バッチケース 5

2D ライトを最適化する
Unity がライトをバッチ処理する方法の確認