news 2026/5/12 12:06:09

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/5/11 23:07:49

【Agent服务迁移终极指南】:Docker多环境无缝切换的5大核心策略

第一章:Agent服务迁移的背景与挑战 随着企业级系统架构从单体向微服务演进,Agent服务作为数据采集与监控的核心组件,其部署模式和运行环境也面临重大变革。传统的物理机或虚拟机部署方式已难以满足弹性伸缩、快速迭代和统一治理的需求&#x…

作者头像 李华
网站建设 2026/5/11 8:28:07

极微小故障维修实例两例

例一:海鸥老式电风扇一台80年代生产海鸥老式电风扇,通电后不能转动。用手拨动主轴(机主为方便携带,风扇叶片没有带来),感觉主轴转动阻力很大,有卡死现象。停电,给电机主轴轴承加入润…

作者头像 李华
网站建设 2026/5/11 8:28:38

如何免费快速转换NCM音频:完整操作指南

如何免费快速转换NCM音频:完整操作指南 【免费下载链接】NCMconverter NCMconverter将ncm文件转换为mp3或者flac文件 项目地址: https://gitcode.com/gh_mirrors/nc/NCMconverter NCMconverter是一款专业的音频转换工具,能够将ncm格式音频文件快速…

作者头像 李华
网站建设 2026/5/9 1:06:49

【Symfony 8微服务架构实战指南】:掌握高并发系统设计的5大核心策略

第一章:Symfony 8微服务架构的核心演进Symfony 8 在微服务架构领域的演进标志着 PHP 生态系统向云原生和模块化设计迈出了关键一步。该版本通过深度集成现代通信协议、轻量化容器和声明式配置,显著提升了服务间协作的效率与可维护性。模块化内核设计 Sym…

作者头像 李华