【发布时间】:2022-05-20 21:33:59
【问题描述】:
我正在尝试使用 RealityKit 创建 AR 体验,但我发现默认情况下,实体会在用户交互移动时相互移动并重叠。
我想防止对象重叠并相互进入,这样当它们被用户移动时,它们只是撞击/反弹而不会重叠。
我正在从 RealityComposer 文件中加载实体并将它们添加到场景中(在 catch 块中,其他未在此简化版本中显示):
let entity = try Experience.loadBallSort()
anchorEntity.addChild(entity)
// anchorEntity is an AnchorEntity that is already attached to the scene
我正在使用像这样的默认手势来启用用户交互,这就是导致对象重叠的方式,因为它们一旦触摸就不会停止:
arView.installGestures([.rotation, .translation], for: entity)
在 Reality Composer 中,我启用了具有静态运动类型的物理,以及每个对象的默认物理材质/碰撞形状。我也尝试过使用generateCollisionShapes,但它不会改变碰撞的行为:
entity.generateCollisionShapes(recursive: true)
如何防止实体在 RealityKit 中重叠?
【问题讨论】:
-
嗨!你有想过这个吗?我一直在尝试做完全相同的事情,而且我已经用完了文档/示例来尝试... :)
-
您好,您找到解决方案了吗?谢谢!
标签: swift augmented-reality arkit realitykit reality-composer