SuperAPI AI 工具集

physics-3d-collision

编程与开发

查看项目

更新于 10-16 03:19

技能介绍

用途

physics-3d-collision 是一个面向 Unity 3D PhysX(MonoBehaviour 体系)的碰撞与触发器问题诊断技能。当出现 OnCollisionEnter / OnTriggerEnter 不触发、物体相互穿透、射线检测未命中,或其他物理回调异常时,可调用该技能获得诊断与修复建议。

主要能力

技能以“快速路径(Fast-Path)”为核心,先扫描用户描述,命中即直接给出结论,不再进行额外排查。覆盖的典型症状包括:

  • 两个运动学触发器(Kinematic Trigger)之间不触发 OnTriggerEnter:技能明确指出该组合是有效的,会触发回调,并给出按顺序检查项(Layer Collision Matrix、脚本位置、方法签名、移动方式)。
  • 布娃娃(Ragdoll)在第一帧无外力却爆炸:原因为碰撞体重叠导致单帧去穿透速度尖峰,修复方式是缩小碰撞体使其在初始姿态不重叠,并可用 Physics Debugger 确认。
  • CharacterController 上 OnCollisionEnter 不触发:应改用 OnControllerColliderHit。
  • 物体静止后 AddForce 失效:原因为 Rigidbody 进入睡眠,修复为调用 WakeUp() 或施加超过睡眠阈值的力。
  • 所有物理冻结但射线仍可用:原因为 Time.timeScale = 0,恢复为 1f。
  • 射线起点位于目标碰撞体内部、目标为未激活对象或禁用碰撞体、射线忽略触发器、IgnoreLayerCollision 跨场景残留等射线相关问题。

对于未命中快速路径的情况,技能提供分节检查清单:碰撞回调检查(Rigidbody 规则、交互矩阵、Layer Collision Matrix、isTrigger 不匹配、碰撞体启用与激活、脚本位置、MeshCollider 规则、非均匀缩放、子级 Rigidbody 破坏复合体、穿透)、触发器回调检查、射线检测检查、构建与编辑器差异、Physics.SyncTransforms、接触偏移间隙等。

使用方式

该技能通过 Unity Agent Plugin 调用,属于技能(Skill)形式。调用后技能会优先匹配快速路径;若未命中,则按症状路由到对应检查清单,并在最多 5 次工具调用内给出最可能的诊断与修复。技能要求每次调用必须以面向用户的答案结束,不得以询问是否继续等方式收尾。

适用场景

适用于使用 Unity 3D PhysX 与 MonoBehaviour 的项目中排查碰撞、触发器、射线检测相关问题。对于 2D 物理(Rigidbody2D、Physics2D 等)和 DOTS / Unity Physics 包(PhysicsCollider、ICollisionEventsJob、Unity.Physics 等),技能提供尽力而为的简要回答,并声明超出其主要范围。

限制

  • 主要范围是 3D PhysX 的 MonoBehaviour 体系,2D 物理与 DOTS / Unity Physics 仅为尽力而为的补充。
  • 技能强调不获取外部文档、不运行 Physics.Simulate() 验证、不建议移除 Rigidbody 或改变架构。
  • 关于收费、价格、平台支持等具体信息,资料中暂未提供。