第八次作业——粒子系统与流动效果

粒子系统与流动效果(三选一)

简单粒子制作

作业要求

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

实现

1. 制作粒子系统
  1. 制作的粒子
    我们要制作的粒子如下图所示:
    在这里插入图片描述
    对粒子进行分解,它由以下部分组成:
    (1) 光晕(不止一个)
    (2)星光
    光晕是粒子的整体部分,把它当作粒子的父类节点,因此我们的制作顺序是先光晕粒子

  2. 获取材质
    按照参考资源的要求,制作该粒子系统所用到的材质贴图为:http://pan.baidu.com/s/1nvlQST7

    下载并放到assets中:
    在这里插入图片描述

  3. 制作光晕
    (1)首先新建一个Particle System: GameObject -> Effects -> Particle System, 命名为halo
    (2)将获取的材质应用到halo中: Renderer-> Material -> fx_article_drop01
    Renderer的设置为:
    在这里插入图片描述
    (3) 因为中间部分的粒子不会移动,所以将halo的speed设置为0。halo的主体参数为:
    在这里插入图片描述
    (4)我们的主要目的是让光晕填充完这个粒子,shape可以设置为 Box 或 Sphere。
    EmissionShape 的设置如下:
    在这里插入图片描述
    (5) 光晕由于受四周的光照影响,在实际中,光晕从出生到消失的时候是从无到有,然后转为无,因此整个生命周期的颜色变化为黑-白-黑。
    在这里插入图片描述
    (6)上述所创建的halo还只是一个骨架,还需要其他粒子来修饰,所以我们接着创建子粒子:右键halo -> Effects -> Particle System, 命名为childHalo。由于创建的halo只是光,并没有很强的光晕,因此childHalo的作用就是增强光晕效果。光晕是通向四周360度的,所以childHalo再出生的旋转方向应该是四周随机的,childHalo的Shape可以定义为任何形状,只要把半径改为0,它将从一个点发散出去。
    childHalo的属性设置:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  4. 制作星光
    星光的效果是从粒子的主体部分向四周发射,他也是从无到有,从大到小,再消失。因此,我们以halo为父对象再创建一个Particle system ,并命名为 stars,使用的材料与halo相同,Shape可以是SphereHimSphere,生命周期的颜色变化是黑 - 橙黄(与halo一致) - 白(变淡的效果) - 黑。
    stars的属性设置:
    在这里插入图片描述
    在这里插入图片描述

  5. 粒子效果图
    完成上述步骤后,粒子的效果是这样的:

    Partical System

2. 用代码控制使之在不同场景下效果不一样

写一个脚本Particle.cs, 用于改变粒子的初始大小和系统中同时允许的最多粒子数。

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

public class Particle : MonoBehaviour
{
    public float start_size;
    public int max_particles;
    ParticleSystem particle;
    // Start is called before the first frame update
    void Start()
    {
        particle = GetComponent<ParticleSystem>();
        particle.startSize = start_size;
        particle.maxParticles = max_particles;
    }

    // Update is called once per frame
    void Update()
    {
    
    }
}

将脚本挂载到之前做好的粒子系统上,会显示两个属性值:start_sizemax_particles,更改这两个属性值然后运行场景,会发现粒子的数量和大小发生改变。

Halo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值