如何添加条件以区分虚线和实心方块?

How to add condition to differentiate between dashed and solid focus square?

我正在开发一款 AR 应用程序。它包括焦点方块(虚线和实心焦点),为用户提供有关 ARkit 对象跟踪状态的提示。

目前“add object(+)”即将用于虚线焦点方块。当存在虚线焦点方块时,我不想要它。它应该只为实体激活或启用 焦点广场。 谁能告诉我如何区分虚线和实心方块? 我附上图片以便更好地了解情况。

由于您实际上没有为您的 FocusSquare 添加任何代码,因此很难为您提供帮助。

但是,大胆猜测,我假设您使用的是 Apple Example Focus Square 示例...

如果是这种情况,那么如果您查看代码,您会发现在第 83 行附近有一个名为 isOpenprivate var

private var isOpen = false

如果将其更改为 public var

public var isOpen = false

您可以 运行 检查 ARSCNViewDelegateMethod 中的 updateAtTime 回调,例如:

 func renderer(_ renderer: SCNSceneRenderer, updateAtTime time: TimeInterval) {

        if focusSquare.isOpen{

            print("Focus Square Is Open")

        }else{

            print("Focus Square Is Closed")
        }

}

随心所欲地处理。

这是一个简单的修复方法,但我建议您以此为基础来制定更可靠的解决方案。

希望这能为您指明正确的方向...

此外,当 FocusSquare 关闭时,意味着检测到 plane,这再次提供了另一种处理功能的方法。