unity粒子系统设置粒子的长度,旋转等

我这里全都是实践干货。粒子系统参数众多比较复杂。我在项目里面也有写粒子发生器但是绝对没有unity搞得那么复杂。

分析策划需求,策划希望可以控制粒子的长短,比如需要将粒子设置为15个单元的长度

定义length = 15

关键在于设置ParticleSystemRenderer的lengthScale属性 

main = 粒子的main属性 

length = (transform.localscale.x * main.startSize.constant)  * ParticleSystemRenderer.lengthScale

 看公式不够直观 直接放图 

unity粒子系统设置粒子的长度,旋转等_第1张图片

 

上图123相乘之后要等于我们的length 也就是15 我喜欢具体化一个事情 这样方便推演。 

------如何处理粒子的旋转 注意需要更改main里面的simulationSpace参数为ParticleSystemSimulationSpace.Local  

unity粒子系统设置粒子的长度,旋转等_第2张图片

下图这个参数似乎没啥效果,暂时保持local不要去动他。

 unity粒子系统设置粒子的长度,旋转等_第3张图片

旋转的关键代码

self.nUp == 1表示美术做的特效是水平+x朝向 否则是垂+y方向

unity粒子系统设置粒子的长度,旋转等_第4张图片

你可能感兴趣的:(unity3D,unity)