URP | 粒子系统Custom自定义数据控制溶解
粒子Custom介绍
自定义数据
Custom Data 控制材质属性
所谓的粒子系统的自定义数据,就是如下图的粒子系统选项:

我们可以在脚本中通过 SetCustomParticleData和 GetCustomParticleData来操作这两个数据。 自定义数据分为两种类型:Color和Vector
注意: 一般来讲我们将自定义数据和粒子系统的Renderer选项中的Custom Vector 属性联合起来进行使用。
这个属性可以关联到Shader中,控制Shader的属性
设置类型Vector 类型

Custom1.xyzw控制对应Shader里的变量texcoord1的xyzw变量
使用Custom
开启 Custom Vertex 才能起作用,这一步的意义是绑定属性。

绑定属性是根据Shader创建的变量来控制的。
简单示例
这里使用上面使用到的特效基础材质
在顶点结构体里输入第二套UV变量控制
这里注意,不是真的有第二套变量,这里只是创建一个变量和 Custom1.xyzw 关联起来。
输出结构体

在片元着色器阶段控制贴图的UV信息
这里UV2.xy 控制UV的平铺次数,所以乘。 UV2.zw 控制UV的平移,所以是加法。
全代码
效果
点开Custom Vertex Steams 属性
增加俩个,一个是Custom.xy ,一个是Custom.xyzw

设置数值 1 1
X Y 是贴图的平移 Z W 是UV方向移动



总结
了解Custom Vertex 自定义属性,是怎么使用的,Shader怎么调用。


使用的时候需要在Renderer里开启,如果不开启,是不起作用的。

这样控制属性有在Shader里增加一个变量有什么区别吗?
在Shader里增加一个变量,如果动态控制就需要增加动作文件控制变量的使用。
如果使用粒子的属性,就可以使用曲线控制变量,上面的UV流动就是使用曲线控制。

那些情况还可以使用,比如在控制溶解方面等,一个数值的 动态控制,这里的这个属性,是和UE4的Dynamic 节点是一样的道理。
