[unity]使用Unity粒子系统制作跑尘

效果如下
在这里插入图片描述
要使用到一张自制的png图片(透明背景)作为资源,导入时设置为默认就行。
在这里插入图片描述
把这个粒子系统作为角色的子物体,发射跑尘的粒子系统应该在角色脚后的位置。
接下来是粒子系统的配置。

粒子配置

基础属性配置如下
在这里插入图片描述
由于是跑尘,所以发射随时间产生需要关闭,而打开随位移产生。
在这里插入图片描述
同时要需要让跑尘在生命周期内慢慢变小。
在这里插入图片描述
为了让跑尘逐渐消失,我们修改生命周期内颜色变化如下:
在这里插入图片描述
发射形状可以按合适的形状配置,这里选用的是矩形,为了让跑尘更加真实,给予随机化方向以及随机化位置一定的数值。
在这里插入图片描述
最后是渲染配置
在这里插入图片描述
dust这个材质是新建一个材质,然后选择shader为sprite/default,之所以选择这个是因为,对于unity内置的这个shader,可以把粒子系统的颜色信息变化(包括a通道)传入到这个shader中。
在这里插入图片描述
我们打开这个shader源码可以看见控制shader颜色的是_Color属性,也就是说如果我们想要让粒子信息的信息传入到自己的shader中,需要提供一个名为_Color的属性作为入口。

题外话

除此之外,粒子系统还提供了自定义的数据传输在这里插入图片描述
在这里插入图片描述
可以修改数据形式,让其随时间变化。
然后需要打开渲染器中的自定义顶点流(大概是图形学中的vertex array buffer顶点组缓冲)。
在这里插入图片描述
勾选后 点击右下角的加号(图中被菜单挡住了),选择custom,这时就能看到custom1和custome2了,选择自己需要灌入shader中的维度。
在这里插入图片描述
在这里插入图片描述
选择之后可以看到Unity为其分配的通道TEXCOORD0.Z
也就是说,我们在shader中通过语义:TEXCOORDO获取到信息更多了,在之前TEXCOORD
0一般只有xy被占用了作为uv信息,现在我们给了z维度赋予了自定义的数据。

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值