Lightmap UV2 Generation

ライトマップには、メッシュの表面を重なりなくテクスチャに展開した 専用の UV(UV2) が必要です。UV2 がない・重なっているメッシュは、別の面の光や影が混ざった壊れたライトマップになります。

Hikari は、モデルのインポート時に UV2 を自動生成する機能を持っています。生成器には Unity 標準より高品質な xatlas を選べます。

まず確認: UV2 はありますか?

FBX などのモデルアセットを選択し、インポート設定の Generate Lightmap UVs を確認してください。

  • 手作業で UV2 を作ってある → 何もしなくて OK です。
  • Generate Lightmap UVs が ON → UV2 は生成されています。生成器を xatlas に切り替えるとパッキング品質が向上します(このページの手順)。
  • どちらもないGenerate Lightmap UVs を ON にしてください。Hikari の UV2 生成もこのチェックが ON のモデルにだけ働きます。

プロジェクト既定を xatlas にする

  1. メニュー Hikari → Hikari でウィンドウを開き、Lightmap UV2 Generation セクションを表示します。
  2. DefaultGenerate Lightmap UV2Bypass から xatlas に変更します。
    • Bypass = Hikari は何もしない(Unity 標準の生成結果をそのまま使う)
    • xatlas = インポート時に xatlas で UV2 を生成して置き換える
  3. Apply を押して確定します。Use Default のモデルがある場合は確認ダイアログが出て、次の 3 つから選べます。
    • Apply & Reimport — 保存して、既定に従う全モデルをその場で再インポートします。大きなプロジェクトでは時間がかかります。
    • Apply Without Reimport — 保存だけします。各モデルは次にインポートされたときに新しい既定を拾います。
    • Cancel — 何もしません。
ノート

各欄の値は Apply を押すまで確定されません(未適用の変更があるときは警告が出ます)。ボタンの意味は次のとおりです。

  • Apply — 編集内容を保存(上のダイアログで再インポートするか選ぶ)
  • Revert — 編集を破棄して保存済みの値に戻す(保存はしません)
  • Reset — 値を既定に戻して保存します。Revert と違いその場で確定し、Apply と同じ再インポート確認が出ます

モデルごとに設定を変える

特定のモデルだけ設定を変えたい場合:

  1. Project ウィンドウでモデルを選択します(複数選択可)。
  2. Hikari ウィンドウの Selected Model(s) 枠で Use Default のチェックを外します。
  3. そのモデル専用のバックエンドと xatlas オプション(下記)を設定し、Apply します。

Use Default が ON のモデルはプロジェクト既定に従います。Selected Model(s) 枠は Default 枠と同じオプション一式を持ち、Apply / Revert / Reset も同じように使えます。モデルを選んでいないときは案内が表示されます。

xatlas のオプション

バックエンドが xatlas のときだけ表示されます。Chart(面をどうチャートへ分割するか)と Pack(チャートをどうアトラスへ詰めるか)の 2 グループです。通常は既定のままで問題ありません。

Chart

オプション 内容 既定値
Max Chart Area チャート 1 枚の最大面積(投影後の単位)。0 で無制限 0
Max Boundary Length チャート境界の最大長。0 で無制限 0
Normal Deviation Weight 法線が食い違う面どうしを 1 枚にまとめるコスト。大きいほど法線の変化で分割されやすい 2.0
Roundness Weight コンパクトでない(細長い)チャートへの罰則 0.01
Straightness Weight チャート境界をまっすぐにしたい度合い 6.0
Normal Seam Weight ハードエッジ(法線の切れ目)をまたぐシームのコスト 4.0
Texture Seam Weight 既存 UV の不連続をまたぐシームのコスト 0.5
Max Cost このコストを超えるとチャートの成長を止める 2.0
Max Iterations チャート成長の緩和パス回数 1

Pack

オプション 内容 既定値
Padding 各チャートに付ける余白のテクセル数(px)。0 で余白なし 4
Max Chart Size 分割前のチャートの最大辺長(px)。0 で無制限 0
Brute Force 総当たりで詰め直し、アトラスをより密にする(遅くなる) オフ
Block Align チャートを 4×4 ブロックに揃える(ブロック圧縮テクスチャ向け) オフ
ヒント
  • 生成された UV2 はモデルアセットに焼き込まれ、再インポートしても同じ結果が再現されます。
  • Terrain は対象外です(自動的に適切な UV が割り当てられます)。
  • 次のメッシュは xatlas がスキップし、警告を出して既存の UV を使います — ブレンドシェイプ付き、三角形以外のトポロジのサブメッシュ、展開結果が空・退化した場合。
ノート
  • xatlas を有効にしたモデルは、インポート設定の Read/Write EnabledisReadable)が自動で ON になります(UV2 の生成にメッシュデータの読み出しが必要なため)。メモリ使用量が増える点に注意してください。
  • エンジン側の UV 展開バージョンが変わると、xatlas を使う全モデルがエディタ起動時に自動で再インポートされます(コンソールにログが出ます)。Hikari を更新した直後は、この再インポートで時間がかかることがあります。