Je déclare mon appareil photo comme celui-ci à INIT:SceneKit a frappé erreur de test tout en passant devant la caméra
defaultCameraNode.camera = SCNCamera()
defaultCameraNode.position = SCNVector3Make(0, 200, 500)
defaultCameraNode.camera?.zFar = 1000.0
defaultCameraNode.camera?.zNear = 10.0
defaultCameraNode.camera?.xFov = 30.0
defaultCameraNode.camera?.yFov = 30.0
scene.rootNode.addChildNode(defaultCameraNode)
sceneView.pointOfView = defaultCameraNode
defaultCameraNode.constraints = [SCNLookAtConstraint(target: rootNode)]
Après cela, dans un bloc de tapGesture je fais un test de recherche:
let hitResults = sceneView.hitTest(sender.locationInView(sceneView), options: nil)
Ce retourne ce que je veux , a eu le noeud. Après ajouter un nouvel appareil photo et de changer le point de vue de la scène
var cameraNode = SCNNode()
cameraNode.name = "cameraNode"
cameraNode.position = SCNVector3Make(position.x, position.y + 50.0, position.z + Float(radius * 3))
cameraNode.rotation = SCNVector4Make(1, 0, 0, -atan2f(20.0, 40.0))
var camera = SCNCamera()
camera.zNear = 0.0
camera.zFar = 1000.0
camera.xFov = 40.0
camera.yFov = 40.0
cameraNode.camera = camera
node.addChildNode(cameraNode)
SCNTransaction.begin()
SCNTransaction.setAnimationDuration(animationDuration)
sceneView.pointOfView = cameraNode
SCNTransaction.commit()
Lorsque la position de la caméra change le même test de coup je avant retourne un tableau 0 longueur et a cette erreur sur la console:
SceneKit: error, error in _C3DUnProjectPoints
Quelqu'un peut-il m'aider à résoudre ce problème? merci
Je l'ai corrigé dans le post, c'était une autre fonction, qui a changé la position de la caméra, mais c'est le même nœud. –