Javascript is required

TOP › マイページTOP ›
入稿ドキュメントMAP › テクニカルガイド ›
出展者向けライティング説明

出展者向けライティング説明

このドキュメントでは、Vket出展者向けに入稿データのライティング全般についての情報をご案内いたします。出展ワールド個別のライティング設定についてはワールドライティング設定参考値をご確認ください。

最初に押さえておきたいポイント

  • 基本はDefaultレイヤーのままで大丈夫
  • ベイクする場合はContribute GIをオンにする
  • Environmentレイヤー推奨
  • 明るさは下見ワールドで最終確認する
  • 明るさの問題はレイヤー変更で大抵解決する
  • よくあるトラブルはドキュメント後半のトラブルシューティングも参照してください

Vket一般ワールドのライト設定について

入稿ルールの最下段にも記載がありますが、グローバルライト等はワールド側で配置されております。入稿データのライティングについて特別な設定を行わずとも訪問に堪える設計となっております。

  • 基本的なライトが設置されています。
    • Player Directional Light:Player向けのリアルタイムDirectional Light
    • Ambient Light:環境光(相当のBaked/NoShadowなDirectional Light)
    • その他の追加のBakedなライト類(出展エリアの明るさ確保のため)
    • リアルタイムの影は利用できません。
  • ワールド側でCameraDepthTextureを生成します。
  • 出展エリアにReflectionProbeとPostProcessingVolume(Bloom)が設置されています。
  • 出展物の周囲にLightProbeが設置されています。

Player Directional LightはDefaultレイヤーを照らしますがEnvironmentレイヤーは照らしません。Defaultレイヤーはベイク結果にリアルタイム光が足されるため明るくなります。Environmentレイヤーはリアルタイム光の影響を受けないため、ベイク結果のみで見た目が安定します。

ワールド側でCameraDepthTextureを生成しています。CameraDepthTextureを利用する水シェーダー等も利用することができます。
ただし、クロスプラットフォーム会場ではCameraDepthTextureを利用できず、_CameraDepthTextureを使用するシェーダーも使用できません。

入稿シーン上のライト設定について

入稿シーンは、前述のワールドライト設定を踏襲しつつも、細部については異なります。

  • 入稿シーン上のライトの色や強度は一般的な値が設定されており、実際のワールドとは異なります。
  • 入稿データは配置時にシーン原点から移動・回転されます。
  • 出展物周囲のLightProbeについて、位置と個数が異なる場合があります。
  • CameraDepthTextureを生成しません。
  • 入稿シーン上はワールドメッシュがないため、間接光などを反映できません。ReflectionProbeの内容についても同様です。
  • ライトベイクはワールドアップロード前に行われます。入稿シーン上のライトベイク結果はワールドに反映されません。

このため最終的な見た目は出展者自身により下見ワールドにてご確認ください。

入稿シーン上のDirectional Light等は隠しオブジェクトとなっています。UnityEditorのメニューVketTools → Tools → LightingSetToolから開くウィンドウにて設定可能です。設定する値はワールドライティング設定参考値をご確認ください。 LightingSetTool ウィンドウLightingSetTool での設定例

出展物のライティング設定について

Unityでは、MeshRendererおよびSkinnedMeshRendererのデフォルトは「Contribute GIオフ」「Defaultレイヤー」の設定となります。 この設定ではPlayer Directional Lightからのリアルタイム光とLightProbeからのベイク光がどちらも当たるため、明るめに描画されます。

Contribute GIオフかつDefaultレイヤーでの設定例

「Contribute GI」をオンにしたMeshRendererはライトベイクの対象となります。

Contribute GIをオンにしたMeshRenderer

Vketでは各出展者から入稿されたデータをワールドに配置した後、アップロードの直前にライトベイクが動作します。入稿シーン上でのライトベイクは最終的にワールドアップロードされませんが、各種チェックの前提となるため入稿時にライトベイクが行われます。 また入稿データ作成中も適宜ライトベイクを行い確認することができます。ライトベイクを手動で動かす場合は UnityメニューWindow → Rendering → Lighting Settingsから最下部のGenerate Lightingを使用してください。

Generate Lighting ボタン

Contribute GIをオンにしたMeshRendererを持つオブジェクトは入稿シーンヒエラルキーのStatic配下に移動してください。 Static オブジェクト配下への移動 またレイヤーをDefaultからEnvironmentに変更することを推奨します。Environmentレイヤーはリアルタイム光で照らされていないため、ベイク結果がそのまま描画されます。 Layer を Environment に変更

ライトベイクに使われるBakedのライトをヒエラルキーに追加することができます。利用できる設定値に制限はありますが、SoftShadowまたはHardShadowのPoint/Spot/Areaライトを追加できます。詳しくは入稿ルールの記載をご確認ください。

Bakedライトの追加ライトの設定例

ライトを追加した場合は動的メッシュ(Contribute GI オフのメッシュ)に光を当てるためにLightProbeGroupの設置も推奨します。

LightProbeGroupの設置LightProbeGroupの配置例

トラブルシューティング

ライティング関係で良くあるトラブルと解消方法をお伝えします。

Q1. メッシュが暗すぎる

メッシュがライトから受け取る光量が不足しているときに発生します。
ワールド側で設置するライトが足りていない場合もありますが、特に他出展者の出展物が入稿された後ではワールド側の調整が難しくなります。お問い合わせの場合は早めにご相談ください。

A1-1. レイヤーを変更する

EnvironmentレイヤーにはPlayer Directional Lightは当たりません。Environmentレイヤーで暗すぎる場合にDefaultレイヤーに変更していただくことで、明るめに調整することが可能です。
Layer を Default に変更

A1-2. ライトを追加で設置する

スペース出展ではBakedなライトを追加して入稿することが可能です。Bakedなライトを追加することでライトマップにベイクされるメッシュの明るさが確保できます。またBakedなライトの周囲にLightProbeGroupを追加することで、ライトプローブからの光を受け取る動的メッシュの明るさも確保することができます。

A1-3. マテリアルを調整する

マテリアル側で調整することもご検討ください。弱めのEmissionを追加したり、Unlit Intensityを上げることで明るさを底上げすることができます。

Q2. メッシュが明るすぎる・白飛びする

暗すぎる場合とは逆に、メッシュがライトから受け取る光量が過剰であるときに発生します。
ワールド側で設置するライトが強すぎる場合もありますが、特に他出展者の出展物が入稿された後ではワールド側の調整が難しくなります。お問い合わせの場合は早めにご相談ください。

A2-1. レイヤーを変更する

DefaultレイヤーにはPlayer Directional Lightが当たります。Defaultレイヤーで明るすぎる場合にEnvironmentレイヤーに変更していただくことで、暗めに調整することが可能です。 Layer を Environment に変更

A2-2. 追加したライトを調整する

追加したBakedなライトが明るすぎる場合は調整を行ってください。

A2-3. マテリアルを調整する

マテリアル側で調整することもご検討ください。マテリアルカラーが白(255,255,255)となっている場合は、明るめの灰色に調整することで暗めに調整することができます。

Q3. メッシュの明るさが揃っていない

A3-1. AnchorOverrideを設定する

メッシュのAnchorOverrideに共通のTransformを設定することを推奨します。 AnchorOverrideはアバターの明るさを揃えるために使用されることが多いですが、ワールド配置メッシュでも同様に明るさを揃えるために利用できます。 Anchor Override の設定

A3-2. LightProbeGroupを設置する

ContributeGIをオンにしたメッシュとオフにしたメッシュで明るさが揃わない場合、特にBakedなライトを追加して入稿した場合、Bakedなライト周辺にLightProbeが設置されているかを確認してください。オフにしたメッシュはBakedなライトの光をLightProbe経由でしか参照できないため、メッシュの明るさが揃わない原因となります。 LightProbeGroup の配置例 LightProbeは最低1個がライト近辺にあるようにしてください。ライトと同位置にLightProbeGroupを作成してサイズを小さめに設定し、ライトを取り囲むようにするだけで十分です。

Q4. Bloomに問題がある(光らない or 光りすぎ)

A4. マテリアルの設定を確認する

ワールドライティング設定参考値とBloomマテリアルのEmission設定値を比較します。光らない場合、マテリアルのEmission強度がBloom.Thresholdに足りていないことが考えられます。光りすぎの場合、マテリアルのEmission強度が大きすぎる可能性があります。 マテリアルのEmission Intensityは、Standardシェーダーの場合 RGB0-1.0 (もしくは RGB 0-Inf) の表示で 1.5〜 4.0 が妥当な範囲となります。Standardシェーダー以外の場合はより大きな値を必要とします。 マテリアルの Emission Intensity 設定1マテリアルの Emission Intensity 設定2マテリアルの Emission Intensity 設定3

ブルームが弱く掛かっている場合は見分けがつきにくいです。Unlitの黒メッシュを背景としてブルームを確認できると尚良しです。

Q5. ライトベイクに時間がかかる・ライトマップが大きすぎる

A5-1. ScaleInLightmapを調整する

標準的なスペース出展(幅4m×奥行き4m×高さ5m)の場合、ベイク時間5分以内、ライトマップ512 x 512 px以内に収まります。これらの値を超える場合はMeshRendererの ScaleInLightmap が大きい値に設定されているかもしれません。ScaleInLightmapの初期値は1.0ですが、メッシュによっては0.1や0.01に設定することで丁度よいライトマップサイズになることがあります。 Scale In Lightmap の設定

A5-2. メッシュUV2の状態を確認する

メッシュのUV2が不適切な場合、ライトベイクが長時間化する場合があります。「重なり(Overlap)」のないUV2が作成できているかを確認してください。

NG例:重なり(Overlap)のあるUV2
NG例:重なり(Overlap)のあるUV2
OK例:重なり(Overlap)のないUV2
OK例:重なり(Overlap)のないUV2

FBXのインポート設定のGenerate Lightmap UVsをオンにするとUnityがUV2を作成しなおします。Generate Lightmap UVsをオンにすることも試してください。 Generate Lightmap UVs 設定

A5-3. 同時に起動しているソフトを終了する

GPUを使用する他ソフトが起動している場合、ライトベイクが長時間化する場合があります。UnityEditorの同時起動や、VRChatの起動、Discordの画面共有を行っている場合は終了してから試してください。

Q6. ライトマップに異常がある・影が奇妙な形になる

A6-1. メッシュUV2の状態を確認する

メッシュUV2に「重なり(Overlap)」が存在する場合、影の形に異常が現れます。「重なり(Overlap)」のないUV2が作成できているかを確認してください。FBXのインポート設定のGenerate Lightmap UVsをオンにするとUnityがUV2を作成しなおします。Generate Lightmap UVsをオンにすることも試してください。

Generate Lightmap UVsをオンにしたメッシュにて、メッシュが幾つかのパーツに分かれて見えてしまう場合は、Blenderなどモデリングソフトの側で正しいUV2を作成したほうが良くなる場合が多いです。
パーツが分かれて見えてしまうメッシュの例

A6-2. Contribute GIをオフにしてライトベイク対象から除外する

複雑な曲面のメッシュ(例えば人型アバターモデルなど)は、無理にライトマップにベイクするよりもContribute GIをオフにしてLightProbeを使用するほうが最終的に綺麗な見た目になります。戦略的にContribute GIのオフを試してみてください。

関連リンク

公式ガイドラインの確認

入稿前に、必ず出展ガイドラインと入稿ルールを確認してください。入稿の手順は入稿ガイドをご覧ください。

ワールドごとのライティング設定

各ワールドのライティング設定の数値は、ワールドライティング設定参考値をご覧ください。


↑ ページ上部に戻る