【问题标题】:How do I create a borderbody in SceneKit?如何在 SceneKit 中创建边框?
【发布时间】:2018-06-08 19:44:58
【问题描述】:

我正在尝试在 SceneKit 中创建一个 3D 风筝游戏,并且我不希望我的节点离开屏幕。

我知道如何在 SpriteKit 中创建边框。

如何在 SceneKit 中做同样的事情?

【问题讨论】:

    标签: ios iphone swift scenekit


    【解决方案1】:

    使用SCNLookAtConstraint

    此约束将节点定向为始终指向指定的其他节点。您可以使用look-at 约束来确保您的相机或灯具始终跟随角色的移动。要将约束附加到 SCNNode 对象,请使用它的约束属性。

    这里是sn-p的代码:

    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]
    

    【讨论】:

      【解决方案2】:

      使用 SceneKit 的内置碰撞检测。

      特别是,为您的节点提供一个具有适当 categoryBitMask 和 collisionBitMask 的物理体。将您的节点放置在一个可以碰撞的凹球或盒子内。

      this tutorial

      【讨论】:

        猜你喜欢
        • 2016-06-04
        • 2018-02-14
        • 2015-10-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多