swift 如何在SceneKit中创建边框?

wtlkbnrh  于 2022-12-22  发布在  Swift
关注(0)|答案(2)|浏览(179)

我尝试在SceneKit中创建一个3D Kite游戏,我不希望节点离开屏幕。
我知道如何在SpriteKit中创建边框体。
如何在SceneKit中执行相同操作?

hjqgdpho

hjqgdpho1#

使用SceneKit的内置碰撞检测。
特别是,给你的节点一个物理实体,它有一个合适的categoryBitMask和collisionBitMask,把你的节点放在一个凹球或凹框里,它们可以与之碰撞。
参见this tutorial

gblwokeq

gblwokeq2#

使用SCNLookAt约束

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

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]

相关问题