删除iOS对象的触摸手势(旋转/平移)

时间:2020-11-03 23:10:53

标签: ios swiftui augmented-reality arkit realitykit

摘要:添加AR对象后要删除其触摸手势吗?

AR查看代码(仅相关位)。 其中arObject是具有网格,材质和碰撞形状的模型实体。

func updateUIView(_ uiView: ARView, context: Context) {
  arObject = CreateCustomModelEntity()
  uiView.installGestures([.translation, .rotation], for: arObject)
}

以上内容可能会向我的arObject添加触摸手势,并允许其在锚定平面上旋转和移动。

但是,我想在添加触摸手势后将其删除。

用户流:

用户将单击一个模型,将其移动到所需位置,然后触摸“确认”按钮。触摸确认按钮后,arObject将无法再移动。

看一下Apple文档,有一个installGestures,但没有等效的removeGestures。这有可能吗?

一些想法,

  1. 完全删除锚点并重新创建它(但是对象的位置丢失了,所以很糟糕)
  2. 使用一个未安装触摸手势的新子对象覆盖现有的子ar对象。我相信这会保留对象的位置,但是除非没有其他解决方案,否则重复创建ar对象是不理想的。
  3. 使用安装手势创建一个临时对象,然后在确认放置后用新的arObject(无触摸手势)覆盖它。类似于2.解决方案。

0 个答案:

没有答案