当前位置: 首页 > news >正文

【Unity2D 2022:Particle System】添加拾取粒子特效

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

二、修改粒子系统属性

1. 基础属性

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

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

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

        (3)修改粒子初始速度(Start Speed)为0.6~1.5之间的随机值

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

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

2. 发射器(Emission)

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

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

3. 发射器形状(Shape)

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

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

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

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

4. 粒子速度(Velocity over Lifetime)

        (1)设置速度更改器(Speed Modifier)为Curve,并编辑速度曲线

5. 粒子尺寸(Size over Lifetime)

        (1)编辑粒子尺寸(Size)曲线(与速度曲线相似,可直接复制)

6. 粒子旋转(Rotation over Lifetime)

        (1)设置角速度(Angular Velocity)为90

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

        (1)添加粒子精灵图片

三、创建拾取特效预制体

四、拾取草莓时播放特效

1. 编辑草莓脚本:

        (1)创建拾取特效预制体

public class Strawberry : MonoBehaviour {// 创建拾取特效预制体public GameObject pickUpEffectParticlePrefab;
}

        (2) 在上一章中已经写了一个删除粒子特效的方法。为了提高代码的复用性,可以新建一个工具类,把删除粒子特效的方法移动到Tool类中,使子弹脚本和草莓脚本都可以调用删除粒子特效的方法(注意:这里的deleteEffectParticle方法是公开、静态的)

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

        (3)修改子弹脚本中的deleteHitEffectParticle方法,调用Tool类的deleteEffectParticle方法

public class Bullet : MonoBehaviour
{// 击中敌人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);// 调用Tool类中的deleteEffectParticle方法删除粒子特效Tool.deleteEffectParticle(hitEffectParticle, 1);}Destroy(gameObject);}}

        (4)同理,在草莓脚本中调用Tool类的deleteEffectParticle方法

public class Strawberry : MonoBehaviour 
{private void OnTriggerEnter2D(Collider2D collision) {Ruby ruby = collision.GetComponent<Ruby>();if(ruby != null) {if(ruby.healthPoint < ruby.maxHealthPoint) {ruby.changeHealthPoint(25);//创建拾取特效预制体GameObject pickUpEffectParticle = Instantiate(pickUpEffectParticlePrefab, transform.position, Quaternion.identity);// 调用Tool类中的deleteEffectParticle方法删除粒子特效Tool.deleteEffectParticle(pickUpEffectParticle, 1);// 删除草莓游戏物体Destroy(gameObject);}}}}

2. 为草莓预制体添加拾取粒子特效

 最终效果如下图所示:

        本章完。感谢阅读!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【LeetCode】12. 小张刷题计划
  • 【大模型LLM面试合集】大语言模型基础_Word2Vec
  • [吃瓜教程]南瓜书第6章支持向量机
  • 【咨询】企业数字档案馆(室)建设方案-模版范例
  • 高职物联网实训室
  • linux查看当前路径下各个文件的大小,仅到当前路径
  • Python | Leetcode Python题解之第223题矩形面积
  • Spring Boot集成rmi快速入门demo
  • Java面试题--JVM大厂篇之深入探讨Serial GC的应用场景
  • 【Python】找Excel重复行
  • python中 is 的意义和用法
  • 基于深度学习的频谱分析
  • 数据库之索引(四)
  • C#用链表和数组实现队列
  • 从“钓”到“管”:EasyCVR一体化视频解决方案助力水域安全管理
  • ES6指北【2】—— 箭头函数
  • 收藏网友的 源程序下载网
  • bearychat的java client
  • HTML中设置input等文本框为不可操作
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • JavaScript-Array类型
  • Javascript编码规范
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • nfs客户端进程变D,延伸linux的lock
  • php ci框架整合银盛支付
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • SpiderData 2019年2月13日 DApp数据排行榜
  • spring boot下thymeleaf全局静态变量配置
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • SQLServer之创建数据库快照
  • Vue2.0 实现互斥
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • vue学习系列(二)vue-cli
  • 程序员该如何有效的找工作?
  • 机器学习中为什么要做归一化normalization
  • 开源地图数据可视化库——mapnik
  • 前嗅ForeSpider采集配置界面介绍
  • 为视图添加丝滑的水波纹
  • 一道面试题引发的“血案”
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • 浅谈sql中的in与not in,exists与not exists的区别
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • #include到底该写在哪
  • #pragma multi_compile #pragma shader_feature
  • #如何使用 Qt 5.6 在 Android 上启用 NFC
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (12)Linux 常见的三种进程状态
  • (k8s中)docker netty OOM问题记录
  • (LLM) 很笨
  • (创新)基于VMD-CNN-BiLSTM的电力负荷预测—代码+数据
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (十三)Maven插件解析运行机制
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介