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

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

二、修改粒子系统属性

1. 基础属性

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

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

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

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

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

        (5)修改粒子初始旋转角度(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 IEnumerator deleteHitEffectParticle(GameObject hitEffectParticle, float delay){yield return new WaitForSeconds(delay);Destroy(hitEffectParticle);}
}

        (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后删除命中粒子特效private IEnumerator deleteHitEffectParticle(GameObject hitEffectParticle, float delay){yield return new WaitForSeconds(delay);Destroy(hitEffectParticle);}
}

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

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

 

        本章完。感谢阅读!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/40914.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024全网最全面及最新且最为详细的网络安全技巧五 之 SSRF 漏洞EXP技巧,典例分析以及 如何修复 (上册)———— 作者:LJS

五——SSRF漏洞 EXP技巧&#xff0c;典例分析以及 如何修复 目录 五——SSRF EXP技巧&#xff0c;典例分析以及 如何修复 5.1Apache mod_proxy SSRF&#xff08;CVE-2021-40438&#xff09;的一点分析和延伸 0x01 Apache Module综述 0x02 漏洞原理分析 Apache在配置反代的后端…

Vue的学习之生命周期

一、生命周期 <!DOCTYPE html> <html><head><meta charset"utf-8"><title>Vue的学习</title><script src"vue.js" type"text/javascript" charset"utf-8"></script></head>&l…

C#如何从中级进阶到高级开发

从中级C#开发进阶到高级开发&#xff0c;需要深入理解和掌握更复杂的技术和架构&#xff0c;同时培养解决问题的能力和创新思维。以下是一些关键的技能和步骤&#xff0c;可以帮助你从中级向高级开发迈进&#xff1a; 1. 深入理解C#语言特性 泛型&#xff1a;熟练使用泛型提高…

Java实现登录验证 -- JWT令牌实现

目录 1.实现登录验证的引出原因 2.JWT令牌2.1 使用JWT令牌时2.2 令牌的组成 3. JWT令牌&#xff08;token&#xff09;生成和校验3.1 引入JWT令牌的依赖3.2 使用Jar包中提供的API来实现JWT令牌的生成和校验3.3 使用JWT令牌验证登录3.4 令牌的优缺点 1.实现登录验证的引出 传统…

强化Linux系统安全性:从基础命令到高级管理

强化Linux系统安全性&#xff1a;从基础命令到高级管理 引言 在网络安全领域&#xff0c;Linux系统因其稳定性和安全性而广受欢迎。作为一名网络安全专家&#xff0c;我将分享如何通过Linux基础命令和高级管理技巧来加强系统的安全性。本文将基于《学神 IT 教育》提供的Linux…

Debezium报错处理系列之第110篇: ERROR Error during binlog processing.Access denied

Debezium报错处理系列之第110篇:ERROR Error during binlog processing. Last offset stored = null, binlog reader near position = /4 Access denied; you need at least one of the REPLICATION SLAVE privilege for this operation 一、完整报错二、错误原因三、解决方法…

python 切入点(EntryPoints)使用

文章目录 EntryPoints 介绍EntryPoints案例EntryPoints 介绍 官网参考 EntryPoints 是发布的python 项目的一种机制,可以提供对自身项目的切入点,供其他项目代码使用。在python环境中可以通过importlib.metadata.entry_points 函数发现所有的切入点插件,并在代码中加载、调…

08_排序

基本概念与分类 假设含有n个记录的序列为 { r 1 , r 2 , . . . , r n } \{r_1,r_2,...,r_n\} {r1​,r2​,...,rn​}&#xff0c;其相应的关键字分别为 { k 1 , k 2 , . . . , k n } \{k_1,k_2,...,k_n\} {k1​,k2​,...,kn​}&#xff0c;需确定1&#xff0c;2&#xff0c;…&…

微服务: Nacos部署安装与properties配置

Nacos 是阿里巴巴开源的一款用于动态服务发现、配置管理和服务管理的基础设施。Nacos 这个名称源自于 “Dynamic Naming and Configuration Service”。它主要是用于解决微服务架构中服务发现和配置管理的问题。 Nacos 单机模式的部署安装 1. 安装(Windows环境) Nacos是Java…

Java线程基础知识总结

基础概念 Java 线程是并发编程的基础&#xff0c;涉及到线程的创建、管理、同步以及通信。理解和掌握线程的使用对于编写高效和响应快速的应用程序至关重要。 1. 线程基础 线程是程序中的执行流。每个Java程序至少有一个线程 — 主线程&#xff08;main&#xff09;。通过使…

从入门到深入,Docker新手学习教程

编译整理&#xff5c;TesterHome社区 作者&#xff5c;Ishaan Gupta 以下为作者观点&#xff1a; Docker 彻底改变了我们开发、交付和运行应用程序的方式。它使开发人员能够将应用程序打包到容器中 - 标准化的可执行组件&#xff0c;将应用程序源代码与在任何环境中运行该代码…

InspireFace-商用级的跨平台开源人脸分析SDK

InspireFace-商用级的跨平台开源人脸分析SDK InspireFaceSDK是由insightface开发的⼀款⼈脸识别软件开发⼯具包&#xff08;SDK&#xff09;。它提供了⼀系列功能&#xff0c;可以满⾜各种应⽤场景下的⼈脸识别需求&#xff0c;包括但不限于闸机、⼈脸⻔禁、⼈脸验证等。 该S…

ubuntu22 sshd设置

专栏总目录 一、安装sshd服务 sudo apt updatesudo apt install -y openssh-server 二、配置sshd 使用文本编辑器打开/etc/ssh/sshd_config sudo vi /etc/ssh/sshd_config &#xff08;一&#xff09;配置sshd服务的侦听端口 建议将ssh的侦听端口改为7000以上的端口&#…

【bazel】快速下载教程

bazel下载链接&#xff1a; https://github.com/bazelbuild/bazel/releases?page11 直接在github上下载&#xff0c;会因为网络不稳定&#xff0c;而频繁下载错误 这里提供一个超级快速的方法&#xff01;&#xff01;&#xff01; 用迅雷下载&#xff01; 1.从github上复…

cpp http server/client

httplib 使用httplib库 basedemo server.cpp #include "httplib.h" #include <iostream> using namespace httplib;int main(void) {Server svr;svr.Get("/hello", [](const Request& req, Response& res) {std::cout << "lo…

实现Java Web应用的高性能负载均衡方案

实现Java Web应用的高性能负载均衡方案 大家好&#xff0c;我是微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在高并发的网络环境中&#xff0c;负载均衡是确保Web应用程序高性能和可靠性的关键策略之一。本文将探讨如何…

【力扣 - 每日一题】3115. 质数的最大距离(一次遍历、头尾遍历、空间换时间、埃式筛、欧拉筛、打表)Golang实现

原题链接 题目描述 给你一个整数数组 nums。 返回两个&#xff08;不一定不同的&#xff09;质数在 nums 中 下标 的 最大距离。 示例 1&#xff1a; 输入&#xff1a; nums [4,2,9,5,3] 输出&#xff1a; 3 解释&#xff1a; nums[1]、nums[3] 和 nums[4] 是质数。因此答…

算法系列--分治排序|再谈快速排序|快速排序的优化|快速选择算法

前言:本文就前期学习快速排序算法的一些疑惑点进行详细解答,并且给出基础快速排序算法的优化版本 一.再谈快速排序 快速排序算法的核心是分治思想,分治策略分为以下三步: 分解:将原问题分解为若干相似,规模较小的子问题解决:如果子问题规模较小,直接解决;否则递归解决子问题合…

策略模式的应用

前言 系统有一个需求就是采购员审批注册供应商的信息时&#xff0c;会生成一个供应商的账号&#xff0c;此时需要发送供应商的账号信息&#xff08;账号、密码&#xff09;到注册填写的邮箱中&#xff0c;通知供应商账号信息&#xff0c;当时很快就写好了一个工具类&#xff0…

Python 学习中什么是字典,如何操作字典?

什么是字典 字典&#xff08;Dictionary&#xff09;是Python中的一种内置数据结构&#xff0c;用于存储键值对&#xff08;key-value pair&#xff09;。字典的特点是通过键来快速查找值&#xff0c;键必须是唯一的&#xff0c;而值可以是任何数据类型。字典在其他编程语言中…