由淺入深學(xué)習(xí)PBR的原理和實現(xiàn)part_03(理論知識)轉(zhuǎn)載
Hello .大家好
今天是2020年02月28日星期五
01集回顧點擊跳轉(zhuǎn)pbr知識體系_認(rèn)知和應(yīng)用(重要)
02集回顧點擊跳轉(zhuǎn)PBR在游戲引擎的應(yīng)用
3.1.5 制作PBR材質(zhì)
對PBR數(shù)學(xué)模型有了基本了解之后,我們最后要討論的是美工應(yīng)該生成怎樣的材質(zhì)屬性,讓我們可以直接用在PBR渲染管線里。PBR管線中需要的所有材質(zhì)參數(shù)都可以使用紋理來定義或者模擬,使用紋理我們可以逐像素控制制定的面如何跟光線交互:這個點是否是金屬,粗糙度如何又或者表面對不同波長的光有什么反映。
下面是在PBR渲染管線中經(jīng)常用到的紋理:

下面的參數(shù)跟2.4 PBR在游戲引擎的應(yīng)用描述的很多參數(shù)基本一致
反射率(Albedo):反射率紋理指定了材質(zhì)表面每個像素的顏色,如果材質(zhì)是金屬那紋理包含的就是基礎(chǔ)反射率。這個跟我們之前用過的漫反射紋理非常的類似,但是不包含任何光照信息。漫反射紋理通常會有輕微的陰影和較暗的裂縫,這些在Albedo貼圖里面都不應(yīng)該出現(xiàn),僅僅只包含材質(zhì)的顏色(金屬材質(zhì)是基礎(chǔ)反射率)。
法線(Normal):法線紋理跟我們之前使用的是完全一樣的。法線貼圖可以逐像素指定表面法線,讓平坦的表面也能渲染出凹凸不平的視覺效果。
金屬度(Metallic):金屬度貼圖逐像素的指定表面是金屬還是電介質(zhì)。根據(jù)PBR引擎各自的設(shè)定,金屬程度即可以是[0.0,1.0]區(qū)間的浮點值也可以是非0即1的布爾值。
粗糙度(Roughness):粗糙度貼圖逐像素的指定了表面有多粗糙,粗糙度的值影響了材質(zhì)表面的微平面的平均朝向,粗糙的表面上反射效果更大更模糊,光滑的表面更亮更清晰。有些PBR引擎用光滑度貼圖替代粗糙度貼圖,因為他們覺得光滑度貼圖更直觀,將采樣出來的光滑度使用(1-光滑度)= 粗糙度 就能轉(zhuǎn)換成粗糙度了。
環(huán)境光遮擋(Ambient Occlusion,AO):AO貼圖為材質(zhì)表面和幾何體周邊可能的位置,提供了額外的陰影效果。比如有一面磚墻,在兩塊磚之間的縫隙里Albedo貼圖包含的應(yīng)該是沒有陰影的顏色信息,而讓AO貼圖來指定這一塊需要更暗一些,這個地方光線更難照射到。AO貼圖在光照計算的最后一步使用可以顯著的提高渲染效果,模型或者材質(zhì)的AO貼圖一般是在建模階段手動生成的。
美術(shù)可以直接根據(jù)物體在真實世界里的物理屬性,來設(shè)置和調(diào)整用于渲染的基于物理的材質(zhì)。
基于物理的渲染管線最大的優(yōu)勢在于,材質(zhì)的物理屬性是不變的,無論環(huán)境光怎么樣設(shè)置都能得到一個接近真實的渲染結(jié)果,這讓美術(shù)的人生都變得美好了。
基于物理管線的材質(zhì)可以很簡單的移植到不同的渲染引擎,不管光照環(huán)境如何都能正確的渲染出一個自然的結(jié)果

完整文章? 公眾號內(nèi)? 排版太麻煩
完整文章? 公眾號內(nèi)? 排版太麻煩
完整文章? 公眾號內(nèi)? 排版太麻煩
