【unity实战】实现实体子弹射击

文章目录

  • 射击脚本
  • 新增子弹预制体
  • 子弹挂载脚本,实现触碰销毁
  • 子弹添加拖尾效果
  • 完结

射击脚本

public class Weapon : MonoBehaviour
{public GameObject bulletPrefab; // 子弹预制体public Transform bulletSpawn; // 子弹生成位置public float bulletVelocity = 30f; // 子弹速度public float bulletPrefabLifeTime = 3f; // 子弹存在时间void Update(){// 按下鼠标左键if (Input.GetKeyDown(KeyCode.Mouse0)){FireWeapon(); // 开火}}private void FireWeapon(){// 实例化子弹GameObject bullet = Instantiate(bulletPrefab, bulletSpawn.position, Quaternion.identity);// 发射子弹bullet.GetComponent<Rigidbody>().AddForce(bulletSpawn.forward.normalized * bulletVelocity, ForceMode.Impulse);// 一段时间后销毁子弹StartCoroutine(DestroyBulletAfterTime(bullet, bulletPrefabLifeTime));}private IEnumerator DestroyBulletAfterTime(GameObject bullet, float delay){yield return new WaitForSeconds(delay);Destroy(bullet);}
}

新增子弹预制体

如果没有子弹模型,可以新建一个胶囊体缩小尺寸代替
在这里插入图片描述

子弹挂载脚本,实现触碰销毁

public class Bullet : MonoBehaviour
{private void OnCollisionEnter(Collision collision){if (collision.gameObject.CompareTag("Target")){// 打中目标并输出信息print("Hit " + collision.gameObject.name + "!");// 销毁目标物体Destroy(collision.gameObject);}}
}

子弹添加拖尾效果

在这里插入图片描述
新增拖尾材质Particles/Standard Unlit,配置参数

在这里插入图片描述
绑定材质
在这里插入图片描述

完结

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,以便我第一时间收到反馈,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!

好了,我是向宇,https://xiangyu.blog.csdn.net

一位在小公司默默奋斗的开发者,出于兴趣爱好,最近开始自学unity,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!php是工作,unity是生活!如果你遇到任何问题,也欢迎你评论私信找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~

在这里插入图片描述

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

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

相关文章

重构改善既有代码的设计-学习(三):重新组织数据

1、拆分变量&#xff08;Split Variable&#xff09; 有些变量用于保存一段冗长代码的运算结果&#xff0c;以便稍后使用。这种变量应该只被赋值一次。 如果它们被赋值超过一次&#xff0c;就意味它们在函数中承担了一个以上的责任。如果变量承担多个责任&#xff0c;它就应该被…

Docker容器化运行Oracle 19c数据库

产品化项目实施过程中会遇到多个私有化环境&#xff0c;并且会有独立的数据库实例&#xff0c;通常数据库实例之间存在个性化差异&#xff0c;对于在本地调试应对多个实例的情况一般可以通过PDB解决&#xff0c;对于部署一些临时环境需要的数据库相对来说使用容器化会方便一些&…

mac 修改flutter sdk配置

问题描述&#xff1a;我mac电脑上有高低2个版本的flutter sdk&#xff0c;我需要低版本sdk的项目在setting里设置了sdk版本&#xff0c;可是命令行还是提示我版本过高。 直接上解决办法&#xff1a; 打开mac终端&#xff0c;输入open -e .bash_profile&#xff0c;然后修改下…

每日OJ题_算法_二分查找①_力扣704. 二分查找

目录 二分查找算法原理 力扣704. 二分查找 解析代码 二分查找算法原理 二分查找一种效率较高的查找方法。已经有严谨的数学证明其时间复杂度是O&#xff08;logN&#xff09;&#xff0c;如果在全国14亿人口中找一个人&#xff0c;那么只需查找31次&#xff0c;但是&#xf…

docker指定sock

docker -H unix:///tmp/docker.sock ps

【Java】SpringMVC参数接收(二):JSON、URI、文件

1、获取JSON参数 RequestMapping("/hello") RestController public class HelloSpring {RequestMapping("/t10")public String t10(RequestBody UserInfo userInfo){return userInfo.toString();} } 2、获取URI中的参数 &#xff08;1&#xff09;获取单…

手机耗电快怎么办?最全解析分享!

在现代社会&#xff0c;手机已经成为我们日常生活的重要伙伴&#xff0c;承载着通讯、娱乐、工作等多种功能。然而&#xff0c;随着手机功能的不断升级和使用频率的增加&#xff0c;许多人都曾经面临过一个普遍的问题&#xff1a;手机电池消耗过快。这不仅令人感到困扰&#xf…

B2B企业增长合集:10个案例4大策略深度解析

本文5300余字&#xff0c;静心阅读需要15分钟&#xff0c;建议收藏后再阅读。 现代管理学大师彼得德鲁克曾说&#xff1a;“不增长&#xff0c;一切都是成本。” 现实中的增长乏力和生存压力&#xff0c;迫使众多企业不得不寻求新的增长模式和增长渠道。 然而&#xff0c;增…

android基础知识补漏

接下来开始android java基础梳理 我是先整理android基础知识呢 还是java 相关的泛化&#xff0c;反射&#xff0c;依赖注入等基础点的功能梳理呢。 一 java基础知识相关 泛型&#xff0c;反射&#xff0c;依赖注入。这些都是当前代码里经常用到的&#xff0c;但目前我用的总感…

体育赛事编排管理系统设计与实现 -计算机毕业设计源码59094

目 录 摘要 1 绪论 1.1研究背景与意义 1.2研究内容 1.3springboot框架介绍 1.4论文结构与章节安排 2 体育赛事编排管理系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非…

基本语法和 package 与 jar

3.基本语法 1.输入输出 // 导入 java.util 包中的 Scanner 类 import java.util.Scanner;// 定义名为 ScannerExample 的公共类 public class ScannerExample {// 主方法&#xff0c;程序的入口点public static void main(String[] args) {// 创建 Scanner 对象&#xff0c;用…

VMware虚拟机安装优麒麟(ubuntukylin)操作系统

1.镜像下载 官网:https://www.ubuntukylin.com/ 优麒麟官网提供的宣传视频:https://www.ubuntukylin.com/upload/video/202204/1650594049260581.mp4官网提供的视频后续随着版本的更新,此视频可能失效,去官网查看最新的即可,这不是重点 1.1搜索出优麒麟官网,下载镜像 下载…

Flutter中实现中国省份地图

效果展示(这里只展示局部&#xff0c;完全展示违规)&#xff1a; 可以点击省份改变颜色&#xff0c;更多功能可以自行拓展。 注&#xff1a;非完整中国地图&#xff01;&#xff01;&#xff01; 本文用于记录在Flutter项目中安卓端实现中国地图&#xff0c;因为实现过程是通过…

微软 AD 介绍 | 安全建议 | 防护

介绍&#xff1a; 什么是Active Directory&#xff08;AD&#xff09;&#xff1f; Active Directory 是由 微软开发的目录服务&#xff0c;用于存储和管理网络中的资源&#xff0c;如计算机、用户、组和其他网络对象。允许组织管理员轻松地管理和验证网络中的用户和计算机。 …

【C++】stack、queue的使用及模拟实现

目录 一、stack1.1 stack的使用1.2 stack的模拟实现 二、queue2.1 queue的使用2.2 queue的模拟实现 一、stack 1.1 stack的使用 stack是一种容器适配器&#xff0c;它的特点是后进先出&#xff0c;只能在容器的一端进行插入和删除操作。 stack的使用很简单&#xff0c;主要有…

openssl3.2/test/certs - 040 - EC cert with named curve signed by named curve ca

文章目录 openssl3.2/test/certs - 040 - EC cert with named curve signed by named curve ca概述笔记END openssl3.2/test/certs - 040 - EC cert with named curve signed by named curve ca 概述 openssl3.2 - 官方demo学习 - test - certs 笔记 /*! * \file D:\my_dev…

数列分段 Section II

题目描述 给定一个长度为N的正整数数列 A 1 ∼ N A_{1\sim N} A1∼N​&#xff0c;现要将其分成M&#xff08; M ≤ N M\leq N M≤N&#xff09;段&#xff0c;并要求每段连续&#xff0c;且每段和的最大值最小。最大值最小的定义如下&#xff1a;例如一个数列 4 2 4 5 1 4\…

【知识---GitHub不允许上传大于100M文件该如何解决】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言步骤 1: 安装 Git LFS步骤 2: 在 Git 项目中启用 LFS步骤 3: 创建并编辑 .gitattributes 文件步骤 4: 提交并推送到远程仓库步骤 5: 将大文件添加到仓库步骤 6:…

卫星影像离线瓦片如何调用?

我们曾为你分享了按区县购买卫星影像并在线调用的方法。 于是就有朋友问&#xff0c;卫星影像瓦片可以离线调用吗&#xff1f; 当然可以&#xff0c;这里就来分享一下卫星影像瓦片离线调用的方法。 卫星影像离线瓦片如何调用&#xff1f; 这里以OpenLayers、Mapbox和Cesiu…

java实现ftp协议远程网络下载文件

引言 在开发过程中&#xff0c;偶尔会遇到网络文件在FTP服务上存储着&#xff0c;对于这种情况想要下载到本地还有些麻烦&#xff0c;我们直接上世界上最简单的代码。 How to do 1.提前引入包 <!--hutool万能工具包--><dependency><groupId>cn.hutool<…