首先找个弹孔贴图制作子弹Prefab,注意弹孔的朝向应该指向自身坐标系的Z轴

    void Shoot(){// 找到摄像机的位置(第一人称摄像机)Transform t_spawn = transform.Find("Camera/NormalCamera");Debug.Log(t_spawn.localPosition);// 如果击中目标,RaycastHit t_hit返回击中目标的位置(世界坐标系下)RaycastHit t_hit = new RaycastHit();if(Physics.Raycast(t_spawn.position, t_spawn.forward, out t_hit, 1000f, canbeShot)){// 弹孔产生位置应该在:被击中目标位置的、沿着表面法线向上一小段距离的位置GameObject t_bulletHole = Instantiate(bulletholePrefab, t_hit.point + t_hit.normal * 0.001f, Quaternion.identity) as GameObject;t_bulletHole.transform.LookAt(t_hit.point + t_hit.normal);Destroy(t_bulletHole, 5f);}}

射线是在三维世界中从一个点沿一个方向发射的一条无限长的线。在射线的轨迹上,一旦与添加了碰撞器的模型发生碰撞,将停止发射。我们可以利用射线实现子弹击中目标的检测,鼠标点击拾取物体等功能。

保证弹孔LookAt(t_hit.point + t_hit.normal),即朝向沿表面单位法线距离的那个点。
5s钟后销毁该弹孔

Unity3D FPS游戏之子弹贴图相关推荐

  1. Unity3D | FPS游戏_人物相关

    这次报名参加了训练营,初次尝试Unity3D的游戏开发,很庆幸的是有老师很详细的指导,拖了一些时间,也总算完成了.依照惯例,继续来写总结,同时这次几乎上学到的都是新知识,在不熟悉的前提下,还比较复杂散 ...

  2. Unity3d FPS游戏之武器切换

    U3D武器系统切枪 多种武器切换教程 多种武器切换教程 我们要通过鼠标来实现切枪效果,我们要有几种思路: 1.通过值来索引对应武器数组下标的值,然后生成,在切换武器的时候,先销毁当前的武器,在生成新武 ...

  3. 2021年中国FPS游戏市场趋势报告、技术动态创新及2027年市场预测

    FPS游戏市场的企业竞争态势 该报告涉及的主要国际市场参与者有Electronic Arts.Ubisoft.CAPCOM.Deep Silver.Techland.Tencent (Riot Gam ...

  4. Unity3D引擎入门搭建一个FPS游戏Demo

    目录 一.unity3d简介(平台,应用范围,经典游戏) 二.界面,基础操作(界面,创建场景,灯光系统,摄像机,组件,脚本语言) 1.界面 2.基本操作 三.demo制作(坐标系统,视角控制,移动,碰 ...

  5. Unity3D FPS Game:第一人称射击游戏(二)

    耗时一周制作的第一人称射击游戏,希望能帮助到大家! 由于代码较多,分为三篇展示,感兴趣的朋友们可以点击查看! Unity3D FPS Game:第一人称射击游戏(一) Unity3D FPS Game ...

  6. 项目实训(十三)——FPS游戏射击反馈震屏及UI子弹数量

    一.前言 本篇博客记录的内容为上篇的延续,将介绍完成的射击反馈震屏及UI子弹数量等工作内容.这里实现的是开枪以后抖动屏幕的效果以及子弹数在游戏界面的UI显示. 至此,FPS游戏的单机开发部分就已经大致 ...

  7. Unity3D FPS Game:第一人称射击游戏(一)

    耗时一周制作的第一人称射击游戏,希望能帮助到大家! 由于代码较多,分为三篇展示,感兴趣的朋友们可以点击查看! Unity3D FPS Game:第一人称射击游戏(一) Unity3D FPS Game ...

  8. Unity3D FPS Game:第一人称射击游戏(三)

    耗时一周制作的第一人称射击游戏,希望能帮助到大家! 由于代码较多,分为三篇展示,感兴趣的朋友们可以点击查看! Unity3D FPS Game:第一人称射击游戏(一) Unity3D FPS Game ...

  9. [Unity学习笔记:FPS游戏制作(3)]子弹拖尾,碰撞与枪口火焰效果

    往期博客[Unity学习笔记:FPS游戏制作(2)] 发射子弹----(2021.6.20学习笔记) 文章目录 一,实现思路 二,粒子效果的实现 (1)子弹拖尾特效的实现 (2)枪口火焰特效的实现 ( ...

  10. [Unity学习笔记:FPS游戏制作(2)] 发射子弹————(2021.6.20学习笔记)

    往期博客 [Unity学习笔记:FPS游戏制作(1)]角色的移动,旋转与推进上升----(2021.6.13学习笔记) 文章目录 一,实现思路 二,实现代码 三,脚本的使用方法 四,最终效果 一,实现 ...

最新文章

  1. android 按钮链接,如何连接到Android中的Power按钮?
  2. C#委托与事件学习笔记
  3. 为什么即使在班级均衡的情况下,准确度仍然令人困扰
  4. [html] 渐进式渲染是什么?
  5. phpcmsV9中的CSS_PATH是如何定义的
  6. 中间滑动 头部底部固定_固定抗震成品支座功能特点及作用
  7. 计算机视觉实战(十三)停车场车位识别(附完整代码)
  8. [R语言绘图]气泡图symbols
  9. linux安装gcc-4.9,centos7.2编译安装gcc-4.9.2
  10. Android中设置位移动画的停止
  11. netlogon启动后停止_优雅停止 SpringBoot 服务,拒绝 kill 9 暴力停止!
  12. 总结:IDEA如何解析wsdl文件为Java源代码
  13. Bypassing Stack Cookies, SafeSeh, SEHOP, HW DEP and ASLR
  14. MySQL学习笔记(6)
  15. 神经网络模拟化学反应?道翰天琼认知智能机器人平台API接口大脑为您揭秘。
  16. html取消select下拉,jquery取消选择select下拉框
  17. $.closest()
  18. Loj #6069. 「2017 山东一轮集训 Day4」塔
  19. 日常使用计算机出现的小问题(一)win10操作系统设备和驱动器栏目中出现空白图标该如何删除?删除一次刷新又重新出现
  20. 安卓模拟器配置全局代理

热门文章

  1. python画狗的代码_简单的Python代码能狗实现哪些丧心病狂的功能
  2. 诡辩:认知与智商税!外附送签名版国庆福利
  3. 英语3500词(20/20)dream主题(2022.4.30)
  4. 黑马程序员前端JavaScript高级——ES6学习笔记
  5. 编译小程序,开发者工具打开报错Cannot read property ‘createTextNode‘ of undefined或iphone机型无法预览
  6. 高级语言是如何运行的——语言的运行方式
  7. Vue2项目使用mars3d
  8. 【百度大脑新品体验】车牌识别
  9. 2011年6个微博营销趋势
  10. HTML系列之水平线标签hr