unity作业——关于粒子光环的设计

这次作业是让我们做一个网站首页的光环效果,网站如下:http://i-remember.fr/en 


        可以看出,粒子光环大约有两层,外层粒子呈顺时针旋转,内层粒子呈逆时针旋转,总的来说可以采用如下方式来设计,建立一个总的对象halo,

其中包含两个子对象out和in,分别代表外层粒子和内层粒子。粒子的位置和运动采用极坐标来控制,从数学上我们知道,与圆和旋转相关的活动, 采用极坐标较为方便。最后使用pingpong函数,使粒子在半径方向上游离即可。

下面是具体的设计过程,先创建一个空的halo对象,为其添加out子对象,代表外层光环,对out子对象增加粒子系统、

新建一个c#脚本halo,这里因为代码量较小,我们采用自上而下的设计方式,先在start和update函数中把需要的功能列好,再一步步实现该功能。

	void Start () {
		initial ();
		RandomOperation ();
	}
	void Update () {
		rotate ();
	}

这里initial函数代表初始化粒子系统,RandomOpeartion函数使得粒子随机分布在圆轨道上,rotate函数使得粒子可以进行旋转。

在实现每个函数之前,我们先来确定一下要声明的变量,在这里我引入一个新类,circlePosition,用来表示粒子的极坐标,其属性有半径,角度和时间,代码如下:

public class CirclePosition
{
	public float radius = 0f, angle = 0f, time = 0f;
	public CirclePosition(float ra, float an, float ti) {
		radius = ra;
		angle = an;
		time = ti;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值