这一次做的是用粒子流编程做一个粒子系统,参考了师兄的博客。
效果展示:
基本配置
首先,打开Unity并创建一个空的对象,这里我命名为ParticalHalo,然后在ParticalHalo下创建两个空对象,分别为inner和outer,并为两个对象添加粒子系统Particle System。到这里,基本的配置就差不多了,接下来就是脚本的控制了。
脚本控制
由于两个空对象inner和outer使用同一个脚本控制,因此只用写一个脚本即可。创建脚本命名为ParticalHalo.cs。
首先添加粒子系统,粒子数组以及粒子属性的数组:
private ParticleSystem particleSys; // 粒子系统
private ParticleSystem.Particle[] particleArr; // 粒子数组
private CirclePosition[] circle; //粒子属性
然后我们从简单的开始,先定义该粒子属性的类:
public class CirclePosition
{
public float radius = 0f, angle = 0f, time = 0f;
public CirclePosition(float radius, float angle, float time)
{
this.radius = radius;
this.angle = angle;
this.time = time;
}
}
这个类中定义了每个粒子的半径,角度,游离的起始时间。这个类会在初始化每个粒子位置时用到。
接下来要定义一堆东西,包括粒子数量,粒子的运动半径范围,粒子大小,运动方向等:
public int count = 10000;