【Unity2D 2022:Particle System】添加命中粒子特效

一、创建粒子特效游戏物体

二、修改粒子系统属性

1. 基础属性

        (1)修改发射粒子持续时间(Duration)为1s

        (2)取消勾选循环(Looping)

        (3)修改粒子存在时间(Start Lifetime)为0.1~0.2之间的随机值

        (4)修改粒子初始速度(Start Speed)为0

        (5)修改粒子初始尺寸(Start Size)为0.7~1之间的随机值

        (6)修改粒子初始旋转角度(Start Rotation)为0~360之间的随机值

2. 发射器(Emission)

        (1)设置发射粒子速度(Rate over Time)为0(即不发射粒子)

        (2)添加爆发(Burst),Time为0,Count为5

3. 发射器形状(Shape)

        (1)设置形状(Shape)为Circle

        (2)设置旋转角度(Rotation)在x轴方向为900

        (3)设置半径为(Radius)0.12

        (4)设置模式(Mode)为Burst Spread(爆炸扩散)

4. 粒子颜色(Color over Lifetime)

        (1)设置透明度为255-0(即越来越透明)

5. 粒子尺寸(Size over Lifetime)

        (1)设置粒子尺寸为0.6-1

6. 粒子纹理动画(Texture Sheet Animation)

        (1)添加粒子精灵图片

三、创建命中特效预制体

四、子弹命中敌人时播放特效

1. 编辑子弹脚本:

        (1)创建命中特效预制体

public class Bullet : MonoBehaviour
{
    // 创建命中特效预制体
    public GameObject hitEffectParticlePrefab;
}

        (2)重写迭代器接口,延迟1s后删除命中粒子特效

public class Bullet : MonoBehaviour
{
    // 创建命中特效预制体
    public GameObject hitEffectParticlePrefab;

    // 在1s后删除粒子特效
    private async Task deleteEffectParticle(GameObject EffectParticle, float delay)
    {
        // 等待1s
        await Task.Delay(1000);
        // 删除粒子特效
        Destroy(EffectParticle);
    }
}

        (3)当命中敌人时,在子弹的位置创建一个命中粒子特效,在1s后删除

public class Bullet : MonoBehaviour
{
    // 创建命中特效预制体
    public GameObject hitEffectParticlePrefab;

    // 击中敌人
    private void OnCollisionEnter2D(Collision2D collision)
    {
        Enemy enemy = collision.gameObject.GetComponent<Enemy>();
        if(enemy != null) {
            enemy.changeHealthPoint(-25);
            GameObject hitEffectParticle = Instantiate(hitEffectParticlePrefab, transform.position, Quaternion.identity);
            deleteHitEffectParticle(hitEffectParticle, 1);
        }
        Destroy(gameObject);
    }

    // 在1s后删除粒子特效
    public static async Task deleteEffectParticle(GameObject EffectParticle, float delay)
    {
        // 等待1s
        await Task.Delay(1000);
        // 删除粒子特效
        Destroy(EffectParticle);
    }
}

2. 为子弹预制体添加命中粒子特效

3. 最终效果如下图所示:

        本章完。感谢阅读!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值