勵志

勵志人生知識庫

unity光照模型

Unity中的光照模型主要基於Phong光照模型,這是一種描述物體直接光照的簡易模型。Phong模型認為從物體出發進入攝像機的光由四部分組成:自發光(emissive)、環境光(ambient)、漫反射(diffuse)和高光(specular)。

自發光:物體自身發出的光,使用物體材質的自發光顏色。在未使用全局光照的情況下不會照亮周圍的物體,只是讓自己看起來更亮。

環境光:模擬物體受到環境中的間接光照,通常是個全局變數。

漫反射:模擬光線在物體表面隨機反射,會根據光源方向和表面法線的不同有強度差異。漫反射的計算符合蘭伯特定律(Lambert』s law),即反射光線的強度與光源方向和表面法線之間的夾角餘弦成正比。

高光:模擬表面光滑的物體在某些特定角度發生的強烈反射光。反射光的強度由視線方向和反射方向的夾角大小決定。

在Unity中,光照是對fragment獨立計算的,所以並不會產生物體間遮擋。Unity支持多種光源類型,如點光源聚光燈等,並且考慮了距離衰減和光源的位置、方向等因素來計算光照。

渲染過程包括決定一個像素的可見性和光照計算,而光照模型用於決定一個像素上進行怎樣的光照計算。為了模擬真實的光照環境,需要考慮光線從光源中被發射出來、光線和場景中的一些物體的相互作用以及光線最終到達觀察者的過程。