[Unity学习笔记:FPS游戏制作(3)]子弹拖尾,碰撞与枪口火焰效果
往期博客[Unity学习笔记:FPS游戏制作(2)] 发射子弹————(2021.6.20学习笔记)
文章目录
- 一,实现思路
- 二,粒子效果的实现
- (1)子弹拖尾特效的实现
- (2)枪口火焰特效的实现
- (3)碎屑飞溅特效的实现
- (4)子弹碰撞爆炸波特效的实现
- (5)子弹碰撞特效的实现
- 三,子弹与物体碰撞触发粒子特效的实现
- (1)设置子弹预制体与被碰撞物体的参数
- (2)子弹碰撞物体触发特效代码的实现
- 四,最终效果
一,实现思路
使用粒子系统制作子弹拖尾特效与子弹碰撞特效,碰撞碎屑飞溅特效。在子弹生成的时候,将拖尾粒子效果置于子弹的子物体集中,保证拖尾粒子效果能跟随子弹物体一起运动,然后在子弹碰撞到物体的时候,在子弹位置生成碰撞特效与碎屑飞溅特效
二,粒子效果的实现
(1)子弹拖尾特效的实现
新建一个粒子系统对象,重命名为BulletTailE,修改参数值如下图
子弹拖尾特效实现效果如下图
(2)枪口火焰特效的实现
新建一个粒子系统对象,重命名为OpenFireP,修改参数值如下图
枪口火焰特效实现效果如下图
(3)碎屑飞溅特效的实现
新建一个粒子系统对象,重命名为ExplosionDetritus,修改参数值如下图
碎屑飞溅特效实现效果如下图
(4)子弹碰撞爆炸波特效的实现
新建一个粒子系统对象,重命名为ExplosionEffect,修改参数值如下图
子弹碰撞爆炸波特效实现效果如下图
(5)子弹碰撞特效的实现
将碎屑飞溅特效设置为爆炸波特效的子物体,使两个特效合成为子弹碰撞特效,效果如下图
三,子弹与物体碰撞触发粒子特效的实现
(1)设置子弹预制体与被碰撞物体的参数
给子弹预制体添加刚体与碰撞体组件,并将碰撞体组件的IsTrigger选项点开,然后给被碰撞物体添加碰撞体组件,详细设置如下图
(2)子弹碰撞物体触发特效代码的实现
代码如下
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class BulletScript : MonoBehaviour
{public GameObject BulletTPrefab;//子弹拖尾特效预制体public GameObject ExplosionPrefab;//子弹爆炸特效预制体void Start(){GameObject BulletTail = Instantiate(BulletTPrefab);BulletTail.transform.parent = transform;BulletTail.transform.rotation = transform.rotation;BulletTail.transform.localPosition = new Vector3(0, 0, 0);//在指定坐标生成子弹}void Update(){}private void OnTriggerEnter(Collider other)//当物体接触到另外一个刚体时触发{GameObject ExplosionEffect = Instantiate(ExplosionPrefab,transform.position,transform.rotation);Destroy(ExplosionEffect, 2);}}
把该脚本挂载于子弹预制体
四,最终效果
[Unity学习笔记:FPS游戏制作(3)]子弹拖尾,碰撞与枪口火焰效果相关推荐
- [Unity学习笔记]2D游戏中的触碰/OnMouseDown
[Unity学习笔记]2D游戏中的触碰/OnMouseDown 这种情况多用于2D游戏的触屏 1.给2D游戏对象加上collider 2D,让其能够被检测到
- UE4学习笔记(三)刀光拖尾的制作
话不多说,先放成品图 进入正题. 第一步,创建一个材质,我这里名字取的[White]. 首先你得把材质改成面板中的数值改成这样,[半透明]是因为刀光就是比较透明的,不然就会遮挡人物.[无光照],是指由 ...
- Unity中 利用Line Renderer || Trail Renderer制作飘烟拖尾
在Unity中粒子特效就可以制作飘烟拖尾,但是如果运动过快难免会有不自然的断开.虽然粒子中加入了Trail,但是我让拖尾转角圆滑比较困难(这方面还得请教特效同学).当然如果对转角没有要求,粒子还是最简 ...
- [Unity学习笔记:FPS游戏制作(2)] 发射子弹————(2021.6.20学习笔记)
往期博客 [Unity学习笔记:FPS游戏制作(1)]角色的移动,旋转与推进上升----(2021.6.13学习笔记) 文章目录 一,实现思路 二,实现代码 三,脚本的使用方法 四,最终效果 一,实现 ...
- Unity学习笔记1 简易2D横版RPG游戏制作(一)
这个教程是参考一个YouTube上面的教程做的,原作者的教程做得比较简单,我先参考着做一遍,毕竟我也只是个初学者,还没办法完全自制哈哈.不过我之前也看过一个2D平台游戏的系列教程了,以后会整合起来,做 ...
- Unity学习笔记—二次元日系游戏制作(实践篇-游戏初始化场景制作)
原教程:siki:二次元日系游戏制作工具 - live2dSDK入门教程 http://www.sikiedu.com/my/course/282 (上)Unity学习笔记-二次元日系游戏制作(理论篇 ...
- unity学习笔记2-卡牌游戏的制作
unity学习笔记2 需求:制作卡牌游戏 第一步,建立card类,carddatabase类 card类删除自带的start和update方法,因为只是个对象类,负责装载对象即可 carddataba ...
- Unity 2D 学习笔记:游戏实例Sunnyland
Unity 2D 学习笔记:游戏实例Sunnyland 01安装软件&导入素材 02编辑素材&Tilemap 03图层layer&角色建立 04角色移动 05角色方向& ...
- 【Unity】U3D TD游戏制作实例(三)相机管理器、生成敌人优化、敌人血槽小组件
文章目录 相机管理器 调整相机 敌人类优化 融合导航测试代码 敌人移动速度 销毁对象 加载敌人配置 敌人生成方式优化 血槽组件 相机管理器 调整相机 首先将主相机调整为正交镜头,这样可以防止模型畸变. ...
最新文章
- 浅析_tmain()与main()的区别
- hdu 4496 并查集 逆向 并查集删边
- 芒果TV会员,月卡最低9.9元,年卡最低128元!
- 伪共享和缓存行填充,Java并发编程还能这么优化!
- java第七章jdbc课后简答题_javaEE简答题答案
- python增加工作日列_将工作日添加到日期字段
- 如何查看linux命令源代码(转自网络)
- Sql 列转行 三种方法对比
- idea弹出Server‘s certificate is not trusted
- JavaScript 遗漏知识再整理;错误处理,类型转换以及获取当前时间、年份、月份、日期;...
- Protobuf3详细介绍
- Java —— 学生成绩分析程序Demo(附源代码)
- MIMO中预编码Precoding和波束beamforming有什么区别?
- 256K,320K及以上Nero AAC,QAAC,FAAC,MP3,OGG等主流有损音频格式横评
- 2019牛客暑期多校训练营(第八场) CDMA
- git操作生成ssh公钥
- DPU-PYNQ使用笔记
- 软件测试仿真系统,嵌入式系统软件仿真自动化黑盒测试平台
- 中秋国庆长假,SEO你在坚持吗?
- Jfinal engin 集成shiro标签支持