关于OnCollisionStay();的调用

unity碰撞检测的几种函数 OnCollisionExit(Collision collision):这个函数用于检测两个物体之间的碰撞事件结束,当两个物体之间的碰撞结束时被调用。OnTriggerStay(Collider other):这个函数用于检测一个物体是否持续停留在另一个物体的触发器范围内,当一个物体持续停留在另一个物体的触发器内时被调用。OnTriggerExit(Collider other):这个函数用于检测一个物体是否离开了另一个物体的触发器范围内,当一个物体离开另一个物体的触发器时被调用。 阅读详情

昨天询问了知乎的大佬们,再结合自己的尝试。

OnCollisionStay();
是在①两者之间处在碰撞状态下,②两者之间有相对移动的情况下才触发。

该脚本用于检测 进入、保持和退出状态。

	void OnCollisionEnter(Collision coll)
	{
			Debug.Log ("Enter " + coll.gameObject.name);
	}

	void OnCollisionExit(Collision coll)
	{
			Debug.Log ("Exit " + coll.gameObject.name);		
	}

	void OnCollisionStay(Collision coll)
	{
			Debug.Log ("Stay " + coll.gameObject.name);				
	}

在这里插入图片描述
当门外这个物体掉到地板时,发生了碰撞事件,并且两者发生了多次相对运动。所以调用了多次OnCollisionStay 。到最后静止两者没有了相对运动,但是还处在碰撞状态,所以OnCollisionExit 没有调用。

深入了解Unity的Physics类:一份详细的技术指南(七)(上篇) Unity的Physics类是Unity物理系统的核心,提供了一套用于处理和控制物理模拟的API。这个类提供了用于控制物理系统的全局属性和方法,以及检测和施加力到游戏对象,处理碰撞和触发器事件等。为了让开发者都能更好理解这个Physics类,它的属性都狠详细解释,导致篇章过长,故拆分来讲解。 阅读详情

相关推荐

超越基础教程:用Unity的OnTriggerStay和OnCollisionStay打造高级游戏机制(附性能优化技巧)

本文深入探讨了Unity中`OnTriggerStay`和`OnCollisionStay`函数的高级应用,帮助开发者实现持续交互游戏机制如环境伤害和物理摩擦模拟。文章详细解析了帧级检测的底层逻辑,并提供了性能优化技巧,包括对象过滤、缓存组件和时间分片等策略,确保复杂交互场景下的流畅运行。

weixin_26841957的博客 201

【Unity】图解 碰撞检测函数,一看就懂!(OnCollisionEnter、OnCollisionStay、OnCollisionExit、OnTriggerEnter......)

1.物理碰撞检测响应函数 2.触发器检测响应函数 3.要明确什么时候会响应函数 4.碰撞和触发器函数都可以写成虚函数,在子类中被重写

我的博客 5368

从‘碰不到’到‘丝滑互动’:手把手调试CocosCreator碰撞回调的三大高频坑(附脚本示例)

本文深入解析CocosCreator碰撞回调的三大常见问题:碰撞分组设置、碰撞体偏移及回调函数时序,提供详细的调试方法和脚本示例。通过实际案例演示如何避免‘碰不到’的尴尬,实现精准的碰撞检测与互动,帮助开发者快速解决游戏开发中的碰撞难题。

weixin_29011993的博客 96

(025)Unity3d OnCollisionStay判定问题

1

WGYHAPPY的博客 890

一文读懂 MAVLink、PPM、SBUS:无人机通信协议的工作原理与适用场景

本文系统对比无人机领域三大核心通信协议:MAVLink作为全链路数据协议,支持飞控与地面站的双向通信,适合航拍测绘等专业场景;SBUS是数字化的高效控制协议,具备16通道、抗干扰特性,成为中高端设备标配;PPM作为传统模拟协议,成本低廉但性能有限,适合入门级应用。文章深入解析各协议的工作原理、帧结构、适用场景及调试技巧,指出MAVLink侧重状态监控、SBUS/PPM专注控制指令的互补关系,并给出新手选型建议:入门选PPM,进阶用SBUS,开发必备M

bother3000的博客 7121

ESP32连接PDM麦克风操作指南:新手入门必看

手把手教你如何将ESP32与PDM麦克风连接,采集音频数据并用于音频分类应用。内容涵盖硬件接线、代码配置及实际调试技巧,适合初学者快速上手esp32在声音识别场景中的使用。

weixin_42590539的博客 1329

Unity物理交互进阶:OnTriggerStay与OnCollisionStay性能优化实战

在Unity游戏开发中,物理交互是构建沉浸式体验的核心技术之一。其原理基于物理引擎的碰撞检测系统,通过回调函数处理游戏对象间的接触事件。这一机制的技术价值在于能够实现从简单的触发检测到复杂的持续性交互,为游戏玩法设计提供了广阔空间。常见的应用场景包括角色与环境互动、技能效果区域、机关解谜等。本文聚焦于OnTriggerStay和OnCollisionStay这两个关键方法,深入探讨如何利用它们构建高级游戏机制,如动态环境交互系统和持续充能系统,并针对移动端性能优化提供实战策略。通过优化碰撞矩阵、精简代码逻辑

weixin_34101229的博客 367

ENSP内使用wireshark进行抓包,并且解析icmp报文

前四位:54 89 98 e8 20 38 为ip报文包的mac地址也就是物理地址。一开始进行抓包是没有icmp报文的,需要我们在ensp中使用pc1请求联通pc9。协议编号后分别为:ip版本、ip首部报文长度、服务类型、ip报文总长度。最后为校验和 、源ip地址、目的ip、从08 00开始为真正的数据。我们需要实验的端口为:0/0/4,也就是抓包第三个交换机内的报文。其中显示的icmp报文就是我们需要解析的ip报文。源mac地址后跟着的就是协议编号: 08 00。根据ip报文包的结构我们进行解析。

2301_81713278的博客 2138

Unity中OnCollisionStay2D的使用

官方文档是这样解释的: 简单点说就是,这个在碰撞(触发)的过程中,每一帧都会调用。 有时候,为了某些标志位或者variable的稳定,建议在此方法中赋值,避免某些值的丢失。 比如: 我做一个碰撞检测,有时候因为某些原因(比如丢帧)会造成碰撞检测失败,因此,为了避免此问题,把关键的标志位和变量在此处赋值。 (我自己的一个案例就是这样,player跳跃动作有时候无法跳动,把检测的标志位,

haliluya123a的博客 2002

YOLOv11改进 | 集成FEM、FFM与SCAM即插即用模块:特征增强、融合与空间上下文建模新范式

FEM解决特征表达不足问题,增强关键特征响应FFM优化多尺度融合,提升小目标检测精度SCAM建模空间上下文,改善目标交互预测在保持YOLOv11实时性优势的同时,实现mAP+8.1%的显著提升,特别在复杂光照、密集目标、交互预测场景表现突出。其模块化设计使开发者可根据需求灵活组合,为各种复杂场景提供定制化解决方案。未来,随着跨模态扩展与神经架构搜索的深入,YOLOv11-FSC将进一步推动目标检测技术向更智能、更高效的方向发展。

走向CTO的路上... 988

matlab 质心重合法实现点云配准【2026最新版】

质心重合法是将源点云和目标点云的质心重合,以此缩小两点云集之间的平移误差,从而为下一步粗配准提供更好的初始位置姿态。

点云侠的博客 509

c#Invoke调用失败的原因

c#Invoke调用失败的原因

nikooooooooooooo的博客 1268

Unity 3D游戏开发 - U3D入门 | 刚体碰撞事件监测与处理

碰撞事件简介 碰撞事件 当一个用刚体控制的物体与另一个物体碰撞时,就会触发碰撞事件。 目标物体必须带有 Collider 组件。 碰撞事件监测方法 OnCollisionEnter(Collision) 碰撞开始时调用,只调用一次。 OnCollisionExit(Collision) 碰撞结束时调用,只调用一次。 OnCollisionStay(Collisio...

weixin_41232641的博客 596

17、激光切割焦点位置和入射角对切割质量的影响研究

本研究通过响应面方法(RSM)结合Box-Behnken设计,系统分析了激光功率、切割速度和气体压力对SS 304不锈钢激光切割质量的影响,重点探讨了三种不同喷嘴在不同聚焦条件下的切缝比和条纹深度变化规律。实验结果表明,激光功率、切割速度和气体压力对切割质量具有显著影响,且不同喷嘴因焦点位置差异表现出不同的响应趋势。通过回归建模与优化,确定了最小激光功率、适中切割速度和最大气体压力为最优参数组合,可实现最小切缝比和较优条纹深度。研究为实际激光切割工艺提供了科学的参数选择依据和操作流程建议,有效提升了切割精度

mm9012的博客 123

RK3588 部署 YOLOv5s 实战:多线程加速从 16FPS 飙升到 120FPS(含性能优化)

因为RK3588包含了3个NPU核心,支持3个核心同时工作、双核合作、以及单核工作。我们可以使用线程池来加速。线程池是一种长街的并发编程模型,它用于管理和复用线程,以提高多线程程序的性能和效率。线程池通常包含以下主要组件:1、任务队列:任务队列用于存储待执行的任务。这些任务可以是函数、方法或其他需要多线程环境中执行的操作。2、线程池管理:线程池管理器负责创建、销毁和管理线程。它会监视任务队列中的任务,根据需要创建线程,执行任务,并在任务完成后将线程放回池中以供重用。

FJN110的博客 99

cocoscreator 第十六章 碰撞检测系统

碰撞检测系统   1: creator有碰撞检测系统 +物理碰撞系统,这个是两个独立的模块; 2: 给creator的游戏世界中的物体来进行分组,指定节点的分组与分组的碰撞矩阵; 3: 代码中获取节点的分组和分组索引: group与groupIndex; 4:  为每个节点添加碰撞检测区域-->碰撞器(物体形状), 编辑碰撞区域; 5:  代码开启碰撞检测系统(默认是关闭碰撞检测...

qq_18643343的博客 888

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Unity Collider 组件 以及 鼠标点击调用事件

Collider组件 场景物体的鼠标事件 鼠标事件 中文说明 OnMouseDown 鼠标在Collider之上,按下鼠标,该事件即被触发 OnMouseDrag 鼠标在Collider之上,当鼠标拖动时被触发 OnMouseEnter 移动鼠标进入Collider区域的时候该事件被触发 OnMouseExit 移动鼠标移出Collider区域的时候该事件被触发 OnMouseOver 鼠标处于Collider之上时,每帧都会调

qq_39231744的博客 2836

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Unity 物理系统进阶:碰撞事件OnCollisionEnter/Exit/Stay详解

Unity碰撞事件详解:OnCollisionEnter/Exit/Stay 本文深入解析Unity物理系统中的碰撞事件机制,重点介绍OnCollisionEnter、OnCollisionStay和OnCollisionExit三个关键函数: 核心要点: 碰撞事件触发条件:需要双方物体都有Collider组件,至少一方有Rigidbody组件 三个核心函数: OnCollisionEnter:碰撞开始时触发一次 OnCollisionStay:碰撞持续时每帧触发 OnCollisionExit:碰撞结束时

输出倒逼输入,写作驱动成长。 3532

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

碰撞检测(2D&&3D)

共同点: 发生碰撞的两个物体应满足的条件: NO1:两物体都应该有碰撞体 NO2:其中一个带刚体; NO3:检测触发信息的脚本需绑定在带刚体的物体上 不同点: 2D碰撞检测加2D碰撞体和2D刚体; 3D碰撞检测加3D碰撞体和3D刚体; 3D碰撞检测: 1.MonoBehaviour.OnCollisionEnter( Collision collisionInfo ) ...

aoxieju7994的博客 251

【Unity3D】实现横版2D游戏——单向平台(简易版)

项目Demo直接使用免费资源:Hero Knight - Pixel Art (Asset Store搜索)打开Demo场景,进行如下修改,注意Tag是自定义标签SingleDirCollider对HeroKnight增加如下脚本:核心思路:利用Physics2D.IgnoreCollision(碰撞器1,碰撞器2,[true])忽略或恢复传入的2个碰撞器之间的碰撞。

两水先木示的博客 1082

cocos-creater-碰撞系统

碰撞系统主要用来检测物体之间的碰撞,然后以回调函数的形式给出。 有下面三个回调函数,分别会在刚刚发生碰撞,持续碰撞,碰撞结束调用: 刚刚发生碰撞 /** * 当碰撞产生的时候调用 * @param {Collider} other 产生碰撞的另一个碰撞组件 * @param {Collider} self 产生碰撞的自身的碰撞组件 */ onCollisionEnter: function (other, self) { console.log('on collision enter'

大碗宽面的博客 665

Unity 3D & 2D(碰撞器Collision和触发器Trigger)

碰撞事件 碰撞产生的条件 两物都有Collider 至少有一个带有RigidBody 回调方法 OnCollisionEnter(Collision other) 碰撞开始一瞬间时调用一次 OnCollisionStay(Collision other) 碰撞过程中相对运动时持续调用,...

qq_24977805的博客 5228

Unity碰撞检测中OnTriggerXXX和OnCollisionXXX的功能注解

OnTriggerEnter或OnCollisionEnter方法会在A刚开始接触B时被调用,且在A、B分离前只被调用一次。 OnTriggerStay或OnCollisionStay方法会在A和B保持接触状态时被调用,且在A、B分离前每帧都会被调用。 OnTriggerExit或OnCollisionExit方法会在A、B刚分离时被调用,且只被调用一次。 ...

41814169的博客 840
上一篇: C#的进阶
下一篇: Unity3D 2018 3.0新手入门
486L
博客等级 码龄7年 20粉丝 117原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值