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

Unity3D开发之OnCollisionXXX触发条件

A和B碰撞触发OnCollision函数条件如下:

1.A和B都要有collider。(子物体有也可以)

2.A和B至少有一个刚体(Rigidbody)组件,且刚体的isKinematic为false。如果为true不会触发。

3.挂载脚本的物体必须有刚体,没有刚体不会触发。

应用场景:传送带和货物之间且检测货物是否在传送带上。尤其是复杂的顶升移栽机,有链式传送带和辊道组成。实现方式:是获取顶升移栽机下的所有rd组件,并附上碰撞检测脚本,

  DeviceOccupiedState deviceOccupiedState;public void Regist(DeviceOccupiedState deviceOccupiedState){this.deviceOccupiedState = deviceOccupiedState;}public void OnCollisionEnter(Collision collision){if (collision.collider.CompareTag(ConstVariable.MaterialTag)){deviceOccupiedState.OnCollisionEnter();}}public void OnCollisionExit(Collision collision){if (collision.collider.CompareTag(ConstVariable.MaterialTag)){deviceOccupiedState.OnCollisionExit();}}

如上:把子物体的碰撞发送到设备总管理中,这样就可以获取到货物是否在顶升移栽机上了。

http://www.lryc.cn/news/427221.html

相关文章:

  • spfa()算法(求最短路)
  • 聊聊国产数据库的生态系统建设
  • JDK源码解析:LinkedList
  • drawio的问题
  • 零基础学习Redis(3) -- Redis常用命令
  • 响应式Web设计:纯HTML和CSS的实现技巧-1
  • FrereRTOS事件组
  • 【经典算法】BFS_最短路问题
  • 【题目/训练】:双指针
  • LLVM - 编译器后端-指令选择
  • ES+FileBeat+Kibana日志采集搭建体验
  • Dockerfile常用指令详解
  • 【vue】浏览器兼容相关
  • 【区块链+金融服务】基于区块链的区域股权金融综合服务平台 | FISCO BCOS应用案例
  • string字符串和json对象相互转换问题
  • 【生成式人工智能-十一一个不修改模型就能加速语言模型生成的方法】
  • Rust 错误处理
  • 程序与进程 linux系统
  • 使用MongoDB构建AI:Story Tools Studio将生成式AI引入Myth Maker AI游戏
  • 鸿蒙UIAbility组件概述(二)
  • Oracle(70)如何优化SQL查询?
  • 深度剖析:Jenkins构建任务无法中断的原因及解决方案
  • 【YOLO】常用脚本
  • Springboot IOC DI理解及实现+JUnit的引入+参数配置
  • CeresPCL 最小二乘插值(曲线拟合)
  • 【TCP/IP】自定义应用层协议,常见端口号
  • Frida 的下载和安装
  • 后端开发刷题 | 链表内指定区间反转【链表篇】
  • 【NVMe系列-提问页与文章总结页面】
  • 用生成器函数生成表单各字段