Advertisement

Mask裁剪生成UI粒子特效

阅读量:

核心原理解析

每当GPU执行屏幕刷新操作时,会再次对物体表面的Shader程序中涉及的顶点着色器与片面着色器进行重新运算,并将所得结果呈现在显示设备上。在处理片面着色器的过程中,需将材质顶点对应的世界坐标信息与Mask裁剪区域的边界范围进行比对,以此确定该顶点是否处于裁剪区域之内。若判断结果为否,则将该顶点的透明度通道数值设置为零。

以下为Shader代码示例:
//add 注释部分所标注的内容为本次修改所涉及的部分

复制代码
    //Mask裁切UI粒子系统
    Shader "Particles/AdditiveMask" {
    	Properties {
    		_TintColor ("Tint Color", Color) = (0.5,0.5,0.5,0.5)
    		_MainTex ("Particle Texture", 2D) = "white" {}
    		_InvFade ("Soft Particles Factor", Range(0.01,3.0)) = 1.0
    	
    		//-------------------add----------------------
    		_MinX ("Min X", Float) = -10
    		_MaxX ("Max X", Flo

全部评论 (0)

还没有任何评论哟~