news 2026/8/27 10:56:58

Unity学习笔记(十三)碰撞检测

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Unity学习笔记(十三)碰撞检测

碰撞和触发响应函数 属于特殊的生命周期函数 也是通过反射调用

物理碰撞检响应函数

接触时触发 自动执行这个函数

private void OnCollisionEnter(Collision collision) { print(this.name + "被" + collision.gameObject.name + "碰撞"); }

碰撞到的对象碰撞器的信息

collision.collider

碰撞对象的依附对象

collision.gameObject

碰撞对象的依附对象的位置信息

collision.transform

触碰点数相关

collision.contactCount

接触点 具体的坐标

ContactPoint[] pos =collision.contacts;

只要得到了碰撞到的对象 任意一个信息 就可以得到它的所有信息

碰撞结束分离时,会自动执行函数

private void OnCollisionExit(Collision collision) { //碰撞结束分离时,会自动执行函数 }

两个物体相互接触摩擦时,会不停调用改函数

private void OnCollisionStay(Collision collision) { //两个物体相互接触摩擦时,会不停调用改函数 }

触发器检测响应函数

和上面的类似 ,一个 是Collision ,一个是Collider

触发开始的函数,当第一次接触时,会自动调用一次

private void OnTriggerEnter(Collider other) {}

触发结束的函数 调用一次

private void OnTriggerExit(Collider other) { //触发结束的函数 调用一次 }

当相互接触时触发

private void OnTriggerStay(Collider other) { //当相互接触时触发 }

明确什么时候会触发响应函数

1. 只要挂载的对象能和别的物体产生碰撞或触发,那么对应的6个函数 就能被响应。
2. 如果一个异形物体,刚体在父对象上,子对象上挂脚本检测碰撞是不行的 必须挂载到这个刚体父对象上才行
3. 物理碰撞和触发器响应的区别

物理碰撞 (Physics Collision)

  • 物理模拟:会计算真实的物理效果,包括反弹、摩擦、动量传递等

  • 阻挡效果:物体会相互阻挡,不能穿透

  • 性能消耗:较高,因为需要计算复杂的物理交互

  • 典型应用:墙壁、地板、障碍物等需要真实物理交互的物体

触发器响应 (Trigger Response)

  • 无物理效果:不会产生实际的物理阻挡,物体可以相互穿透

  • 仅事件检测:只检测物体之间的接触,触发相应的事件

  • 性能消耗:较低,仅进行碰撞检测而不计算物理响应

  • 典型应用:收集物品、区域检测、陷阱区域等

碰撞和触发器函数都可以写成虚函数 在子类去重写逻辑

一般会把想要重写的 碰撞和触发函数 写成保护类型的,没有必要写成public

因为不会自己手动调用 都是反射帮助我们自动调用的

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/27 6:06:56

Universal x86 Tuning Utility:从入门到精通的性能调优艺术

Universal x86 Tuning Utility:从入门到精通的性能调优艺术 【免费下载链接】Universal-x86-Tuning-Utility Unlock the full potential of your Intel/AMD based device. 项目地址: https://gitcode.com/gh_mirrors/un/Universal-x86-Tuning-Utility 在硬件…

作者头像 李华
网站建设 2026/8/25 8:26:47

多机构联合授牌“妈妈幸福工程”特别支持单位 299万公益学习资源将惠泽万名母亲

(央链直播 北京讯)2025年11月27日,中国移动通信联合会人工智能与元宇宙产业工作委员会、中国通信工业协会区块链专业委员会、中国移动通信联合会数字文化和智慧教育分会、中国移动通信联合会可信资产与数链金融专业委员会等四家机构及物链芯工…

作者头像 李华
网站建设 2026/8/24 17:23:43

VSCode 下 Q# 与 Python 混合编程(量子+经典双引擎模式大揭秘)

第一章:VSCode Q# 与 Python 的混合开发 在量子计算快速发展的背景下,Q# 作为微软专为量子算法设计的编程语言,正逐步与经典计算语言融合。通过 Visual Studio Code(VSCode)集成开发环境,开发者可以实现 Q#…

作者头像 李华
网站建设 2026/8/25 21:52:03

5 轴行架两工位码垛机项目大揭秘

5轴行架两工位码垛机项目 两轴同步/自动计算坐标 IT7100EH5U-1614MT-A8SV630N伺服X轴*2,Y轴,Z轴,R轴(物品标签朝向一边,通过R轴调整) 功能要点 1:托盘一层最多16件,单层摆放顺序客户…

作者头像 李华
网站建设 2026/8/26 6:49:35

【仅限早期采用者】Unity 2025中C# 12与DOTS协同优化的4个黑科技

第一章:Unity 2025中C# 12与DOTS协同优化的演进背景随着游戏和实时3D应用对性能要求的不断提升,Unity在2025版本中进一步深化了C#语言与底层架构的融合。此次更新引入了C# 12语言特性,并将其与Data-Oriented Technology Stack(DOT…

作者头像 李华