Alpha混合技術 unity

2021-08-04 05:39:22 字數 1043 閱讀 1974

alpha混合通常是為了實現透明效果,透明效果的程度通過alpha值來控制

混合公式

outputpixel = sourcepixel ⊗ sourceblendfactor + destpixel ⊗ destblendfactor

⊗表示分量乘積

unity中語法如下

blend off 不混合

blend srcfactor dstfactor 其中srcfactor是源係數,dstfactor是目標係數

屬性(srcfactor, dstfactor上可填的值)

one                    1

zero                   0  

srccolor                源顏色  例如(0.5,0.4,1)

srcalpha                源alpha

dstcolor       目標顏色

dstalpha  

目標alpha

oneminussrccolor           (1,1,1) - srccolor

oneminussrcalpha           1- srcalpha

oneminusdstcolor       (1,1,1) - dstcolor

oneminusdstalpha       1- dstalpha

經常使用的型別如下:

blend srcalpha oneminussrcalpha // traditional transparency 

blend one oneminussrcalpha // premultiplied transparency

blend one one // additive

blend oneminusdstcolor one // soft additive

blend dstcolor zero // multiplicative

blend dstcolor srccolor // 2x multiplicative

參考:

alpha混合技術

alpha混合技術 alpha混合技術對熟悉遊戲的人來說不會陌生,這種技術在如今的遊戲特效裡已經被用爛了。3d 的遊戲就不說了,2d的遊戲裡,這種技術也是滿眼皆是。alpha混合聽上去很神秘,實際非常簡單,其作用就是要實現一種半透明效果。假設一種不 透明東西的顏色是a,另一種透明的東西的顏色是b,那...

深度測試與alpha混合(3)

alpha源混合係數通常設定為d3dblend srcalpha,即當前繪製畫素的alpha值。目標混合係數設定為d3dblend invsrcalpha,即1減去當前繪製畫素的alpha值。那麼當前繪製畫素的alpha值又是如何得到的呢?如果沒有使用材質和紋理,當前繪製畫素的alpha值來自每個頂...

深度測試與alpha混合(5)

透過那些透明度非常高的物體看其他物體,例如透過幾乎完全透明的玻璃看其他物體,會感到玻璃好像不存在,在三維圖形程式中渲染時就可以不渲染這些透明度非常高的物體,從而可以提高渲染速度,這可以通過alpha測試來實現。alpha測試根據當前畫素是否滿足alpha測試條件 即是否達到一定的透明度 來控制是否繪...