Unity Shader特效 遮擋顯示

2021-08-16 05:13:00 字數 1279 閱讀 8029

以下是正文

………………………………………………………………………………………………

先上效果:

這是遊戲中常用的特效之一。原以為挺簡單的,沒想到幾乎折騰了一早上,掉進了一些坑里。主要是zwrite與ztest的問題,何時開啟,何時關閉,何時用何引數,還有pass的先後順序等等……

**如下,一切盡在不言中:

shader "custom/showocclusion" 

_glossiness ("smoothness", range(0,1)) = 0.5

_metallic ("metallic", range(0,1)) = 0.0

_occlusioncolor("occlusioncolor",color)=(0.5,1,0.5,1)

}subshader

lod 200

//此pass務必放在前面

pass

fixed4 frag() : sv_target

endcg

}ztest lequal

cgprogram

// physically based standard lighting model, and enable shadows on all light types

#pragma su***ce surf standard fullforwardshadows

// use shader model 3.0 target, to get nicer looking lighting

#pragma target 3.0

struct input ;

sampler2d _maintex;

half _glossiness;

half _metallic;

fixed4 _color;

void surf (input in, inout su***ceoutputstandard o)

endcg

}fallback "diffuse"

}

參考文章: 

1、【unity imageeffect】乙個用於角色遮擋透視輪廓的效果

2、unity3d研究院之處理攝像機與角色之間被擋時的區域性透明效果

;3、[unityshader]渲染佇列、zwrite和ztest

;4、unity ztest 深度測試 & zwrite 深度寫入 

Unity Shader之Logo流光特效

遊戲開發中,經常會用到在封面對logo之類的進行流光特效,所以參考 unity技巧 logo閃光效果這篇文章修改了乙個細節。博主原來的 使用後,會發現 properties flashcolor flash color color 1,1,1,1 angle flash angle range 0,...

Unity shader實現百葉窗特效

1.將劃分為水平n欄,如下 shader unlit bycshader color tint color 1,1,1,1 stencilcomp stencil comparison float 8 stencil stencil id float 0 stencilop stencil oper...

筆記1 遮擋

occlusionnf 0 angle threshold 40 1.取當前跟蹤到的目標好和模板係數最大的模板,計算相似度angle。occlusionnf occlusionnf 1 2.如果angle angle threshold 並且遮擋過程還未開始即occlusionnf 0 更新取當前跟...