Shader學習的基礎知識(十九)廣告牌

2021-09-12 12:56:28 字數 1053 閱讀 3614

廣告牌技術可以使用紋理看起來一起面對著自己。廣告牌技術的本質就是構建旋轉矩陣,而乙個轉換矩陣則需要三個基向量,即表面法線(normal),右指方向切線(tangent),上指方向副切線(deputy tangent),還需要乙個錨點。

這裡我用它做了乙個打火機火焰的效果,素材只需要一張即可:

在對應的物體下建立乙個quad物體,然後掛上此shader,即可得到效果,具體做法看**吧,解釋都在注釋裡了。

shader "custom/testshader28" 

_color ("color tint", color) = (1, 1, 1, 1)

_verticalbillboarding ("vertical restraints", range(0, 1)) = 1

} subshader

pass

zwrite off

blend srcalpha oneminussrcalpha

cull off

cgprogram

#pragma vertex vert

#pragma fragment frag

#include "lighting.cginc"

sampler2d _maintex;

float4 _maintex_st;

fixed4 _color;

fixed _verticalbillboarding;

struct a2v ;

struct v2f ;

v2f vert (a2v v)

fixed4 frag (v2f i) : sv_target

endcg

} }

fallback "transparent/vertexlit"

}

Shader學習的基礎知識(六)透明效果

在渲染的時候,渲染的順序是非常重要的,對於不透明物體我們不用不考慮是因為有的深度緩衝存在。在渲染時需要把片元中的值進行比較 如果開了深度測試 但一但關了嘗試測試就沒那麼簡單了。透明度測試 只要小於閾值就會被捨棄,完全不透明或完全透明。透明度混合 這種方法才能得到真正的透明效果,但是需要關掉深度測試,...

Shader學習的基礎知識(十四)玻璃效果

這次我們使用第二種渲染紋理方式grabpass來製做乙個玻璃效果。非常簡單,用一張法線紋理來修改法線資訊,通過乙個cubemap來模擬玻璃反射,而在模擬折射時,則使用了grabpass獲取玻璃後面的螢幕影象,並在切線空間中進行偏移後,再對螢幕影象進行取樣來模擬。建立乙個立方體和乙個圓,圓放在立方體裡...

unity基礎開發 shader基礎知識

1.unity中配備了強大的陰影和材料的語言工具稱為shaderlab,以程式語言來看,它類似於cgfx和direct3d的效果框架語法,它描述了材質所必須要的一切諮詢,而不僅僅侷限於平面頂點 畫素著色。2.在unity3d中建立乙個shader assets create shader 3.建立了...