问题:
如何创建与ARObjectAnchor.referenceObject的高度和宽度相同的新SKSpriteNode。
上下文:
我目前正在摆弄ARKit的新对象检测功能,并具有检测我扫描到的对象的工作代码。当ARKit检测到该对象时,它将提供ARObjectAnchor类型的新ARAnchor。
我知道ARSCNView提供了projectPoint方法,但是找不到ARSKView的任何等效功能。如何将ARObjectAnchor尺寸映射到新的Sprite?
这是我处理检测到的对象的方式:
func view(_ view: ARSKView, didAdd node: SKNode, for anchor: ARAnchor) {
if let objectAnchor = anchor as? ARObjectAnchor {
let width = objectAnchor.referenceObject.extent.x
let height = objectAnchor.referenceObject.extent.y
// How to translate above height/width to the below size?
let box = SKSpriteNode(color: .white, size: ???)
node.addChild(box)
}
}
答案 0 :(得分:0)
...
let size = CGSize(width: width, height: height)
let box = SKSpriteNode(color: .white, size: size)
...
答案 1 :(得分:0)
当我在图像识别应用程序中向我的SCNPlane中添加一个SKScene时,我做一个SCNPlane大小的* 10000(不要问我为什么不知道它是10000),如下所示
let toto = SCNNode(geometry: SCNPlane(width: 0.3, height: 0.1))
let sk = SKScene(size: CGSize(width: 3000, height: 1000))
对我来说,它的大小是相同的,请尝试一下并告诉我它是否适合您!