我这里全都是实践干货。粒子系统参数众多比较复杂。我在项目里面也有写粒子发生器但是绝对没有unity搞得那么复杂。
分析策划需求,策划希望可以控制粒子的长短,比如需要将粒子设置为15个单元的长度
定义length = 15
关键在于设置ParticleSystemRenderer的lengthScale属性
main = 粒子的main属性
length = (transform.localscale.x * main.startSize.constant) * ParticleSystemRenderer.lengthScale
看公式不够直观 直接放图
上图123相乘之后要等于我们的length 也就是15 我喜欢具体化一个事情 这样方便推演。
------如何处理粒子的旋转 注意需要更改main里面的simulationSpace参数为ParticleSystemSimulationSpace.Local
下图这个参数似乎没啥效果,暂时保持local不要去动他。
旋转的关键代码
self.nUp == 1表示美术做的特效是水平+x朝向 否则是垂+y方向