如何添加条件以区分虚线和实心方块?
How to add condition to differentiate between dashed and solid focus square?
我正在开发一款 AR 应用程序。它包括焦点方块(虚线和实心焦点),为用户提供有关 ARkit 对象跟踪状态的提示。
目前“add object(+)”即将用于虚线焦点方块。当存在虚线焦点方块时,我不想要它。它应该只为实体激活或启用
焦点广场。
谁能告诉我如何区分虚线和实心方块?
我附上图片以便更好地了解情况。
由于您实际上没有为您的 FocusSquare
添加任何代码,因此很难为您提供帮助。
但是,大胆猜测,我假设您使用的是 Apple Example Focus Square
示例...
如果是这种情况,那么如果您查看代码,您会发现在第 83 行附近有一个名为 isOpen
的 private 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
,这再次提供了另一种处理功能的方法。
我正在开发一款 AR 应用程序。它包括焦点方块(虚线和实心焦点),为用户提供有关 ARkit 对象跟踪状态的提示。
目前“add object(+)”即将用于虚线焦点方块。当存在虚线焦点方块时,我不想要它。它应该只为实体激活或启用 焦点广场。 谁能告诉我如何区分虚线和实心方块? 我附上图片以便更好地了解情况。
由于您实际上没有为您的 FocusSquare
添加任何代码,因此很难为您提供帮助。
但是,大胆猜测,我假设您使用的是 Apple Example Focus Square
示例...
如果是这种情况,那么如果您查看代码,您会发现在第 83 行附近有一个名为 isOpen
的 private 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
,这再次提供了另一种处理功能的方法。