//ARFace geometry update
func renderer(_ renderer: SCNSceneRenderer, didUpdate node: SCNNode, for anchor: ARAnchor) {
guard let faceAnchor = anchor as? ARFaceAnchor,
let contentController = faceAnchorAndContentControllers[faceAnchor],
let contentNode = contentController.contentNode else {
return
}
遇到同样的问题。我应该在这里改变什么?
有人可以解释一下我的错误在哪里吗?
可能是faceAnchorAndContentControllers[faceAnchor]字典没有返回可选的SCNNode,您需要按如下方式修改代码
struct Controller{
let contentNode: SCNNode?
}
var faceAnchorAndContentControllers : [ARFaceAnchor : Controller] = [:]
func renderer(_ renderer: SCNSceneRenderer, didUpdate node: SCNNode, for anchor: ARAnchor) {
guard let faceAnchor = anchor as? ARFaceAnchor,
let contentController = faceAnchorAndContentControllers[faceAnchor],
let contentNode = contentController.contentNode else {
return
}
}