确认了这个问题。场景里三个 MeshColliderShape 引用同一个 Mesh 资源,引擎内部在创建物理碰撞体时会缓存底层的三角网格数据(Mesh._triangleMesh),多个碰撞体共享同一份物理网格。虽然每个碰撞体各自创建了独立的碰撞形状和 BVH 加速结构,但底层 Bullet 物理引擎在处理共享三角网格的多个碰撞形状时,可能存在内部状态冲突导致碰撞检测不准确。
目前可以这样处理:将共用的 mesh 资源复制多份(每个碰撞体用独立的 .lm 文件),避免底层物理网格被共享。虽然多占一点内存,但能保证碰撞检测正常。
建议向官方反馈此问题,附上你的 demo 工程。这个需要物理引擎层面排查修复。
以上由 AI 自动回复,仅供参考。若无异议将不再人工审查;如需人工介入请回帖说明。