2019独角兽企业重金招聘Python工程师标准>>>

1、利用 Camera.main.ScreenPointToRay 从屏幕到鼠标点击位置生成一条射线。

2、利用 Physics.Raycast 发射射线,同时判断是否碰撞到目标物体。

3、通过 RaycastHit 获取射线所碰撞到的位置。

4、在目标位置生成一个弹孔预设体。

具体代码:

using UnityEngine;public class ShootDemo : MonoBehaviour
{public GameObject holePrefab;void Update(){//按下鼠标左键if (Input.GetMouseButtonDown(0)){//返回一条从摄像机到鼠标位置的射线Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//Debug.DrawRay(ray.origin, ray.direction, Color.red); //便于调试,可以在 Scene 试图中看到一条虚拟射线。RaycastHit hitInfo;//射线投射,如果碰撞到碰撞器则将碰撞信息存储在 RaycastHit 对象中,并且返回 true。if (Physics.Raycast(ray, out hitInfo, 100F)){//在射线碰撞位置生成一个弹孔预设体GameObject tempHole = Instantiate(holePrefab, hitInfo.point, Quaternion.identity);//让弹孔与射线碰撞体的法线垂直(让弹孔总是贴在物体的每一个面的表面)tempHole.transform.LookAt(hitInfo.point - hitInfo.normal);//让弹孔与碰撞体表面保持0.01距离(避免了弹孔与碰撞体表面完全叠加从而无法完整显示)。tempHole.transform.Translate(Vector3.back * 0.01f);}}}
}
​​​​​​​

代码特别说明:

//让弹孔与射线碰撞体的法线垂直(让弹孔总是贴在物体的每一个面的表面)
tempHole.transform.LookAt(hitInfo.point - hitInfo.normal);

最终效果:

​​​​​​​​​​​​​​

转载于:https://my.oschina.net/bigxuan/blog/1833598

Unity 利用射线实现弹孔效果相关推荐

  1. unity 制作书本 翻页效果

    unity 制作书籍翻页效果 unity C# 翻书效果 2D 真实翻页 不使用插件 自制 实现思路: 将书本分为两边,一边一个翻页实现: 下图为书本的右面,以OA为分界线,△OAB是下一面的如上图的 ...

  2. Unity从零开始实现一个全息效果Shader

    Unity从零开始实现一个全息效果Shader 前言 开始捣鼓 一.准备阶段 二.先从透明效果开始 三.顶点故障效果 四.扫描线效果 五.菲尼尔反射效果 六.颗粒效果 七.颜色故障效果 CustomE ...

  3. Unity实现刮刮乐效果

    Unity实现刮刮乐效果 本文转自:http://www.manew.com/thread-113128-1-1.html,请点击链接查看原文,尊重楼主版权. 网上看过了很多刮刮乐的文章,自己参考了一 ...

  4. Unity基础射线判定以及编辑自定义模型

    Unity基础射线判定以及编辑自定义模型 Unity射线基础解析 Unity UI射线检测 射线判定生成自定义模型 代码很简单没有难度,自己看一下应该就能明白. OK 老规矩,直接上代码: Unity ...

  5. 直播笔记 | Unity中射线检测详解

    本文首发于洪流学堂微信公众号. 洪流学堂,学Unity快人几步 你好,我是郑洪智,你的技术探路者. 这周三我们直播剖析了Unity中射线检测的功能,以下是直播内容精华部分笔记. 完整录播:https: ...

  6. html怎么做成3d正方体,利用CSS3的3D效果制作正方体

    学会用CSS3的3D效果制作一个正方体,有助于增强我们对3D场景的旋转和位移属性的理解.下面的动态图就是利用3D旋转位移,结合动画效果制作的.感兴趣的同学可以在完成正方体的制作基础上,再去探究一下添加 ...

  7. 试着在unity实现阴阳师抽卡效果

    试着在unity实现阴阳师抽卡效果 之前为了社团活动(DemoDay,一个展示社团成员游戏作品的社团展会)做了一个抽奖程序.因为是硬核游戏开发社团举办的游戏展,我为此特地做了一个阴阳师的抽卡系统如下 ...

  8. unity中射线碰撞检测总结

    这阵子通过看视频,看书对unity中射线碰撞检测,有了一些了解,这里我把它总结一下写下来,希望能帮助到你们,也希望通过各位大神来指正不足之处: 射线碰撞检测,就是由某一物体发射出一道射线,射线碰撞到物 ...

  9. unity实现吸附功能的效果

    unity实现吸附功能的效果随笔 物体移动到墙体一定距离会被吸附到墙体上面 这个一定的距离根据代码 Vector3 scale = boxCol.transform.localScale+ new V ...

  10. Unity 之 ShaderGraph 实现全息效果入门级教程

    Unity 之 ShaderGraph 实现全息效果入门级教程 前言 一,效果展示 二,原理介绍 三,制作步骤 四,使用示例 五,资源分享 前言 若你的工程还没有进行基础配置,请查看我的博文Unity ...

最新文章

  1. html项目_学完html+css就可以做的前端项目实战
  2. [转]WebPack 常用功能介绍
  3. Windows Mobile 开发工具和资源
  4. Docker Machine 简介
  5. Matlab参考函数
  6. 通过调用门进行控制转移 ——《x86汇编语言:从实模式到保护模式》读书笔记29
  7. 2017 年全国大学生电子设计竞赛试题——四旋翼自主飞行器探测跟踪系统(C 题)【本科组】2
  8. android import找不到文件夹,android 音乐播放器找不到源文件
  9. 洛谷 P1400 塔
  10. 面向对象 阶段性总结
  11. 十年Smartbi项目经理:BI应用在银行业的发展历程和展望
  12. 怎么使用手机号申请邮箱,注册移动手机邮箱有哪些步骤?
  13. 什么是不简单?把每一件简单的事做好就是不简单;什么是不平凡?能把每一件平凡的事做好就是不平凡。
  14. 【小月电子】ALTERA FPGA开发板系统学习教程-LESSON9简易测试系统
  15. 3无重复字符的最长子串longest-substring-without-repeating-characters
  16. 小曾WRF自学日记(3)渐入佳境 ——WRF实例-数据下载与WPS前处理
  17. 10款开发常用的代码编辑器
  18. 数字电视标准ATSC,DVB的比较
  19. 【论文精读】Deep Rectangling for Image Stitching: A Learning Baseline
  20. 【源代码】Python制作的赛车小游戏,逆行飙车

热门文章

  1. QT3D场景的快速绘制
  2. vue中rule数据校验
  3. 利用丁香园数据生成疫情分布地图(R语言)
  4. 2012面试备忘录(夏季南京)
  5. 微信公众号申请最新流程
  6. Hadoop指令-周美婷
  7. 自控力lesson14书摘——克服‘紧张症’的法则
  8. 人工智能发展神速?37年前的尘封档案告诉你并没有
  9. Python+KinectV2——PyKinect
  10. 【CF487E】 Tourists 简易题解