頂点とテクスチャの上に計算済みのライトとシャドウを作成するには、[ライトとシャドウをベイク処理]モジュール、[可視化]メニュー、および UV エディタ を使用します。ベイク処理は複雑であるため、このトピックではライトマップと頂点のベイク処理を扱う際に役立つヒント、推奨事項、説明を示します。
ベイク処理を行う場合は、[ベイク処理タイプ]の 2 つのオプションの中から選択できます。次のセクションを確認して、ニーズに最適な方法を判別してください。
頂点のベイク処理は、既に細かいテッセレーションが行われているオブジェクト、または十分なサブディビジョンを持つオブジェクトが対象になります。頂点のベイク処理タイプのメリットは、手動で修正しなくても、環境のシャドウ、単純なライティングの設定、またはニュートラルな純粋に拡散して見える外観をすべて、非常に高速な方法でベイク処理できることです。
オブジェクトに細かなテッセレーションがない場合は、ジオメトリをサブディビジョンしてベイク処理の結果を向上させることができます。この作業を行うときに避ける、または確認する必要があるのは、メッシュの自己交差です。メッシュに自己交差が生じると、暗いスポットが生じます。サブディビジョンの前に、マテリアル内の変位テクスチャを無効にします。

次の点に注意してください。
テクスチャのベイク処理は、単純でフラットなジオメトリに適しています。これを行うことで高品質のライトマップが得られる一方で、コンストラクション データやアーキテクチャなど、ジオメトリのテッセレーションのみが粗くなります。近くのガラスやスペキュラ マテリアルの反射またはコースティクスなど、より複雑なライティング エフェクトをベイク処理する場合も、テクスチャのベイク処理を使用します。[透明なオブジェクトを非表示]を無効にするだけで、ベイク処理中にこれらのオブジェクトが表示されるようになります。[ライトマップのパスを再設定]または Python API を使用して、すばやく切り替えることができるライトマップ バリアントを作成することもできます。
テクスチャのベイク処理にはライトマップ UV が必要になるため、複雑なオブジェクトや重要なオブジェクトを直接ビューで表示する場合は、UV を手動でアンラップすることをお勧めします。ライトマップの UV セットを編集するには、UV エディタを使用します。
コースティクスは、間接照明の一部としてベイク処理できるため、間接光の数は 16 よりも大きくすることをお勧めします。基本的に、間接光の数は、ベイク処理中のレイトレーサーのトレース深度よりも優先されます。

計算に時間がかかり、事前に多くの作業が必要になる可能性がありますが、テクスチャのベイク処理タイプを使用すると、ジオメトリに影響を与えることなく、頂点のベイク処理タイプよりも高い精度を実現できます。特に、頂点のベイク処理では表示しにくい細部を持つオブジェクトのシャドウに適しています。フォトン マッピングを使用すると、実現するのが困難なライティング シナリオを改善できるほか、レイライトをベイク処理するための要件を満たすことになります。

アクティブな変位テクスチャはベイク処理中に評価されます。ただし、間接光で[オーバーライド マテリアル]が有効になっている場合は、ベイク処理中にマテリアルの割り当てが選択したカラーのフラットな拡散マテリアルで置き換えられます。変位をライトマップにベイク処理する場合は、このオプションを必ず無効にしてください。
テクスチャ ベイク処理を使用すると、クローンにさまざまなライトマップを設定できます。したがって、自動車の左側と右側にクローン化されたホイールがある場合に、頂点ベイク処理タイプを選択すると、シーングラフで最初に選択したときと同じベイク処理の結果になります(自動車のシャドウ側では薄くなりすぎることがあります)。ただし、テクスチャのベイク処理を使用すると、さまざまなクローンにライトマップを保存できます。[クローンのライトマップを共有]をオフにして、頂点のベイク処理の場合のように、クローンのライトマップを共有解除する必要がなくなるようにしてください。
[ライトマップを保存]を使用すると、さまざまなライティング設定のベイク処理を .exr ファイルとして外部に保存することができます。これらのファイルは、外部のイメージ編集プログラムで編集できます。
複雑なライティング設定を行わずにすばやくシャドウを生成する場合や、シーン内のジオメトリのリアルさを高める、魅力的でニュートラルな外観を実現する場合は、アンビエント オクルージョンを使用します。曇天からのシャドウ投影と同様なシャドウを作成すれば、実世界に近くなります。この機能を有効にすると、すき間、折り目、コーナー、および接触点が暗くなります。
アンビエント オクルージョンは物理的に正確ではないレンダリング手法です。この手法で、他のジオメトリで隠れている半球の比率をサンプリングし、その比率に応じてピクセルをシェーディングします。オブジェクトから跳ね返るライトや透過するライトをシミュレートするものではありませんが、シーン内にライトがない場合でも機能します。
メニュー バーで、[シーン] > [ライトとシャドウをベイク処理]をクリックします。
メニュー バーで、[ライトとシャドウをベイク処理]が一覧表示されない場合は、[シンプル UI]をオフにします。
[ベイク処理の設定] タブ > [一般] セクションで[アンビエント オクルージョン]を選択します。
結果を表示するには、次のいずれかの操作を実行します。これらはデータの準備中に行われる前処理の計算であることに注意してください。結果はジオメトリの頂点またはテクスチャにベイク処理されます。
アンビエント オクルージョンの滑らかさはジオメトリの詳細レベルによって決まるため、VRED では低レベルのジオメトリの品質を向上させる方法がいくつか用意されています。たとえば、頂点のベイク処理の場合に三角形をサブディビジョンしたり、モジュールの[直接光]セクションで事前に定義された品質プリセットを使用したりします。
アンビエント オクルージョン モードまたはシャドウ モードを使用する場合は、間接光のベイク処理によって、頂点のベイク処理とテクスチャのベイク処理の結果が異なります。
頂点のベイク処理では、アンビエント オクルージョンとシャドウの間接光をベイク処理する際にニュートラルな計算が使用されます。ベイク処理が完了すると、環境係数(環境のカラー補正と露出の設定によって変更された HDR の平均的なカラー)が適用され、リアルタイム レンダリング中に現在のアクティブ環境に合わせてベイク処理された間接光が調整されます。つまり、ベイク処理後に環境が変更されることがあります。
テクスチャのベイク処理では、ベイク処理後のリアルタイム レンダリング中に環境係数も乗算されます。ただし、間接光のベイク処理には、現在のライティング状況(ニュートラルでない可能性がある)が使用されます。したがって、アンビエント オクルージョン モードで間接照明の結果をニュートラルにするには、ベイク処理中に白またはニュートラルの HDR を使用して頂点のベイク処理方法を再現します。シーンの特定のライティング状況で間接照明がベイク処理されている場合でも、さまざまな環境の中で切り替えることができます。
OpenGL モードおよびレイトレーシングの計算済みレンダリング モードでは主要な光源が環境であることが多いため、通常は、シャドウに何らかの作業を行う必要があります。これらのモードで環境ライティングのシャドウを改善するには、次の操作を試してください。
環境イメージから抽出された 1 つまたは複数のリアルタイム光源を使用します。[マテリアル エディタ] > [環境] > [シャドウの光源]を試してください。
スクリーン スペース アンビエント オクルージョンを使用します。ただし、OpenGL で使用するには[可視化] メニュー > [高度な OpenGL 設定]を使用する必要があります。
アンビエント オクルージョン、シャドウ、またはライトとシャドウをベイク処理します。
環境シャドウの光源はベイク処理と組み合わせて使用できますが、アンビエント オクルージョンまたはニュートラル シャドウのベイク処理(およびオプションで間接光)でのみ使用する必要があることにご注意ください。
環境シャドウの光源とベイク処理されたライトとシャドウの結果を組み合わせないでください。これらを組み合わせると、ベイク処理された光源とリアルタイム光源が含まれるようになるため、環境からのライティング効果が 2 倍になります。
以下の表の内容は、ライトとシャドウをベイク処理するときに、レンダリング モードや、頂点のベイク処理とテクスチャのベイク処理のいずれであるかに基づいて、計算済みのイルミネーションのレンダリングで表示される視覚的な違いを示します。[計算済みのイルミネーションのレンダリング]を使用して、ベイク処理されたものをプレビューします。

たとえば、OpenGL で作業している場合、テクスチャのベイク処理を使用してライトとシャドウがベイク処理されていれば、計算済みのイルミネーションのレンダリング モードによって、ベイク処理された直接光とベイク処理された間接光(有効になっている場合)が表示されます。
ベイク処理の対象を確認するには、[ライトとシャドウをベイク処理] > [詳細] タブを使用します。このタブには、既にベイク処理されているものを表示するオプションが含まれています。

| レンダリング モード | 表示された頂点のベイク処理 | 表示されたテクスチャのベイク処理 |
|---|---|---|
| OpenGL、RT 計算済み、および RT 計算済み + 反射 | ベイク処理された直接光 + 間接光![]() |
ベイク処理された直接光 + 間接光![]() |
| RT 計算済み + シャドウ | ベイク処理された間接光![]() 既知の問題: この操作を行うと、ベイク処理された直接光 + 間接光が表示されますが、現在はベイク処理された間接光のみが表示されます(有効になっている場合)。 |
既知の問題: この操作を行うと、ベイク処理された直接光 + 間接光が表示されますが、現在はベイク処理されたライトは表示されません。 |
| RT 計算済み + IBL | ベイク処理された間接光![]() 間接光が表示されます(有効になっている場合のみ)。 |
計算済みのイルミネーションレンダリングの制限: この操作を行うと、間接光のみが表示されます。ただし、ライトマップに直接光と間接光の合計が保存されるため、間接光を独自に表示することはできません。 |
| RT フル GI | ベイク処理は表示されません。フォトン マップまたはファイナル ギャザー マップは、フォトン トレーシングが有効になっている場合のみ表示されます。 | ベイク処理は表示されません。フォトン マップまたはファイナル ギャザー マップは、フォトン トレーシングが有効になっている場合のみ表示されます。 |
環境およびその他の光源からの直接光と間接光をベイク処理できます。直接光は、環境を含むすべてのアクティブな光源から取得されます。一方、間接光は、近くのオブジェクトで反射して、ベイク処理されたオブジェクトに照射されるライトです。 また、追加情報については、「アンビエント オクルージョン モードとシャドウ モードの間接照明の違い」を参照してください。
ベイク処理されたイルミネーションを表示するには、現在選択されているレンダリング モードで計算済みのイルミネーションが使用されている場合、[可視化]メニュー > [計算済みのイルミネーションのレンダリング]オプションを使用します(たとえば、レイトレーシングのフル グローバル イルミネーションではベイク処理されたイルミネーションが使用されないため、レイトレーシングのフル GI モードで操作している場合は、ベイク処理されたイルミネーションを使用できません)。
以下の表の内容は、アンビエント オクルージョンまたはシャドウをベイク処理するときに、レンダリング モードや、頂点のベイク処理とテクスチャのベイク処理のいずれであるかに基づいて、計算済みのイルミネーションのレンダリングで表示される視覚的な違いを示します。[計算済みのイルミネーションのレンダリング]を使用して、ベイク処理されたものをプレビューします。
たとえば、OpenGL で作業している場合、テクスチャのベイク処理を使用してアンビエント オクルージョンがベイク処理されていれば、計算済みのイルミネーションのレンダリング モードによって、ベイク処理なしの/黒い結果とベイク処理された間接光(有効になっている場合)が表示されます。
ベイク処理の対象を確認するには、[ライトとシャドウをベイク処理] > [詳細] タブを使用します。このタブには、既にベイク処理されているものを表示するオプションが含まれています。
![[高度な設定]タブ](../../images/advancedAmOc.png)
| レンダリング モード | 表示された頂点のベイク処理 | 表示されたテクスチャのベイク処理 |
|---|---|---|
| OpenGL、RT計算済み、RT 計算済み + 反射、RT 計算済み + シャドウ、RT 計算済み + IBL | ベイク処理された間接光 間接光が表示されます(有効になっている場合のみ)。 |
ベイク処理された間接光![]() 間接光が表示されます(有効になっている場合のみ)。 |
| RT フル GI | ベイク処理は表示されません。フォトン マップまたはファイナル ギャザー マップは、フォトン トレーシングが有効になっている場合のみ表示されます。 | ベイク処理は表示されません。フォトン マップまたはファイナル ギャザー マップは、フォトン トレーシングが有効になっている場合のみ表示されます。 |
次に、レンダリング中のベイク処理結果の適用方法を示します。
アンビエント オクルージョンとシャドウは、リアルタイム環境に波及します。間接照明はオブジェクトの拡散カラーによって乗算され、最上部に追加されます。
間接光のみがベイク処理され、[ライトとシャドウ]モードの直接光がベイク処理されない場合、この間接光は現在の環境の露出によって明るくなったり、暗くなったりします。
計算済みモード(OpenGL、レイトレーシングの[計算済み]、[計算済み + 反射]、[計算済み+シャドウ])では、ベイク処理された直接光によって、リアルタイム環境の拡散部分が置き換えられます。
ベイク処理する前に、[可視化]メニューのオプションを使用して、ベイク処理されるライティングをプレビューします。レイトレーシングの[フル グローバル イルミネーション]を使用します。特に、[レンダーパス レンダリング] > [イルミネーション チャネル] > [拡散(間接)イルミネーション]をオンにします。 [ライトとシャドウをベイク処理]モジュールで設定した間接光の数によって、ベイク処理中にトレース深度がオーバーライドされるため、トレース深度にはフル グローバル イルミネーションの場合と同じ結果を得るためにベイク処理の計算で必要になる間接光の数が反映されます。
光源をベイク処理したら、[ライトとシャドウ]を使用して、これらの光源をオフにする必要があります(または拡散ライトの色を黒に設定するなどして、拡散の影響を最小限にする必要があります)。これにより、オブジェクトが二重に照射されることがなくなります。この操作を行わない場合は、ベイク処理された光源とリアルタイム光源の両方から照射されます。再度ベイク処理する場合は、ライトを再び有効にしてください。
ベイク処理中にマテリアルを変更する場合は、[オーバーライド マテリアルを使用]を試してください。オーバーライドを有効にすると、光沢やカラーなどのマテリアル プロパティを含まない、通常の外観のベイク処理が行われます。シーン内のすべてのソリッド オブジェクトは、ベイク処理中に選択されたカラーのフラットな拡散マテリアルを取得します。
ガラス オブジェクト、半透明のオブジェクト、およびシャドウ プレーンはオーバーライドされません。
オブジェクト上で UV を操作する前に、[シーン] > [最適化] > [最適化] > [頂点を統一]を使用して、[最適化]をクリックします。これにより、すべてのプロパティの値が同じである重複する頂点が結合されます。これにより、OpenGL レンダリング速度と UV エディタの計算速度を上げることができます。
島や歪みが極端に多くならないようにしますが、UV 空間はできるだけ多く使用します。
UV のオーバーラップを避けます。
UV エディタで[UV セット] > [ライトマップ UV セットにコピー]を使用して、マテリアル UV を開始点として再利用します。これにより、マテリアル UV がライトマップ UV セットにコピーされます。
縫い目は、3D で表示されない領域にのみ配置します。
島間でパディングを行い(数ピクセル)、島のカラーが隣接する島ににじまないようにします。ただし、この距離はできるだけ小さな値に保つ必要があります。UV 空間のパディングは、選択したライトマップの解像度に関連します。テクスチャの解像度が大きいと、ピクセルが小さくなるため、UV 空間内のパディングの量も小さくなることがあります。島のパディングには 4px、エッジ拡大には 2px を使用することをお勧めします。
[トライプラナー投影]を使用して、島を作成した UV を[展開]でやり直す前に、島の構造を変更します。[Ctrl]+[A]を使用してすべての島を縫合して([島]モードで[島を縫合]を選択して)、新しいカットを作成するか、UV セットを削除します。
シェルの場合は、開始点として、サーフェスごとに 1 つの島を作成することをお勧めします。[島を縫合] (または[UV エッジの縫合])を使用して島を結合し、大きな島を作成して縫い目の数を減らします。既定では、ライトマップ UV セットは空白です。空白の UV セットに[展開とレイアウト]を使用すると、三角形が 3D で接続されている場合、オブジェクト全体が 1 つの大きな島として処理されます。サーフェスの個々の島は削除されます。この時点で、開始点として各サーフェスを島として使用すると、便利なことがあります。この操作は、次の 2 つの方法のうちのいずれかを使用して実行できます。
既定では、複数のサーフェスを含むシェルを読み込むと、マテリアル UV にはサーフェスごとに 1 つの島が含まれます。この場合は、マテリアル UV をライトマップ UV にコピーします。
コンポーネントの選択を有効にし(選択ツール > コンポーネント)、シーングラフでシェルのすべてのサーフェス ノードを選択します。UV エディタで、[展開とレイアウト]を使用してすべてのサーフェス ノードを個別に展開します。最後に、シェル ノードをもう一度選択して、作業を続行します。