ばーちゃるなれっじ Unityのエラー、アバター改変、イベントを検索 アプリで開く
‹ 戻る#ワールド

ライトベイクの基本 ワールドの見た目と軽さを両立する

ワールドの雰囲気を決める最大の要素は「光」です。そしてVRChatワールドでは、ライトを事前計算しておくライトベイクが定番テクニックになっています。見た目を良くしながら軽くできる、数少ない手段だからです。この記事では、Unity 2022.3 のマニュアル「Lightmapping」「Light Modes」「Lighting Modes」「Light Probe Group」と、VRChat Creators Docs の Android 向け最適化ページ(2025年6月25日更新)を元に、設定の場所と選び方をまとめます(いずれも2026年9月17日確認)。

ライトベイクの基本 ワールドの見た目と軽さを両立するの本文画像

リアルタイムライトとベイクの違い

リアルタイムライトは毎フレーム光を計算するため、数が増えると急激に重くなります。一方ライトベイクは、光と影をあらかじめ計算してテクスチャ(ライトマップ)として焼き込む方式で、実行時の負荷がほぼゼロになります。

動かない床や壁への光は、基本的にベイクで表現するのがセオリーです。リアルタイムライトは、点滅させる、色を変える、動かすなど、どうしても変化が必要な光だけに絞ります。VRChat公式のAndroid(Quest)向けページでは「ライトのベイクは必須。リアルタイムライトは非常に重いので、完全に切り捨てても不合理ではない」とまで書かれています。

ライトベイクの基本 ワールドの見た目と軽さを両立するの本文画像

ライトの Mode は3種類

Light コンポーネントの Inspector にある Mode が、そのライトをどう扱うかを決めます。

・Baked — すべて事前に計算し、実行時には一切計算しない。最も軽い
・Mixed — 一部を事前に、一部を実行時に計算する。中間
・Realtime — 毎フレーム計算する。最も重い

Mixed の実際の挙動は、Lighting ウィンドウの Scene タブ > Mixed Lighting > Lighting Mode で決まります。

・Subtractive — 直接光も間接光も焼き込み、実行時の影は Directional Light 1本分だけ。最も軽く、Quest 向きです。見た目のリアルさは劣ります
・Baked Indirect — 直接光と影は実行時に計算し、間接光だけ焼き込む。中程度の負荷
・Shadowmask — 遠くの影を焼き込み、近くの影は実行時に描いて合成する。最も重く、最も自然

迷ったら、PC向けワールドは「動かないライトはすべて Baked」から始め、太陽(Directional Light)だけを Mixed にしてアバターに影を落とす構成が扱いやすいです。Quest対応なら Subtractive か、思い切ってすべて Baked にします。

ライトベイクの基本 ワールドの見た目と軽さを両立するの本文画像

ベイクの流れ

1. 動かないオブジェクトを Static(Contribute GI)にする
 (床・壁・家具など。ここを忘れると焼かれない)
2. ライトの Mode を Baked または Mixed にする
3. ライトプローブを人の歩く範囲に配置する
4. Window > Rendering > Lighting を開き、Generate Lighting を押す
5. アバターの見え方を確認して微調整する

Lighting ウィンドウを開くメニューは Window > Rendering > Lighting です。ベイクの対象になるのは「Mesh Renderer などを持ち、Contribute GI が有効で、Standard Shader など Meta Pass を持つシェーダーを使っている」オブジェクトだけです。独自シェーダーで焼けないときは、この条件を疑ってください。

ワールドの規模によっては計算に時間がかかるので、作業の区切りで回すのがコツです。Auto Generate をオンにすると変更のたびに自動で焼き直しますが、大きなワールドでは編集のたびに待たされるので、手動で Generate Lighting を押す運用のほうが快適です。

ライトマップUVを確認する

ベイクにはライトマップ用のUV(UV2)が必要です。モデルの Import Settings で Generate Lightmap UVs にチェックを入れると Unity が自動生成します。UVが無い、あるいは重なっていると、影がまだらになったり別の場所の影が映り込んだりします。

ライトベイクの基本 ワールドの見た目と軽さを両立するの本文画像

ライトプローブを忘れずに

ベイクした光は、アバターなど動くものには当たりません。そこでライトプローブを配置しておくと、アバターが周囲の明るさに馴染むようになります。プローブは「その位置の光を測る点」で、アバターは近くのプローブの値から明るさを近似します。

プローブを置き忘れると、ワールドは綺麗なのにアバターだけ真っ暗、あるいは真っ白という状態になりがちです。これはVRChatワールドで非常によく見る現象で、訪問者の体験を大きく損ないます。

置き方の手順

1. GameObject > Create Empty で空のオブジェクトを作る
2. Component > Rendering > Light Probe Group を追加する
3. Inspector の Edit Light Probes を押して編集モードに入る
4. Add Probe で追加、選択して Duplicate Selected(Ctrl+D)で増やしながら配置する
5. Generate Lighting でベイクすると、プローブにも値が入る

Unity のマニュアルが挙げる配置の原則は3つです。上下2層以上の立体に並べる(1層の平面では正しく補間されない)、明暗の境目は密に、一様な場所は粗く、そして暗い場所にも必ず置く。暗い場所にプローブが無いと、明るい場所の値で補間されてアバターだけ浮いて見えます。部屋の出入り口や階段など、明るさが変わる場所を中心に配置すると自然になります。

Static設定の落とし穴

Staticにしてよいのは、実行中に動かないオブジェクトだけです。Udonで動かす予定の扉やギミックをStaticにすると、動かしたあとも影が元の位置に残るなど、意図しない見た目になります。「焼きたいから全部Static」ではなく、動かすものと動かさないものを先に切り分けておきましょう。動かすものはプローブで馴染ませる側に回します。

時間がかかりすぎるとき

ベイクが終わらない場合、ライトマップの解像度が高すぎることがよくあります。Lighting ウィンドウの Lightmapping Settings にある Lightmap Resolution(1mあたりのテクセル数)を下げ、まず低めの設定で全体を確認し、仕上げの段階で上げるという進め方が現実的です。VRChat公式もQuest向けに「解像度は低く保つ。低くても十分きれいに見える」と勧めています。

オブジェクトごとには Mesh Renderer の Scale in Lightmap で密度を変えられます。目立つ床や壁だけ高く、天井裏や遠景は低く、というメリハリが有効です。Max Lightmap Size(既定 1024)を上げると1枚あたりの容量が増えるので、Questでは上げすぎないようにします。

つまずきやすいポイント

Generate Lighting を押しても何も変わらない
対象オブジェクトの Static(Contribute GI)が外れているか、ライトの Mode が Realtime のままです。両方を確認してください。

アバターが黒い・白飛びする
ライトプローブが無いか、プローブが壁や床の中に埋まっています。埋まったプローブは黒い値を拾います。

ベイク後に一部のオブジェクトだけ暗い
そのオブジェクトの UV2 が無いか、Scale in Lightmap が 0 になっています。Import Settings の Generate Lightmap UVs を確認します。

ライトを消したのに明るいまま
ベイク済みのライトマップが残っています。Lighting ウィンドウの Generate Lighting 横のメニューから Clear Baked Data を実行し、焼き直してください。

よくある質問

Q. ベイクすると見た目が変わってしまった
A. リアルタイムで見えていた光がベイク対象から外れている可能性があります。ライトのModeと、対象オブジェクトのStatic設定を確認してください。

Q. 影が汚い・まだらになる
A. ライトマップの解像度や、オブジェクトのUV(ライトマップUV)が原因のことがあります。解像度を上げるか、Generate Lightmap UVs を見直してみてください。

Q. Quest対応でも同じ?
A. 考え方は同じですが、容量やシェーダーの制限がより厳しくなります。VRChat公式は Quest 向けに Mobile/VRChat/Lightmapped シェーダーとベイク済みライトの組み合わせを勧めています。PC版で仕上げてから調整するのが現実的です。

Q. ほかに軽くする方法は?
A. 別記事「ワールド軽量化の基本 どこから手を付けると効くか」で、効果の大きい順にまとめています。

引用記事ワールド軽量化の基本 どこから手を付けると効くかワールド

光の設計は奥が深いですが、「動かないものはベイク、動くものはプローブで馴染ませる」を押さえるだけで、ワールドの完成度が一段上がります。