Я точно следовал этому: https://developer.apple.com/documentation/scenekit/animation/animating_scenekit_content
У меня есть SCNNode на другом SCNNode с геометрией лица пользователя.
SCNNode, который включен лицо SCNNode, я бы хотел, чтобы движение было анимированным. Я вызываю эту функцию, которая находится в подклассе SCNNode, который я хочу анимировать. Свойство, которое он принимает, - это местоположение на лице. Эта функция вообще не работает:
func move(to vertex: SCNVector3) {
let animation = CABasicAnimation(keyPath: "move")
animation.fromValue = SCNVector3(self.position.x, self.position.y, self.position.z)
animation.toValue = vertex
animation.duration = 3.0
self.addAnimation(animation, forKey: "move")
}
Эта функция прекрасно работает:
func move(to vertex: SCNVector3) {
self.position.x = vertex.x
self.position.y = vertex.y
self.position.z = vertex.z
}
Вызов функции для обеих функций:
move(to: SCNVector3(anchor.geometry.vertices[Node.oldVertexPos].x, anchor.geometry.vertices[Node.oldVertexPos].y, anchor.geometry.vertices[Node.oldVertexPos].z))