SceneKit SCNAction переместится в неправильную позицию

У меня есть baseNode (SCNNode) в позиции (0, 0,4, -1); У меня есть другой SCNNode в позиции (2,-1,3); Я пытался использовать SCNAction.move(to:baseNode.position), как-то он не перемещается в baseNode, он полностью выключен, что заставляет меня задуматься, находятся ли они в одной системе координат? У них один и тот же родительский узел.

Вот мои коды

func setupBase() -> SCNNode?{
    let scene = SCNScene(named: "art.scnassets/ship.scn");
    let node = scene?.rootNode.childNode(withName: "ship", recursively: true)!

    return node
}

func addBaseNodetoScene(){
    var baseNode = setupBase();
    let nodeVector = SCNVector3(x: 0, y: 0.4, z: -1);
    baseNode?.position  = nodeVector;
    sceneView.scene.rootNode.addChildNode(baseNode!);
}

func createAnotherNode()
{ 
  var anotherNode = SCNNode();
  anotherNode.geometry = SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0);
  anotherNode.position = SCNVector3(x: 2, y: -1, z: -3);
  sceneView.scene.rootNode.addChildNode(anotherNode);
  let actionMove:SCNAction = SCNAction .move(to: cameraPosition, duration: 10);
  anotherNode.runAction(actionMove);

}

func playGame(){
  addBaseNodetoScene()
  createAnotherNode()
}

После того, как я могу играть в Game, я вижу, что два узла созданы, но второй узел не перемещается в baseNode. Есть ли что-то, что я сделал неправильно?

0 ответов

Другие вопросы по тегам