基于cocos creator2.2实现的自定义渲染效果——闪电效果(Lightning)

转自本人原创:https://forum.cocos.org/t/cocos-creator2-2-lightning/96657

完整项目代码在上面链接中。

先上效果图
基于cocos creator2.2实现的自定义渲染效果——闪电效果(Lightning)
基于cocos creator2.2实现的自定义渲染效果——闪电效果(Lightning)
基于cocos creator2.2实现的自定义渲染效果——闪电效果(Lightning)

最近项目中有需求,就研究了一下creator的渲染部分,学习和借鉴了其他大神的一些经验,搞出来一点东西,分享一下吧。就目前测试情况看,功能和性能在各个平台上都没什么问题。
只做了闪电主*分的效果,权衡了下性能和表现效果,就没做分支和jitter。当前效果在我们的项目中可以接受。

实现原理:
1. creator渲染部分基础参考了:https://forum.cocos.org/t/demo/95087
2. 闪电生成算法:https://krazydad.com/bestiary/bestiary_lightning.html

项目中的核心代码在WJMultiAssembler.ts文件中,最主要的就是计算渲染需要的顶点数据。考虑到性能问题,闪电生成算法用的非递归方式。