【Unity每日一记】Physics.Raycast 相关_Unity中的“X光射线”

👨💻个人主页:@元宇宙-秩沅
👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
👨💻 本文由 秩沅 原创
👨💻 收录于专栏:unity每日一记
⭐🅰️推荐文章⭐
⭐【软件设计师高频考点暴击】
⭐【Unityc#专题篇】之c#系统化大礼包】
⭐【unity数据持久化】数据管理类_PlayerPrfs
⭐【unity本站最全系列】unity常用API大全一篇文章足以

⭐⭐
文章目录
- ⭐🅰️推荐文章⭐
- ⭐⭐
- 🎶(==O==)Ray射线检测
- 射线声明
- Physics.Raycast<font color=red > 普通射线
- RaycastHit <font color=red >物体信息类
- Physics.RaycastAll <font color=red > 得到多个物体信息
- Physics.RaycastNonAlloc <font color=red >返回的碰撞的数量
- ⭐🅰️系统路线学习点击跳转⭐
🎶(O)Ray射线检测
-
特点
只需要判断一条线和物体的碰撞情况
可以在指定点发射一个指定方向的射线
判断该射线与哪些碰撞器相交,得到对应对象
瞬时 -
应用场景
1.鼠标选择场景上一物体
2.FPS射击游戏(无弹道-不产生实际的子弹对象进行移动)等
射线声明
API
- Ray X = new Ray(Vector3.right, Vector3.forward);
| 参数一 | 参数二 |
|---|---|
| 起点 | 方向 |
| X.origin | X.direction |
- Ray XX = Camera.main.ScreenPointToRay(Input.mousePosition);
屏幕视口坐标转成射线——鼠标点击的地方变成射线
Physics.Raycast 普通射线
- Physics.Raycast 无法检测碰到了谁,只会检测碰到了没有
最多有16个重载
| Physics.Raycast常用参数 | 作用 |
|---|---|
| 参数一 | 射线 |
| 参数二 | 检测的最大距离 超出这个距离不检测 |
| 参数三 | 检测指定层级(不填检测所有层) |
| 参数四 | 是否忽略触发器 UseGlobal-使用全局设置 Collide-检测触发器 Ignore-忽略触发器 不填使用UseGlobal |
| 返回值 | bool 当碰撞到对象时 返回 true 没有 返回false |
//第一种写法
Physics.Raycast(XX, 1000,
1 << LayerMask.NameToLayer("层级名字"),
QueryTriggerInteraction.UseGlobal )//第二种写法
Physics.Raycast(Vector3.right, Vector3.forward,
1 << LayerMask.NameToLayer("层级名字"),
QueryTriggerInteraction.UseGlobal )
RaycastHit 物体信息类
- RaycastHit 物体信息类——得到相交的单个物体物理信息

| RaycastHit 在Physics.Raycast的应用 | 作用 |
|---|---|
| 参数一 | 射线 |
| 参数二 | out RaycastHit 为什么是out ?RaycastHit是结构体 是值类型 out加上去就变成了引用类型,而RaycastHit没有复制所以不用ref |
| 参数三 | 检测的最大距离 超出这个距离不检测 |
| 参数四 | 检测指定层级(不填检测所有层) |
| 参数五 | 是否忽略触发器 UseGlobal-使用全局设置 Collide-检测触发器 Ignore-忽略触发器 不填使用UseGlobal |
| 返回值 | bool 当碰撞到对象时 返回 true 没有 返回false |
//写法一RaycastHit YY; if( Physics.Raycast(XX, out YY, 1000, 1<<LayerMask.NameToLayer("层级名字"), QueryTriggerInteraction.UseGlobal) )//写法二
if( Physics.Raycast(Vector3.right, Vector3.forward, out YY, 1000,1<<LayerMask.NameToLayer("层级名字"), QueryTriggerInteraction.UseGlobal) )
- 碰撞到物体的名字 YY.collider.gameObject.name;
- 碰撞到的点 YY.point
- 法线信息 YY.normal
- 碰撞到对象的位置 YY.transform.position
- 碰撞到对象 离自己的距离 YY.distance等等
Physics.RaycastAll 得到多个物体信息
- RaycastHit[] XX= Physics.RaycastAll——得到相交的多个物体物理信息

特点: 先碰到的在数组的后面
Physics.RaycastNonAlloc 返回的碰撞的数量
- Physics.RaycastNonAlloc——返回的碰撞的数量 通过out得到数据
if((r3, XX, 1000, 1 << LayerMask.NameToLayer("Monster"), QueryTriggerInteraction.UseGlobal) > 0 ){}
⭐🅰️系统路线学习点击跳转⭐
⭐【Unityc#专题篇】之c#进阶篇】
⭐【Unityc#专题篇】之c#核心篇】
⭐【Unityc#专题篇】之c#基础篇】
⭐【Unity-c#专题篇】之c#入门篇】
⭐【Unityc#专题篇】—进阶章题单实践练习
⭐【Unityc#专题篇】—基础章题单实践练习
⭐【Unityc#专题篇】—核心章题单实践练习
你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!、

相关文章:
【Unity每日一记】Physics.Raycast 相关_Unity中的“X光射线”
👨💻个人主页:元宇宙-秩沅 👨💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨💻 本文由 秩沅 原创 👨💻 收录于专栏:uni…...
软件报错msvcr90.dll丢失的解决方法,亲测可以修复
我曾经遇到过一个令人头疼的问题:msvcr90.dll丢失。这个问题导致了我的程序无法正常运行,让我感到非常苦恼。然而,在经过一番努力后,我终于成功地修复了这个问题,这让我感到非常欣慰和满足。 msvcr90.dll丢失的原因可能…...
第一百一十八回 如何获取蓝牙连接状态
文章目录 知识回顾实现方法示例代码我们在上一章回中介绍了如何连接蓝牙设备相关的内容,本章回中将介绍如何获取蓝牙连接状态.闲话休提,让我们一起Talk Flutter吧。 知识回顾 我们在上一章回中介绍如何连接蓝牙设备,但是如何知道蓝牙设备是否连接成功呢?这就需要我们去获取…...
C++11并发与多线程笔记(12) windows临界区、其他各种mutex互斥量
C11并发与多线程笔记(12) windows临界区、其他各种mutex互斥量 1、windows临界区2、自动析构技术3、递归独占互斥量 std::recursive_mutex4、带超时的互斥量 std::timed_mutex 和 std::recursive_timed_mutex4.1 std::timed_mutex:是带超时的…...
[MAUI]在.NET MAUI中实现可拖拽排序列表
文章目录 创建可拖放控件创建绑定服务类拖拽(Drag)拖拽悬停,经过(DragOver)释放(Drop) 创建页面元素最终效果项目地址 .NET MAUI 中提供了拖放(drag-drop)手势识别器,允许用户通过拖…...
Linux 内核内存管理 pfn_to_online_page宏
文章目录 一、Memory Hotplug1.1 简介1.2 热插拔事件通知机制 二、pfn_to_online_page2.1 pfn_to_online_page2.2 pfn_to_section_nr2.3 online_section_nr 参考资料 一、Memory Hotplug 1.1 简介 Linux 内存热插拔(Memory Hotplug)是指在运行时动态增…...
『C语言初阶』第八章 -结构体
前言 今天小羊又来给铁汁们分享关于C语言的结构体,在C语言中,结构体类型属于一种构造类型(其他的构造类型还有:数组类型,联合类型),今天我们主要简单了解一下结构体。 一、结构体是什么&#x…...
chatgpt汇编,两个关于chatgpt的问题
1.用C写一个高级的可自主学习的AI语言模型 编写一个高级的可自主学习的AI语言模型是一个复杂且庞大的工程,需要深入的专业知识和大量的时间精力。下面是一个简化的示例,演示如何使用C实现一个基本的可自主学习的AI语言模型。 首先,你需要定…...
ps丢失d3dcompiler_47.dll怎么办,启动无反应,分享三个解决方法
d3dcompiler_47.dll64位是windows系统中重要的dll文件,缺少了它可能会引起部分软件或者游戏不能运行。 如果系统出现“找不到d3dcompiler_47.dll”或“d3dcompiler_47.dll丢失”等错误信息,那么我们就该着手修复它。 先带了解一下d3dcompiler_47.dll是什…...
第三章nginx详解
nginx:高性能,轻量级的web服务软件。 特点: 1,稳定性高。(没有apache稳定) 2,系统资源消耗地较低。(处理http请求的并发能力非常高,单台物理服务器可以处理30000-5000…...
【二叉树前沿篇】树
【二叉树前沿篇】树 1 树的概念2. 树的相关概念3. 树的表示4. 树在实际中的运用(表示文件系统的目录树结构) 1 树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是…...
python3 0基础学习----数据结构(基础+练习)
python 0基础学习笔记之数据结构 📚 几种常见数据结构列表 (List)1. 定义2. 实例:3. 列表中常用方法.append(要添加内容) 向列表末尾添加数据.extend(列表) 将可迭代对象逐个添加到列表中.insert(索引,插入内容) 向指定…...
计算机科学中的“旅行商问题”
题目:旅行商问题(Traveling Salesman Problem) 当初为何收藏:我收藏了这个题目是因为它是一个经典而富有挑战性的组合优化问题,涉及到计算机科学、算法设计和实际应用领域。我认为这个问题可以展示出算法设计的重要性…...
QT:自定义控件(Connect使用,子控件连接)
自定义控件封装: 1.添加新文件(设计师界面类),创建子页面 ,放自己想要的控件 2.在主页面中使用子控件 :新建一个widget- ISO21434 组织网络安全管理(二) ISO21434 项目网络安全管理(三) ISO21434 分布式网络安全(四) SO21434 持续进行的网络安全(五) ISO21434 概念阶段网络安全(六)...
Visual Studio 如何放大代码字体的大小
1.打开Visual Studio,新建一个程序,一段代码,为接下去的操作做好准备。单击菜单栏的【工具】选项。 2.在跳出来菜单中找到【选项】(一般在最后一项),然后单击。跳出新的窗口。 3.跳出新的窗口后ÿ…...
Verilog同步FIFO设计
同步FIFO(synchronous)的写时钟和读时钟为同一个时钟,FIFO内部所有逻辑都是同步逻辑,常常用于交互数据缓冲。 异步FIFO:数据写入FIFO的时钟和数据读出FIFO的时钟是异步的(asynchronous) 典型同步FIFO有三部分组成: (1࿰…...
Php“牵手”lazada商品详情页数据采集方法,lazadaAPI接口申请指南
lazada详情接口 API 是开放平台提供的一种 API 接口,它可以帮助开发者获取商品的详细信息,包括商品的标题、描述、图片等信息。在电商平台的开发中,详情接口API是非常常用的 API,因此本文将详细介绍详情接口 API 的使用。 一、la…...
Sentinel 规则持久化
文章目录 Sentinel 规则持久化一、修改order-service服务1.引入依赖2.配置nacos地址 第二步修改非常麻烦,可以略过,直接使用已经打好包的来使用二、修改sentinel-dashboard源码1. 解压2. 修改nacos依赖3. 添加nacos支持4. 修改nacos地址5. 配置nacos数据…...
元宇宙时代超高清视音频技术白皮书关于流媒体协议和媒体传输解读
流媒体协议 元宇宙业务场景对流媒体传输的实时性和互动性提出了更高的要求,这就需要在传统的 RTMP、SRT、 HLS 等基础上增加实时互动的支持。实时互动,指在远程条件下沟通、协作,可随时随地接入、实时地传递虚实融合的多维信息,身…...
SDMatte效果可视化对比:传统U-Net抠图 vs SDMatte+,玻璃反光/薄纱透光细节放大评测
SDMatte效果可视化对比:传统U-Net抠图 vs SDMatte,玻璃反光/薄纱透光细节放大评测 1. 评测背景与目标 在电商设计、影视后期和平面制作领域,高质量图像抠图一直是刚需。传统U-Net架构虽然能完成基础的主体分离,但在处理玻璃器皿…...
5个高效管理技巧:用Ice实现macOS菜单栏清爽体验
5个高效管理技巧:用Ice实现macOS菜单栏清爽体验 【免费下载链接】Ice Powerful menu bar manager for macOS 项目地址: https://gitcode.com/GitHub_Trending/ice/Ice macOS菜单栏作为日常操作的核心区域,常常因应用图标过多而变得杂乱无章&#…...
IDC行业专家交流纪要
Q:字节 2026 年 IDC 招标的总需求、国内需求、当前招标进度分别是怎样的?此次招标呈现出怎样的特点,背后又有哪些原因?A:字节跳动 2026 年 IDC 招标整体规划总需求约 1.8GW,剔除海外需求削减的部分后&#…...
【2026唯一认证流式部署标准】:FastAPI 2.0 + Uvicorn 24.8 + ASGI 4.0协同流控协议详解(含OpenTelemetry追踪模板)
第一章:FastAPI 2.0 异步 AI 流式响应的范式演进与2026标准定位FastAPI 2.0 将原生支持全链路异步流式响应(StreamingResponse)与 Server-Sent Events(SSE)语义融合,标志着 AI 应用后端从“请求-响应”单次…...
【图灵完备(Turing Complete)】五、从逻辑门到LEG:指令集与条件跳转的构建
1. 从逻辑门到处理器:LEG架构的诞生之路 记得我第一次用面包板搭建简单逻辑电路时,连个LED灯闪烁都要折腾半天。而现在我们要做的,是把这些基础逻辑门像乐高积木一样拼接成真正的处理器核心。LEG架构的设计初衷就是要解决原始图灵机指令宽度受…...
保姆级教程:STM32F103开发第一步,搞定Keil5安装、激活与芯片包(附资源包)
STM32F103开发环境搭建全指南:从Keil5安装到芯片包配置 引言:为什么选择Keil MDK进行STM32开发 对于刚接触STM32微控制器的新手来说,开发环境搭建往往是第一个"拦路虎"。Keil MDK(Microcontroller Development Kit&…...
别再重复积分了!手把手教你用IMU预积分优化LIO-SAM(附代码避坑点)
激光SLAM实战:IMU预积分在LIO-SAM中的高效实现与调优指南 当你在深夜调试LIO-SAM时,是否曾被重复积分导致的性能瓶颈折磨得抓狂?IMU预积分技术正是解决这一痛点的银弹。不同于传统惯性积分对初始状态的强依赖,预积分将相对运动量…...
告别TeamViewer!用RustDesk自建服务器实现跨平台远程控制(Windows/Ubuntu客户端全配置)
告别商业远程控制软件:用RustDesk自建服务器全流程指南 远程控制软件已经成为现代工作场景中不可或缺的工具,无论是技术支持、远程办公还是跨设备协作,一个稳定高效的远程连接方案都能极大提升工作效率。然而,商业软件如TeamViewe…...
春节不用愁对联:春联生成模型实战,3步生成专属春联
春节不用愁对联:春联生成模型实战,3步生成专属春联 1. 传统年味遇上AI科技 每到春节,家家户户贴春联是延续千年的传统习俗。一副好春联既要对仗工整,又要寓意吉祥,还要符合自家特色,这让不少人为之头疼。…...
Pixel Mind Decoder 本地开发环境搭建:使用PyCharm进行调试与开发
Pixel Mind Decoder 本地开发环境搭建:使用PyCharm进行调试与开发 1. 准备工作与环境配置 在开始使用PyCharm进行Pixel Mind Decoder的开发之前,我们需要先完成一些基础准备工作。这部分内容将帮助你快速搭建起开发环境,为后续的调试和开发…...
