Unity 子弹的射击效果
射击是FPS游戏中最重要的一环,如果实现一个简单的射击效果呢,来跟我一起学习一下吧
射击元素:
- 枪口
枪口决定了一个子弹初始时的位置和方向,可以使用一个空物体来代替,放置在射出子弹的位置, - 子弹
射击肯定需要子弹才能够完成整个射击的过程,在游戏设置时可以将子弹设为预制体
子弹:
- 子弹的几个特殊的地方,首先就是速度比较高,这个时候对于碰撞检测的方式就很重要了,要选择连续动态检测,这样才不会出现正好穿过检测间隔没有触发碰撞检测的情况(也可以使用射线检测)。然后子弹有穿透性,所以要根据实际情况勾选Is Trigger。最后保证子弹上面有刚体组件,模拟物理特性的同时,也可以使用velocity为其赋予速度
实现过程:
首先在脚本中获取枪口的位置,在该位置用Instantiate实例化一个子弹,并且方向与枪口方向保持一致
接下来要给子弹一个初速度,使其能够被射击出去。首先确保复制的子弹有刚体组件,然后通过velocity为其赋予速度:
Velocity:
- 注意使用velocity给与一个刚体速度时,速度方向使用的是世界坐标,所以在本例子中,需要将枪口的本地坐标转换为世界坐标,转换的函数为:transform.TransformDirection()
所以实现射击操作的代码为:
public Transform muzzle; //枪口public Rigidbody bullet; //子弹预制体private float speed = 800f;//子弹初速度// Update is called once per framevoid Update(){Rigidbody bulletCopy = (Rigidbody)Instantiate(bullet, muzzle.position, muzzle.rotation);bulletCopy.velocity = bulletCopy.transform.TransformDirection(Vector3.forward * speed);}
Unity 子弹的射击效果相关推荐
- Unity——子弹跟踪
Unity--子弹跟踪 在射击类游戏中,会经常遇到需要子弹自动跟踪的功能需求,考虑用简单的方法,实现一个子弹自动跟踪的效果. 重点实现逻辑功能,对于子弹的发射器的prefabs的设计不重点考虑,只使用 ...
- Ruby‘s Adventrue游戏制作笔记(十六)Unity子弹数量及其UI
Ruby's Adventrue游戏制作笔记(十六)Unity子弹数量及其UI 前言 一.创建新的UI 二.编辑脚本 三.创建获得子弹的道具 系列链接 前言 本文章是我学习Unity官方项目项目所做笔 ...
- Unity 子弹射击算法
主要参考链接中的博主 其实最为关键的就是LookAt这个方法,让子弹看向屏幕中心点检测到的位置 参考链接地址 https://assetstore.unity.com/packages/essenti ...
- Ruby‘s Adventrue游戏制作笔记(十一)Unity角色攻击——发射子弹
Ruby's Adventrue游戏制作笔记(十一)Unity角色攻击--发射子弹 前言 一.编辑子弹 二.创建脚本 三.修改玩家攻击脚本 四.将子弹拖入玩家脚本 五.让子弹碰撞到该碰撞的东西 六.编 ...
- Ruby‘s Adventrue游戏制作笔记(十四)Unity播放游戏音效
Ruby's Adventrue游戏制作笔记(十四)Unity播放游戏音效 前言 一.创建背景音乐 二.创建新的脚本 三.在其他需要播放的所有脚本中进行操作 四.给敌人添加音效 五.给玩家添加移动音效 ...
- Ruby‘s Adventrue游戏制作笔记(十二)Unity给角色添加简单的特效
Ruby's Adventrue游戏制作笔记(十二)Unity给角色添加简单的特效 前言 一.把特效物品进行切割 二.创建 particle System 三.创建彩色球 四.再设置一下其他属性 五. ...
- Ruby‘s Adventrue游戏制作笔记(十)Unity添加动画
Ruby's Adventrue游戏制作笔记(十)Unity添加动画 前言 一.给食物添加动画 二.给敌人添加动画 三.添加玩家动画 四.设置触发动画的脚本 系列链接 前言 本文章是我学习Unity官 ...
- Ruby‘s Adventrue游戏制作笔记(四)Unity绘制其他元素
Ruby's Adventrue游戏制作笔记(四)Unity绘制其他元素 前言 一.修改地图层级,将Order in Layer 提高到-10 二.创建Prefabs 三.调整人物在其他元素的位置 四 ...
- Ruby‘s Adventrue游戏制作笔记(十七)Unity添加游戏胜利条件和失败条件和导出游戏
Ruby's Adventrue游戏制作笔记(十七)Unity添加游戏胜利条件和失败条件和导出游戏 前言 一.添加两个相应的UI 二.导出游戏 系列链接 源代码和素材及游戏程序 前言 本文章是我学习U ...
最新文章
- 自定义AlertDialog布局
- 别再Prompt了!谷歌提出tuning新方法,强力释放GPT-3潜力!
- kdump需要开启吗_iPhone全新黑科技!用嘴玩手机!你会玩吗?
- 2019厦门大学信息学院人工智能/智能科学与技术系夏令营(非计算机系)
- Mysql允许root用户远程访问
- 基于Java的愤怒的小鸟游戏的设计与实现
- 4款微信公众号编辑器,哪个最好用?
- 4G工业路由器要点介绍
- CSS3动画实现牛顿摆
- RobotStudio 项目移植问题——无法创建系统
- 动态表情与超链接制作
- 笔记本计算机待机后显示器,笔记本电脑休眠后一直黑屏怎么回事_笔记本休眠后屏幕一直黑屏无法唤醒如何解决-win7之家...
- aws没有免费套餐服务数据可用
- Centos 安装zlib
- 利用python爆破mysql数据库
- Excel如何快速预览查看图片?
- mysql 安时间查询格式_安装MySQL慢查询日志工具Anemometer
- 微型计算机课设电梯控制8255,东南大学吴健雄学微机课程设计电梯控制器.doc
- 利用Visio转换成pdf图形时的注意事项
- ARMA 时间序列模型
热门文章
- LINUX系统子系统DEMON,【linux】led子系统
- 计算机进入休眠状态后,电脑进入休眠状态后自动重启怎么办
- 【NI Multisim 14.0编辑环境——菜单栏】
- 苹果cms模板_苹果cmsv10对seo友好模板有哪些?
- 使用java.io.File操作文件及文件夹
- Nowa Flutter开发教程之 02 添加图像 和 添加自定义字体 (无代码开发教程)
- 电脑屏幕分辨率怎么调?电脑屏幕修改分辨率SwitchResX
- 基于python的城市旅游数据采集分析系统
- 报表模板哪里有?在线报表系统可以下载
- 浅谈霍尔电流传感器在数据中心直流列头柜里的运用