当前位置: 首页 > news >正文

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

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

http://www.jsqmd.com/news/73744/

相关文章:

  • Wan2.2-T2V-A14B如何控制镜头焦距变化带来的透视变形
  • 终极指南:一键重置JetBrains IDE试用期的完整解决方案
  • Wan2.2-T2V-A14B在航天任务动画演示中的高精度要求满足情况
  • How to draw uml or user-case
  • 智谱AI重磅发布GLM-4.1V-Thinking:90亿参数多模态推理大模型,性能越级挑战GPT-4o
  • How to draw mind map
  • 【案例共创】基于开发者空间通过FRS实现考勤系统人脸匹配功能
  • 亲测!编程培训小红书运营实践经验
  • AI 自动生成报表
  • 多机构联合授牌“妈妈幸福工程”特别支持单位 299万公益学习资源将惠泽万名母亲
  • C++课后习题训练记录Day48
  • How to found rss
  • 5步搞定Unity游戏翻译:XUnity Auto Translator新手完全指南
  • 电子工程师必修课:一文读懂 MOS 管的工作原理与应用
  • 为什么你的生存分析结果不显著?——R语言建模常见错误与修正方案
  • 学生信息管理系统——C/S架构
  • 还在手动找视频台词?用Dify实现自动帧提取与关键词检索
  • 如何利用场追迹控制衍射的包含
  • 【Agent服务迁移终极指南】:Docker多环境无缝切换的5大核心策略
  • 利用Debye-Wolf积分对理想矢量聚焦情况的研究
  • 微服务架构下的全方位测试策略
  • Universal x86 Tuning Utility:从入门到精通的性能调优艺术
  • 假设你负责的业务系统,流量突增 ,比如QPS暴增100倍,要怎么处理?
  • 【苍穹外卖-day12】
  • python中pandas库的使用(超详细)
  • Typora代码块痛点
  • How to diff everything
  • 腾讯混元突破性提出Direct-Align技术:颠覆扩散模型偏好对齐范式,实现分钟级高效训练
  • Wan2.2-T2V-A14B如何避免生成内容出现闪烁现象
  • 百度ERNIE 4.5大模型技术深度解析:多模态架构革新与效率突破