hw8-粒子系统

作业内容-简单粒子制作

这次的作业是三选一,所以我就选了这个简单粒子制作。

  • 参考资源要求,制作一个粒子系统;
  • 使用 3.3 节介绍,用代码控制使之在不同场景下效果不一样。

代码和视频

实现过程

准备

新建一个空对象,重命名为MyHalo,其下有三个粒子系统,分别是:

  • 中间光midLight的模拟
  • 光晕halo的模拟
  • 周围星光shining的模拟
    在这里插入图片描述
参数设置

【midLight】

  • 因为中间部分的粒子不会移动,所以我们得把粒子的Speed设置为0,然后粒子的Shape我们可以设置为Box或者Sphere,因为我们主要的目的是让光填充完这个粒子,显的饱满。
  • 粒子由于受四周的光照影响,在实际中,在从出生到消失的时候,肯定是无中生有,那么一切光从黑暗中来最后消失与黑暗,所以最外部的颜色肯定是黑色。

参数设置如下:
1.基本设置
在这里插入图片描述
2.Emission 和 Shape
在这里插入图片描述
3.Color over Lifetime
在这里插入图片描述
4.Texture Sheet Animation 和 Renderer
Material采用的是下载资料中的一个。
在这里插入图片描述
目前效果:
在这里插入图片描述
【halo】

  • 光晕是通向四周360度的,所以旋转方向应该是四周随机的,设为[-100,100]。
  • 光晕的Shape可以定义为任何形状,只要我们把半径啥的都改成0,那么它将从一个点发散出去。

参数设置如下:
1.基本设置
在这里插入图片描述
2.Emission 和 Shape
在这里插入图片描述
3.Color over Lifetime 和 Size over Lifetime
在这里插入图片描述
在这里插入图片描述
4.Texture Sheet Animation 和 Renderer
Material采用的是下载资料中的一个。
在这里插入图片描述
目前效果:
在这里插入图片描述
【shining】

  • 星光的特征,也是无中生有,还有就是出生的时候颜色应该和闪光球的颜色一致,然后越来越淡(白色),最后消失于黑暗中(黑色)。
  • 星光的Size是从大到小,最后消失;Shape可以定义为任何形状,只要我们把半径啥的都改成0,那么它将从一个点发散出去。

参数设置如下:
1.基本设置
在这里插入图片描述
2.Emission 和 Shape
在这里插入图片描述
3.Color over Lifetime 和 Size over Lifetime
在这里插入图片描述
4.Texture Sheet Animation 和 Renderer
Material采用的是下载资料中的一个。
在这里插入图片描述

加上代码控制

场景是:逐渐离开光源看到的景象,光源会不断变小。
控制中间光的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class change2 : MonoBehaviour
{

    ParticleSystem exhaust;
    float size = 1.7f;

    // Use this for initialization
    void Start()
    {
        exhaust = GetComponent<ParticleSystem>();
    }

    // Update is called once per frame
    void Update()
    {
        size = size * 0.999f;
        var main = exhaust.main;
        main.startSize = size;
    }
}

控制光晕的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class change : MonoBehaviour {

    ParticleSystem exhaust;
    float size = 5f;

    // Use this for initialization
    void Start () {
        exhaust = GetComponent<ParticleSystem>();
    }

    // Update is called once per frame
    void Update () {
        size = size * 0.999f;
        var main = exhaust.main;
        main.startSize  = size;
    }
}
参考博客

https://blog
.csdn.net/qq_36312878/article/details/80492125

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值