我试图在SceneKit中创建一个3D风筝游戏,我不希望我的节点离开屏幕。
我知道如何在SpriteKit中创建一个边界体。
在SceneKit我该怎么做?

最佳答案

使用SCNLookAtConstraint
此约束将节点定向为始终指向指定的其他节点。可以使用look-at约束来确保相机或照明设备始终跟随角色的移动。若要将约束附加到SCNNode对象,请使用其“约束”属性。
下面是代码片段:

cameraNode = SCNNode()
cameraNode.camera = camera
cameraNode.position = SCNVector3Make(0, 5, 0)
cubeScene.rootNode.addChildNode(cameraNode)

let box = SCNBox(width: 5, height: 5, length: 5, chamferRadius: 0)
let boxNode = SCNNode(geometry: box)
cubeScene.rootNode.addChildNode(boxNode)

// constraint for camera
let target = SCNLookAtConstraint(target: boxNode)
target.gimbalLockEnabled = YES
cameraNode.constraints = [target]

08-27 18:59