2016-08-04 10 views
0

モデルをカメラで見ることはできますか?ここに私が試したことがあります:SceneKit:モデルを見るカメラ

// Add Character 
func addModel(name:String) 
{ 
    // Remove old model 
    self.modelNode.removeFromParentNode() 
    modelNode = SCNNode() 

    // Load COLLADA Character 
    if let myScene = SCNScene(named: "Assets.scnassets/"+name+"/"+name+".dae") 
    { 
     // Recurse through all the child nodes in the Character and add to modelNode 
     for node in myScene.rootNode.childNodes as [SCNNode] 
     { 
      modelNode.addChildNode(node) 
     } 

     // Add modelNode to scene 
     self.rootNode.addChildNode(modelNode) 
    } 
    else 
    { 
     print("Error loading character: "+name) 
    } 
} 

// Add Camera 
func addCamera() 
{ 
    // Remove old model 
    self.cameraNode.removeFromParentNode() 
    cameraNode = SCNNode() 

    // Set up a new camera 
    cameraNode.camera = SCNCamera() 

    // Set up LookAtConstraint 
    let constraint = SCNLookAtConstraint(target: modelNode) 
    cameraNode.constraints = [constraint] 

    self.rootNode.addChildNode(cameraNode) 
} 

この結果は何もありません。意味、私はモデルを見ることができません。 addCamera()を実行しないと、モデルが表示されます。しかし、私はカメラを見すぎてもモデルを見ていません。

+0

"addCamera"を呼び出した後で、ビューの視点を新しいカメラノードにリセットしますか? – Toyos

+0

いいえ、私はしません。それ、どうやったら出来るの? – Fredrik

答えて

0

代わりにSCNLookAtConstraint(target: modelNode.childNodeWithName)を使用して私のために働いた。私は、親ノードが子の制約を保持していないと仮定します。

関連する問題