[英]SceneKit, Zoom camera to fit node
嗨,我有一個非常簡單的場景,其中包含3個節點:
放置STL時,它非常小,因此用戶必須將相機縮放很多。 我想做的是以編程方式將攝像機縮放到合適的STL節點,但不確定如何。
到目前為止,這是我所擁有的:
stlNode = .... // Custom node
lightNode = scene?.rootNode.childNode(withName: "omni", recursively: true)
cameraNode = scene?.rootNode.childNode(withName: "camera", recursively: true)
cameraNode.constraints = [SCNLookAtConstraint(target: stlNode)]
// Zoom to fit the stlNode here.
scene?.rootNode.addChildNode(stlNode)
您可以嘗試創建cameraClass,然后添加zoomIn(),zoomOut()函數,以便進行調整。 您還可以將節點擴大一點,看看是否有幫助。
var cameraEye = SCNNode()
var cameraFocus = SCNNode()
...
init()
{
cameraEye.name = "Camera Eye"
cameraFocus.name = "Camera Focus"
cameraFocus.isHidden = true
cameraFocus.position = SCNVector3(x: 0, y: 0, z: 0)
cameraEye.camera = SCNCamera()
cameraEye.constraints = []
cameraEye.position = SCNVector3(x: 0, y: 15, z: 0.1)
let vConstraint = SCNLookAtConstraint(target: cameraFocus)
vConstraint.isGimbalLockEnabled = true
cameraEye.constraints = [vConstraint]
}
// Add your camera nodes
gameNodes.addChildNode(camera.cameraEye)
gameNodes.addChildNode(camera.cameraFocus)
ZoomIn()/ zoomOut()只是調整距離的功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.