unity中PBR基礎的PBS應用

2021-10-14 18:35:49 字數 1207 閱讀 8389

這是最簡單最基礎的pbs的效果

簡單解析一下**:

(1)顏色是守恆的: 此處的守恆是 單純的顏色值(diffusecolor 和 specualrcolor),並沒有乘以 漫反射係數 或高光係數

(2) 而shader執行到最後的結果 diffusecolor * (diffuse係數) + specularcolor *(specualr係數)
(3)無論是何種pbr的模型,都是基於上面相同的原則,區別在於計算的細節不同計算的方式不同

下面的**是遵循上面原則,最基本的實現方式:

shader "unlit/ice"

_speculartint

(" speculartint"

,color)=(

0.5,

0.5,

0.5)

_smoothness

(" smoothness"

,range(0

,1))

=0.5

_metallic

("metallic"

,range(0

,1))

=0.5

} subshader

lod100

pass

;struct v2f

; sampler2d _maintex;

float4 _maintex_st;

float _metallic;

float3 _speculartint;

float _smoothness;

fixed4 frag (v2f i)

: sv_target

/// 使用unity 內建的函式版本

// fixed4 frag (v2f i) : sv_target

// endcg}}}

對Unity3D的PBR的初步研究

最近經常聽到pbr physically based rendering 技術的討論,我一開始其實比較抗拒的。畢竟對於畫面和執行效率,我一直偏向於後者。不過最近玩了一些比較優秀的遊戲作品,比如 鎮魔曲 等,發現好的畫面還是非常吸引人的,於是開始研究一下pbr技術的用法。傳統的貼圖渲染技術,一般是使用...

Unity的基礎用法

unity的基礎用法 1 建立乙個unitycontainer物件。2 通過unitycontainer物件的registertype方法來註冊物件與物件之間的關係。3 通過unitycontainer物件的resolve方法來獲取指定物件關聯的物件。using system using syste...

Unity中的顏色

rgb是我們接觸最多的顏色空間,由三個通道表示一幅影象,分別為紅色 r 綠色 g 和藍色 b 這三種顏色的不同組合可以形成幾乎所有的顏色,但是任何顏色都與這三個分量有關,所以連續變換顏色時並不直觀,想對影象的顏色進行調整需要更改這三個分量才行,而自然環境下獲取的影象容易受自然光照 遮擋和陰影等情況的...