Creator3D_粒子_NB的魔法阵特效

菜鸟又回来了,同时给大家带来了新的干货!

前言

大家都知道,Creator3D 3.0预览版本已经出来了,作为菜鸟的我,已经有点迫不及待去上手了。今天周末,终于有时间去体验一下了,顺便做个粒子特效试试水。

效果展示

正文

看了效果,那么到底是怎么实现的呢?

答案是:粒子系统

接下来菜鸟就带大家简单的了解一下Creator的粒子系统,"以下言论仅为个人理解,错误莫喷,希望大家帮菜鸟纠正"

1.主模块介绍

首先菜鸟带大家了解一下主模块,以及主模块中比较重要的几个属性:


文档中对于以上属性的描述:

  • 1.dration 粒子系统运行总时间
  • 2.capacity 粒子系统能生成的最大粒子数量
  • 3.loop 粒子系统是否循环播放
  • 4.startLifetime 粒子生命周期
  • 5.rateOverTime 每秒发射的粒子数

属性描述补充

  • dration:粒子系统运行总时间,他表示的是粒子系统单次运行时间值,在具体点就是 产生第一个粒子到产生最后一个粒子之间的时间,并非第一个粒子显示到最后一个粒子消失的时间
  • capacity:粒子系统能生成的最大粒子数量,表示粒子系统单次运行最多可以产生的粒子数,
  • startLifetime: 粒子生命周期,单个粒子产生到消失的时间
  • rateOverTime: 粒子系统每秒发射的粒子数

注意

  • 当rateOverTime=10,dration=1时,每秒钟产生的粒子实际数量为rateOverTime-1,也就是说在总数足够的情况下,运行实际产生的粒子数量为9。再换一种说话,在总数足够的情况下,假设粒子数为n,要想知道n为多少需要两步操作,1. n<rateOverTime*dration,2.对第一步得到的n向下取整
  • 第一个粒子产生到最后一个粒子消失的时间t为: capacity<t<capacity+startLifetime
  • 当实际产生的粒子数大于capacity,粒子将停止产生,直到有粒子生命周期结束再开始产生

2.魔法阵实现

魔法阵的实现主要分为两部分,底盘和光束

底盘

底盘的效果显示为原点旋转,具体设置:

  • 1.dration=5,capacity=1,startLifetime=5,这三个参数的设置确保了粒子运行时间屏幕上只有一个粒子,
  • rateOverTime=200 也就是每秒产生200个粒子,那么第一个粒子的产生时间大概为1/200s=0.005s,相当于粒子系统运行后马上产生,
  • dration=5,capacity=1,startLifetime=5,rateOverTime=200这四个参数结合,可以实现粒子视觉显示的时间和粒子系统运行时近似相等的情况,在loop状态下可以实现完美的衔接效果
  • 粒子的旋转是通过设置旋转模块(RotationOvertimeModule) z轴的旋转,
  • 在startLifetime生命周期内 粒子从初始角度匀速旋转到180度

  • 设置材质,effect要选择粒子渲染的材质 builtin-particle

光束

  • 光束从底部上升,所以需要设置速度 StartSpeed
  • 光束的图片是白色的,所以需要设置初始颜色,
  • 光束的产生不需要太多,所以将rateOverTime调小一点,设置为2,每秒生成2个

为了粒子产生位置比较随机,使用了发射器模块(ShapeModule)

同时形状在上升的过程中拉长,使用大小模块(SizeOvertimeModule)


透明度逐渐降低 使用颜色模块(ColorOvertimeModule)

设置光束所需的粒子材质

到此为止,光束的实现简单描述完毕,文采有限,大家多多包涵,感觉写的还行可以六个足迹奥!如有疑问可以私聊菜鸟奥,随时为大家服务

地址

  • 微信公众号:搬砖小菜鸟

    公众号回复魔法阵 获取demo源码
    ==关注公众号,获取更多干货==
2赞

先奉上效果,文章明天补上

大佬,能不能增加一个展开效果???

你可以看看把demo下载下来自己调一下大小模块和颜色模块

在使用粒子系统是发现两个问题:1.每一次设置 capacity,引擎都会卡死,需要重启。2.每次设置 Reader->renderMode 引擎都会卡死,需要重启。window和mac都会出现

重启居然可以解决.这我是没想到的
当时测试的时候就想试试粒子系统,没想到一改直接挂,失望的删掉了粒子节点

扶额,这3.0果然只能预览一下

哈哈哈,为了这个效果我重启了好多次 :joy:

预览版,自己试试可以,项目升级须谨慎