lightmapをベイクするとはどういう意味ですか?Unity3dでこれを聞いたところ、ライトマップを焼くスケッチアップ用のこのLightUpプラグインを再び見つけました。
私が観察したことから、ベイクされたライトマップは3Dオブジェクトにはるかにリアルな感触を与えます。オブジェクトに光を焼き付けて、そのcgアニメーションを事前にレンダリングされたアニメーションで見るようにする目的はありますか?
lightmapをベイクするとはどういう意味ですか?Unity3dでこれを聞いたところ、ライトマップを焼くスケッチアップ用のこのLightUpプラグインを再び見つけました。
私が観察したことから、ベイクされたライトマップは3Dオブジェクトにはるかにリアルな感触を与えます。オブジェクトに光を焼き付けて、そのcgアニメーションを事前にレンダリングされたアニメーションで見るようにする目的はありますか?
回答:
ゲーム内に静的な(動かない)ライトがある場合、このライトをレンダリングするための2つのオプションがあります。ダイナミックライトと同じようにレンダリングできます。つまり、シェーダーパイプラインを介してフィードします。シェーダーパイプラインは、画面に向かう途中で、周囲のすべて、すべてのフレームに対する効果を計算します。これは明らかにかなり高価です。または、編集者は光をシーンに焼き付けることができます。
私がいつも考えていたベーキングは、おそらくよりシンプルなバージョンでした。基本的には、エディターはライトの周りのすべてのテクスチャを取得し、それらのテクスチャに対するライトの効果を計算します(それらを明るくします。 、使用する置換テクスチャとして保存します。そのため、「ライト」の周囲のすべてのテクスチャはライトがかかっているように見えますが、実行時には実際には計算の観点からライトはありません。本質的には錯覚です。
ただし、Unityはライトマップを生成しているようです。これは上記の概念に似ていますが、ベイク処理されたライティングは、基礎となるテクスチャを変更する代わりに個別に保持され、シェーダーが実行時に2つをマージすると仮定します。これは、タイルテクスチャの利点(つまり、メモリ使用量が少ない)を維持できるという利点があります。ライトを直接ベイクしないため、タイルを維持でき、シェーダーは非常に軽量で、特にダイナミックな光。
これが機能するには、ライトが静的である必要があることは明らかです。つまり、光がテクスチャに焼き付けられているため、ゲームプレイ中に移動することはできません。また、部屋の動的オブジェクト(プレイヤーキャラクターなど)には光が当たらないため、何らかの例外が必要です。この場合、光は動的オブジェクトに対してレンダリングされますが、再レンダリングされません。静的な風景。