トラブルシューティング
症状から対処を引ける形式でまとめています。
オブジェクトがライトマップに入らない
次を順に確認してください。
- Contribute GI の Static フラグが付いているか(Inspector 右上の Static ドロップダウン)。
- オブジェクトと Renderer が有効か(無効のものは既定で収集されません)。
- シーンに
Hikari Lightmapperが 1 個だけ置かれているか。
光や影が別の面ににじむ・漏れる
ほとんどの場合、ライトマップ UV(UV2)の重複が原因です。
- モデルの Generate Lightmap UVs を ON にしてください。より高品質な xatlas 生成への切り替えは UV2 の生成 を参照してください。
床に密着した面の接地部分だけが漏れる場合は、Advanced の Exclude Hidden Texels を試してください(Hikari Settings の Advanced)。
ベイク結果がノイズっぽい
- 環境光(スカイボックス・HDRI)が主光源で、窓や開口からしか光が入らない屋内シーンでは、Sampling > Env Light Samples を上げます(4 → 8 → 16)。環境光由来のノイズには Samples Per Texel を増やすよりはるかに安価に効きます。
- Samples Per Texel を増やします(64 → 128 → 256)。
- Denoise Mode が NL-Means になっているか確認し、Denoise Strength を上げます。
Play すると影がリアルタイムに戻る・ライトマップが外れる
他のライトマップベイクツールを併用していたシーンでは、そのツールが保存したバインドが Hikari の結果を上書きすることがあります。メニューの Hikari → Utility → Detach Foreign Lightmap Binding で切り離してから、再度ベイクしてください。
また、Unity 標準の Generate Lighting を実行するとベイク結果が上書きされます。Hikari 使用中は標準ベイクを実行しないでください。
「Hikari data was written by a newer format」というエラー
エンジンと Unity 側スクリプトのバージョンが食い違っています。.unitypackage を部分的にインポートした場合などに起きます。パッケージ全体を再インポートしてください。
ベイクが遅い
効果が大きい順に:
- Texels Per Unit を下げる(解像度を落とす)。
- Samples Per Texel を下げ、デノイザに任せる。
- Device で GPU を追加する(マルチ GPU 分担)。
- クラウドベイク にオフロードする。
- コースティクスが不要なら Caustic Mode を Off にする。
GPU が列挙されない・ベイクが始まらない
Hikari ウィンドウの Device に GPU が出てこない、またはベイクボタンを押しても進まないときは、次を確認してください。
- GPU ドライバを最新にする。 Vulkan 対応のドライバが必要です。
- Vulkan 対応 GPU があるか。 対応 GPU が無い環境では自動的にソフトウェア BVH で動作しますが、著しく低速です。
- 他の Hikari プロセスが GPU を使っていないか。 別のベイクが動いていると、そのベイクが終わるまで待機します(
Waiting for another Hikari process to finish.と表示されます)。
ベイク中に Unity がクラッシュする(TDR)
ベイク中に次のような Unity Error ダイアログが出てエディタが強制終了することがあります。

Failed to present D3D11 swapchain due to device reset/removed. This error can happen if you draw or dispatch very expensive workloads to the GPU, which can cause Windows to detect a GPU Timeout and reset the device. … This is an unrecoverable error and the editor will shut down.
これは Windows の TDR(Timeout Detection and Recovery) によるものです。GPU が一定時間(既定 2 秒)以内に OS へ応答しないと、Windows は「GPU がハングした」とみなしてデバイスを強制的にリセットします。リセットされると Unity は描画先(スワップチェーン)を失い、復帰できないためエディタごと終了します。
Hikari のベイクは GPU を長時間フルに使うため、その裏で Unity 自身の描画が 2 秒以内に終わらず TDR が発動する、という形で起きます。落ちているのは Hikari ではなく Unity 側で、Unity の不具合でもありません。
対処(まずこちら)
Hikari ウィンドウ(メニュー Hikari → Hikari)の Device セクションで、GPU をベイクに占有させすぎないように調整します(Device 設定)。
- GPU Priority を Low にする — ベイク中も Unity やデスクトップの描画が GPU を使いやすくなります。
- それでも落ちる場合は GPU Usage (%) を下げる(既定 90 → 50 など)— サブミットの合間に GPU をアイドルさせるため、Unity の描画が割り込む余地ができます。ドライバの優先度制御に依存せず、どの GPU でも効きます。
いずれもベイクは遅くなりますが、その分だけ Unity 側の描画に余裕が生まれ、TDR を回避できます。値を下げるほど安定しますが遅くなるため、落ちなくなる範囲で少しずつ調整してください。
それでも落ちる場合:TDR の緩和・無効化
対象キー(regedit で開きます):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers
| 値の名前 | 型 | 内容 |
|---|---|---|
TdrDelay |
DWORD | GPU の応答を待つ秒数。既定は 2。まずはこちらを少し延ばして、落ちなくなる範囲で最小限にとどめるのが安全側です |
TdrLevel |
DWORD | 0 で TDR の検出自体を無効化(最終手段)。既定は 3(タイムアウト時に復旧) |
- 値が存在しない場合は新規に DWORD (32 ビット) 値として作成します。
- 変更後は Windows の再起動が必要です。
- 元に戻すには、作成した値を削除する(または
TdrDelay=2/TdrLevel=3に戻す)だけです。