SceneKit:观察模型的相机
SceneKit: Camera to look at model
有没有办法让相机看一个模型?这是我尝试过的:
// 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(),模型就会出现。但是我不想让相机太看模特
改用 SCNLookAtConstraint(target: modelNode.childNodeWithName)
确实对我有用。我假设父节点不包含子节点约束。
有没有办法让相机看一个模型?这是我尝试过的:
// 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(),模型就会出现。但是我不想让相机太看模特
改用 SCNLookAtConstraint(target: modelNode.childNodeWithName)
确实对我有用。我假设父节点不包含子节点约束。