我如何在场景中创建一个边界机构



我正在尝试在场景中创建一个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]

相关内容

最新更新