Unity光照概述

2021-09-19 17:50:30 字數 1858 閱讀 6531

一:光源引數 屬性面板的屬性含義:

type:四種光源型別之一 。

1.平行光:最為簡單的光照,我們認為受平行光影響的物體接收到的光線方向是一致的,unity中平行光源的位置是無所謂的,可以放在任何位置,這並不會影響光源的方向。

2.點光源:從乙個點發出的光,影響範圍只有半徑範圍為r的球體內,且光照強度隨著遠離球心而不斷衰減。

3.聚光燈:同樣從乙個點出發,但照亮範圍是乙個錐形區域,我們可以把他想象成手電筒,巨集觀來看,他是點光源的1/n,光照同樣會衰減,由於是錐形,比起圓來計算上要稍微複雜一點,他有乙個張開的角度angle可以調節。

4.面光源:目前只有在烘焙時才起作用,向某個方向發射的光,同樣會衰減。

color:光源顏色。

mode:實時光照,烘焙,混合三種模式。

intensity:光照強度。

indirect multiplier:間接光照強度,即太陽光照射到物體之後,物體之間的反射強度,可以調節亮度。shadowtype:陰影型別:hard shadows, soft shadows, no shadows。

realtimeshadows:實時陰影,相關引數可以調節光照的陰影效果,同時消耗也會不同。

rendermode:光照的渲染計算型別,延遲渲染中會用到。

important:計算光照時會逐片元計算。

not important:逐頂點計算光照或者更高效的計算方式。

auto:由unity自己決定此光源的光照計算方式。

culling mask:根據物體的layer即層來控制此光源影響物體,我們可以將不想被光源影響的物體標記為統一的layer,在這裡設定他們。

二:brdf(光照模型)任何在遊戲中看起來的表現都是數學計算的結果,那麼如何讓我們的光照看起來更加真實,更加符合人類的感知認識,就看我們用的光照模型厲不厲害了。

1.標準光照模型光 = 自發光 + 環境光 + 漫反射 + 高光反射自發光:物體本身輻射的光,很簡單,可以直接使用材質的自發光顏色環境光:真實世界中,物體不僅會被光源照亮,還會被周圍環境中的物體照亮,我們假定用環境光來模擬周圍物體對我們物體影響的總和漫反射:與視角方向無關的,被認為反射出的光是隨機的,均等的高光反射:受表面法線,光照方向,視角方向影響的部分,可以想象利刃上的光澤,是高光反射的結果,從不同的觀察角度,得到的計算結果不一樣

2.漫反射的計算蘭伯特定律:發射光線的強度和表面法線和光源方向之間夾角的余弦值成正比(讀者可以畫個圖就理解了),其實就是越光線越是垂直表面,漫反射越強,計算公式為:clight為光照顏色,mdiffuse為漫反射顏色,max取0和點乘結果的最大值,也就是將點乘結果小於0的部分設定為0,這也正是物體表面會分布不同強度的光照,而背面全是黑色的原因(背面的點乘為負值,被設定為0)

3.高光反射的計算clight光照顏色,mspecular高光反射顏色,n為法線方向,h為視角方向加上光照方向然後歸一化(簡化計算,避免計算反射方向)

4.菲涅爾反射想一下這樣的情景,你站在河邊,遠處的河水熠熠發光,近處的河水還能看見水下的魚,這是不是和我們的常規光照模型矛盾了呢,好像是這樣,我們視角越是垂直於表面,反而反射效果越弱,我們如果需要得到更加豐富和更加細節的光照效果,菲涅爾反射也是我們需要考慮的一部分,比如把菲尼爾反射和標準光照模型結合起來。馮樂樂前輩的部落格中有篇就是利用漫反射和高光反射以及菲涅反射疊加起來,而在我們知道了原理後,調整各個部分的比例得到我們想要的結果就是不斷調節的過程了,沒有對錯之分只有合不合適,「如果它看起來是對的 那麼它就是對的」。

5.逐頂點還是逐畫素首先我們要了解一點,在模型中,片元說要比定點數多很多,三個頂點構成的三角形,裡面可以有幾十個片元,這些片元的某些資料是三個頂點線性插值的結果,因此,很明顯,在頂點中計算光照要比在片元中計算開銷更小,同樣的得到的效果也會稍差一些,這是相對的,需要我們去取捨。

更多unity2018的功能介紹請到paws3d爪爪學院查詢。

Unity全域性光照

由光源照射到物體,經過物體a的反射 包括漫反射和鏡面反射 進入相機的光稱為直接光照 區域性光照 被直接光照照射的地方會形成光亮和陰影,而沒有被照射的地方就會是一片死黑,這和現實世界肯定是有差異的。想象現實生活中的場景,一束光投進窗戶,從而整個房間的陰暗角落也會被照亮。這就是因為在現實世界中,光照射到...

Unity 光照和渲染

unity 文件 using real time lighting with realtime gi 完全理解unity中precompute realtime gi及其優化 一 完全理解unity預計算全域性光照及其優化 二 unity預計算全域性實時gi 九 lightmap parameter...

Unity光照模式的總結

近日在琢磨demo應該選擇怎樣的光照模式,遂做了個試驗 對比在同一場合下,各種模式的情況。故以此文記錄之 版本為2019.2 平台為standalone 渲染管線為builtin 環境光 ambient 嚴格來說並不是一種光照,它只是單純的為所有顯示元素上色罷了。可以理解為2d遊戲便是有個 255,...