Unity3d 粒子光环制作

本文介绍如何使用Unity3d的粒子系统创建类似I Remember网站启动界面的旋转光环。通过调整粒子位置、速度和颜色变化,实现两个反向旋转的光环。详细步骤包括设置粒子系统、编写C#脚本来控制粒子行为,以及添加抖动、颜色变换和Glow11插件以提升视觉效果。
摘要由CSDN通过智能技术生成

这一次,要参照I Remember网站开始界面的那个光环,用粒子系统做一个类似的光环,当然,我做的没网站上的那么好看,就,增加一点儿自己的东西吧。

首先,来看一下成品图:
这里写图片描述

图中有两个环,它们转的方向相反,但每个环的粒子数都是一样的,同时还会有颜色的变化(这里设置了五种颜色轮流变换)。整个环由一个粒子系统生成,通过每一帧设定每个粒子的位置来达到粒子在旋转这一效果。
粒子的位置通过公式:x = cos(t); y = sin(t)来确定。

制作步骤

步骤一:

在场景中建立一个空对象(ParticleSystem),并在对象内新建一个粒子系统(ring):
这里写图片描述

步骤二:

新建一个C#脚本,命名为myRing,并将其挂载在ring上。
这里写图片描述

步骤三:

下面,就是用脚本对粒子的行为进行控制。

首先,提供下面的一些共有变量,使得我们可以在外部通过更改这些参数来设定光环的属性。

    public ParticleSystem particleSystem; //粒子系统对象
    public int particleNumber = 5000;       //发射的最大粒子数
    public float pingPong = 0.05f;
    public float size = 0.05f;             //粒子的大小
    public float maxRadius = 10f;          //粒子的旋转半径
    public float minRadius = 4.0f;
    public float speed = 0.05f;             //粒子的运动速度

另外,我们还需要对每个粒子进行处理,所以,需要存储粒子本身,以及他们的每个粒子的运动半径和位置偏转角。

    private float[] particleAngle;
    private float[] particleRadius; 
    private ParticleSystem.Particle[] particlesArray;

在Start函数里面将要获得的组件和需要申请的内存都处理好后,就可以开始对粒子的初始位置进行设定了,通过随机生成粒子的夹角,半径,然后根据圆的极坐标公式表示,就可以将很多粒子排列成一个圆的样子了。


    void init()
    {
        //对于每个粒子
        for (int i = 0; i < particleNumber; i++)
        {
            //随机生成角度
            float angle = Random.Range(0.0f, 360.0f);
            //换回弧度制
            float rad = angle / <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值