实现如下图的粒子光环:
参考网站:
思路:
首先声明定义一个类用于存储每个粒子的半径和角度
public class particleClass {public float radius = 0.0f; // initializepublic float angle = 0.0f; // initializepublic particleClass(float radius_, float angle_){radius = radius_;angle = angle_;}
}
定义声明一些需要用到的变量,如最大粒子数目,粒子的数组和存储粒子半径和角度类的数组,内环和外环的半径,粒子旋转的速度和分组,分组用于确定粒子顺时针或逆时针旋转。
public int maxParticlesNum = 6000; // the max number of particles
public ParticleSystem particleSystem;
private ParticleSystem.Particle[] particlesArray;
private particleClass[] paticleObject;
public float minRadius = 3.5f; // inner race radius
public float maxRadius = 10.0f; // outer race radius
public float speed = 0.23f; // the speed of particles
public int group = 2; // group 1 rotates clockwise and group 2// rotates anticlockwise
Start函数内初始化两个数组的大小,并且获得粒子对象,然后进行遍历,对每个粒子的位置进行随机设置,但这里实际上需要使得粒子尽可能位于环的中心,也就是(maxRaidus+minRadius)/2的位置,下面是直接采用了1个算法。随后就存储每个粒子的位置信息和设置他的位置。
本文发布于:2024-01-27 18:15:09,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/17063505111842.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |