我正在尝试在场景中创建一个3D风筝游戏,我不希望我的节点离开屏幕。
我知道如何在SpriteKit中创建边框体。
我在场景中如何做同样的事情?
使用场景的内置碰撞检测。
特别是,给您的节点一个具有适当类别的物理体和CollisionBitMask。将节点放在凹面球或可以碰撞的盒子中。
请参阅此教程
使用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]