这一次要完成的是http://i-remember.fr/en 网站所示的白色圆圈效果。
首先,我们先来看一下它的效果:
一、网站效果展示
二、创建粒子
设置相关参数
把相机背景色调黑
三、编写脚本
1、新建脚本:ParticleRotate.cs,并将其拖到Paticle System中。
2、创建粒子数组,初始化。同时我们需要为记录每个粒子的初始角度,初始半径。考虑后续可能每个粒子会有更多属性,所以写了一个class来管理粒子属性
根据下图我们知道,需要随机生成角度以及半径,从而表示出某一个粒子的特定位置。
//创建粒子系统,粒子数组,粒子数目,声明粒子环的半径
public ParticleSystem particleSystem;
private ParticleSystem.Particle[] particlesArray;
private particleClass[] particleAttr; //粒子属性数组
public int particleNum = 10000;
public class particleClass {
public float radiu = 0.0f;
public float angle = 0.0f;
public particleClass(float radiu_, float angle_)
{
radiu = radiu_;
angle = angle_;
}
}
void Start()
{
particlesArray = new ParticleSystem.Particle[particleNum];
particleSystem.maxParticles = particleNum;
particleSystem.Emit(particleNum);
particleSystem.GetParticles(particlesArray);
for (int i = 0; i < particleNum; i++)
{
//相应初始化操作,为每个粒子设置半径,角度
}
//设置粒子
particleSystem.SetParticles(particlesArray, particleNum);
}
3、先考虑在最大半径为maxRadius 最小半径为minRadius的区间内随机为每个粒子生成半径