ライト

Hikari はシーンの Unity 標準の ライトを読み取ってベイクします。追加のコンポーネントは必要ありません。

Mode(ベイク種別)

Light コンポーネントの Mode でベイクでの扱いが決まります。

  • Baked — 直接光・間接光ともライトマップに焼き込みます。実行時はライトマップだけで描画されます。
  • Mixed — 焼き込む内容は Hikari SettingsLighting Mode に従います(例: 間接光はライトマップに焼き、直接光と影はリアルタイムで描く)。
  • Realtime — ベイクに含まれません。

対応するライトの種類

Directional / Point / Spot / Area(Rectangle) / Disc を読み取ります。これ以外の種類はベイク対象外です。

読み取る主な設定

いずれも Unity 標準の Light コンポーネントの値を使います。

ただし Point / Spot の距離による明るさの落ち方は Unity のリアルタイム描画とは式が異なるため、同じ Intensity でも見た目の明るさは一致しません(下記「距離による減衰」参照)。

  • Color / IntensityUse Color Temperature も反映)
  • Range(Point / Spot)
  • Spot Angle / Inner Spot Angle(Spot)
  • Shape の大きさ(Area は幅・高さ、Disc は半径のみ

距離による減衰(Point / Spot)

Point / Spot ライトの明るさは、基本的には距離に応じて物理ベースの逆二乗則で弱まります。Unity のリアルタイムライトとは減衰式が違うので、Intensity をそのまま合わせても明るさは Unity と一致しません。近い距離ほど差が出ます。

ただし、Range の位置で明るさが 0 になるように、距離に応じてなだらかに絞り込みます。Range の挙動は物理的に正しいものではなく、範囲を制御するための便宜的なパラメータです。Range を極端に大きくすると物理的に正しい減衰式に近づきます。

ソフトシャドウ(半影)

光源サイズの設定に応じて、影のふちを柔らかくベイクします。

  • Point / Spot — ライトの Baked Shadow Radius(ワールド単位の球半径)。大きいほど半影が広がります。
  • Directional — ライトの Baked Shadow Angle(角直径・度。太陽の見かけの大きさ ≒ 0.5°)。大きいほど遠くの影ほどぼけます。

0 にすると従来どおりの硬い影になります。値はライトからの距離に応じて自然に広がる物理的な半影で、後処理のぼかしではありません。

ベイク対象から外れるライト

  • Mode = Realtime のライト。
  • enabled がオフのライト。
  • 非アクティブな GameObject 上のライト(Hikari SettingsInclude Inactive Objects がオンのときは含めます)。