shader渲染:法線貼圖的使用
2022-08-26 13:42 作者:游戲開發(fā)RAIN | 我要投稿
有的時候,我們用unity做項目的時候,像那些模型啥的,一般正常情況我們都是用默認的紋理映射來實現(xiàn)渲染。雖然基本的效果是有的,但是細節(jié)感還是不強,就比如一個磚塊,或者一堵墻,我們直接就是貼圖就完事了,看起來很假,那么這個時候我們怎么讓它看起來更加真實呢?
這個時候,法線貼圖的使用將視非常不錯的選擇。我這里也做了一個法線貼圖的應用,一起看下效果吧;

從圖中可以很清楚的看清他們的對比,左邊用了法線貼圖,你會發(fā)現(xiàn)它的細節(jié)感很強,凹凸分明,很真實的效果。而右邊從頭到尾開起來都是像平板一樣的。
但是效果還行。如果這里我換成不規(guī)則石頭模型,你就更加能看出他們的對比了。為什么我們要給模型加法線貼圖,就是為了讓模型渲染的更加的真實好看。
一般情況下如果要模型真實好看,那么盡量的把模型做成面數(shù)比較多的高模,但是這樣一來,計算量就比較大了。影響性能。這個時候我們可以使用法線貼圖來幫助我們達到效果。同時不影響性能。那么這個怎么做呢?接下來說原理。
既然要讓低模有高模的渲染效果,這就首先需要記錄下來高模的法線信息,并且把它保存在一張紋理里面,然后我們用低模時,就用高模的法線信息,這樣我們就讓低模具備了高模的渲染效果了。
這是為什么呢?主要就是因為高模面數(shù)多,然后每個面的法線方向都不一樣,所以每個面的光照都不會一樣,就會有凹凸的感覺了??雌饋砭透诱鎸?。
這是因為我們的眼睛會受到模型光照的影響,光暗的地方看起來就像凹槽,而亮點的地方就像凸起一樣??磦€圖就明白了。

從這個圖中,是不是就能感受到明顯的凹凸感?其實這是一張圖,我只不過把它翻轉了一下而已。好了,接下來就是代碼了。

關鍵代碼就是這些了,其他的都是常規(guī)定義。
標簽: