マテリアルプロパティーと GI システム
Autodesk® Maya® から Unity へ UV をインポート

グローバルイルミネーションの UV

グローバルイルミネーション (GI) ライトマップには、BakedRealtime の 2 種類があります。どちらを使用するかは、環境ライトを使っているか、特定のライトを使うかによって異なります。

  • Global illumination (environment lighting) can be set to Realtime or Baked. Go to Window > Rendering > Lighting Settings and choose an option from the Ambient GI drop-down menu.

  • ライト は、 Realtime, Baked, Mixed のいずれかに設定できます。Inspector ウィンドウに移動し、 Baking ドロップダウンメニューからオプションを選択します。

  • マテリアルには Emission の制御があり、RealtimeBaked に設定できます。詳細は Standard Shader マテリアルの Emission パラメーター に関するドキュメントを参照してください。

ライトマップ プロパティー
Baked ベイクしたライトマップは主に、ランタイムにまったく変化しないライトに使用します (例えば、街灯など)。したがって、ライトマップに静的なレンダリングとして格納されます。機能には直接ライティング、間接ライト、アンビエントオクルージョンが含まれます。
Realtime リアルタイムライトマップは主に、ランタイムにアニメーション化されるライトに使用します (例えば、点滅する街灯など)。したがって、リアルタイムでレンダリングされる必要があります。機能には間接ライトのみが含まれ、たいてい低解像度です。直接ライトはライトマップには格納されず、リアルタイムでレンダリングされます。
Mixed ライトを Mixed モードに設定すると、ベイクしたライトマップに影響し、さらに、静的でないオブジェクトにリアルタイムの直接ライティングを行います。

これらのライトマップの 1 つ、または両方を使用してシーンを照明できます。その選択によって、ライトの影響とその結果の GI を加えるライトマップが決まります。

UV の可視化

It is important to be able to view the UVs that are being used, and Unity has a visualization tool to help you with this. First, open the Lighting window (menu: Window > Rendering > Lighting Settings) and tick the Auto checkbox at the bottom. This ensures that your bake and precompute are up-to-date, and outputs the data that is needed to view the UVs. Wait for the process to finish (this can take some time for large or complex Scenes).

リアルタイム UV の可視化

事前計算されたリアルタイム GI の UV を見るには以下を行います。

  • シーンの Mesh Renderer がアタッチされているゲームオブジェクトを選択します。
  • Lighting ウィンドウを開き、Object タブを選択します。
  • Preview のドロップダウンで Charting を選択します。

これは、このメッシュのインスタンスのうち選択したものが持つリアルタイムライトマップの UV レイアウトを表示します。

  • プレビューでは、チャートは色分けされたエリアで表示されます (上の右側の図)。
  • 選択したインスタンスの UV はチャート上に置かれ、ゲームオブジェクトのメッシュのワイヤーフレームとして表示されます。
  • 濃いグレーのテクセルは、ライトマップの使用されていないエリアです。

複数のインスタンスをリアルタイムのライトマップにパックすることができます。したがって、表示されるチャートの中には、実際には他のゲームオブジェクトに属するものがあります。

注意 インスタンスのグループ化に関して、リアルタイムライトマップとベイクしたライトマップの間に直接の一致はありません。同じリアルタイムライトマップの 2 つのインスタンスが、2 つの異なるベイクしたライトマップに存在する場合があり、その逆もあります。

ベイクした UV の可視化

ベイクした UV を見るには

  • インスタンスを選択します。
  • Open the Lighting window (menu: Window > Rendering > Lighting Settings) and select the Object tab.
  • Preview のドロップダウンで Baked Intensity を選択します。

図のように、ベイクした UV は、事前計算されたリアルタイム UV とは大きく異なります。これは、ベイクした UV と事前計算したリアルタイム UV の要件が異なるためです。

リアルタイム UV

Preserve UVs をチェックしても、ベイクした GI で事前計算されたリアルタイム GI と同じ UV を取得することはできません。

可能だとしても、予期せぬ場所にひどいエイリアシング (明るいエッジや暗いエッジなど) が発生します。これは、リアルタイムのライトマップの解像度が意図的に低くなっているため、リアルタイムでそれらを更新することが可能であるからです。これはグラフィカルな品質には影響しません。なぜなら、一般的に周波数が低い (つまり突然ライトの強度が発生したり細かいパターンをもつことがない) 間接ライトのみを格納するからです。直接ライトとシャドウは、標準のリアルタイムライティングとシャドウマップを使用して別々に描画されます。直接ライトは一般的に周波数が高い (つまり、鋭いエッジからシャドウに移る箇所など、ライトの強度の変化や細かいパターンを持つことが多い) ので、この情報を取得するためにより高い解像度のライトマップが必要だからです。

低解像度のライトマップは、チャートがテクセルを共有するときにブリーディングの問題を引き起こす可能性があります。これはライトの品質に悪影響を及ぼしますが、UV チャートを再パックして周囲の半ピクセルの境界を確保することで解決できます。この方法では、双線形補間を使用していても、(最も詳細なミップで) チャートを またがって サンプリングすることはありません。半ピクセルの境界が保証されたチャートの利点は、チャートをすぐ隣合わせに置くことができ、ライトマップのスペースを節約できることです。

要約すると、事前計算したリアルタイムの GI ライトマップに使う UV は常に再パックされます。

再パックすると、チャートの周りの半ピクセルの境界を保証し、UV はインスタンスのスケールとライトマップ解像度に依存することができます。高い解像度のライトマップを取得するために UV を拡大すると、もはやこの半ピクセルの境界は保証されません。UV は、インスタンスのスケールとライトマップ解像度を考慮に入れて、個々にパックされます。したがって、リアルタイムの UV は インスタンスごと です。同じスケールと解像度のオブジェクトが 1000 あると、それらは UV を共有します。


  • 2017–07–04 限られた 編集レビュー でパブリッシュされたページ

  • 2017–07–04 ドキュメンテーション更新のみ。Unity の機能に変更なし。

マテリアルプロパティーと GI システム
Autodesk® Maya® から Unity へ UV をインポート