ARKit
所以我ARAnchors
在一个ARImageTrackingConfiguration()
. 我正在使用ARAnchor
具有不同颜色背景的多个版本。我希望能够获得ARAnchor
被识别的背景颜色(因为如果我将它们全部注册,因为ARAnchors
即使它们具有不同的背景也会混合它们)。我想这样做的方法是获取ARAnchor
2D 空间中的位置,然后像这样获取帧内像素的颜色。
问题是我找不到ARAnchor
在 2D 空间中获取 ' 位置的方法。我正在使用如下设置。如果您知道如何翻译坐标或更好的方法,请告诉我。
func renderer(_ renderer: SCNSceneRenderer, nodeFor anchor: ARAnchor) -> SCNNode? {
let node = SCNNode()
if let imageAnchor = anchor as? ARImageAnchor {
if (anchor.name == "EXAMPLE MARKER") {
let plane = SCNPlane(width: imageAnchor.referenceImage.physicalSize.width, height: imageAnchor.referenceImage.physicalSize.height)
plane.firstMaterial?.diffuse.contents = UIImage(named: "EXAMPLE")
let planeNode = SCNNode(geometry: plane)
planeNode.eulerAngles.x = -.pi / 2
node.addChildNode(planeNode)
// HOW TO CONVERT ANY OF THESE COORDINATE SYSTEMS TO GRECT? CGPOINT?
}
}
return node
}
我试图获得如下位置,但它总是显示为全零
print(anchor.accessibilityFrame)
print(imageAnchor.accessibilityFrame)
print(node.frame)
print(node.boundingBox.max,node.boundingBox.min)
结果
(0.0, 0.0, 0.0, 0.0)
(0.0, 0.0, 0.0, 0.0)
(0.0, 0.0, 0.0, 0.0)
SCNVector3(x: 0.0, y: 0.0, z: 0.0) SCNVector3(x: 0.0, y: 0.0, z: 0.0)