在Unity使用Mask是剪裁不了粒子特效的,之前有想過(guò)RenderTexture來(lái)實(shí)現(xiàn),不過(guò)使用RenderTexture不適合用于很多個(gè)特效,因?yàn)镽enderTexture依賴Camera的照射,如果在背包中每種道具都有不同的特效,那使用RenderTexture則需要不同特效都用一個(gè)Camera。明顯是不合適的。
先看下剪裁不了的顯示。
解決辦法在粒子特效的shader中添加剪裁的代碼??梢詤⒖脊倬W(wǎng)的說(shuō)明:https://docs.unity3d.com/cn/2019.4/Manual/SL-Stencil.html
添加下列代碼:
Shader "UI/Default"
{
Properties
{
_StencilComp ("Stencil Comparison", Float) = 8
_Stencil ("Stencil ID", Float) = 0
_StencilOp ("Stencil Operation", Float) = 0
_StencilWriteMask ("Stencil Write Mask", Float) = 255
_StencilReadMask ("Stencil Read Mask", Float) = 255
_ColorMask ("Color Mask", Float) = 15
}
SubShader
{
// ...
Stencil
{
Ref [_Stencil]
Comp [_StencilComp]
Pass [_StencilOp]
ReadMask [_StencilReadMask]
WriteMask [_StencilWriteMask]
}
// ...
}
}
展示一下剪裁后效果:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-820835.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-820835.html
到了這里,關(guān)于Unity中UGUI在Mask剪裁粒子特效的實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!