【发布时间】:2018-02-23 22:44:25
【问题描述】:
完全依赖ARKit 自动平面检测是我不想做的事情,因为检测表面需要时间,然后现实生活中的表面应该有足够的纹理,因此我需要考虑一些东西来提供一个选项如果我愿意,我应该可以通过点击按钮随意添加锚点。
这就是renderer(nodeFor: ) 派上用场的地方。只需点击按钮添加锚点,使用hitTest 确定锚点的位置,然后使用nodeFor: 方法添加节点。
但是,在我不想手动点击按钮的其他情况下,renderer(didAdd: ) 应该可以工作。我制作了一个 sharedObject,通过它我可以确定平面检测是需要“automated”还是“manual”。如果它是自动的,planeDetection 将设置为.horizontal,而如果它是手动的,planeDetection 将设置为[]。
问题在于测试似乎委托下的两种方法中的任何一种都可以工作。 有没有一种方法可以实现我的愿望?有一个开关,我可以使用它来切换我想要自动检测平面还是想要添加锚点然后添加平面。我很想有两种选择。
是否可以使用两个不同的委托来实现它,只是一个想法......在那种情况下它会如何工作。指针将不胜感激。
【问题讨论】: