【问题标题】:SceneKit – Get Node's height [duplicate]SceneKit - 获取节点的高度 [重复]
【发布时间】:2015-02-28 14:31:07
【问题描述】:

我有一个 SceneKit 项目,其中我目前有 2 个对象,一个是简单平面的地面和一个金字塔。我想将金字塔节点的高度设置为类似于以下 sudo 代码:

pyr.position = SCNVector3Make(0, ground.position.y+pyr.size.height, 0)

有没有办法以像素或点为单位获取节点的高度?

注意

这就是我创建pyrground 节点的方式:

let pyr = scene.rootNode.childNodeWithName("pyramid", recursively: true)!
let ground = scene.rootNode.childNodeWithName("ground", recursively: true)!

【问题讨论】:

    标签: ios xcode swift nodes scenekit


    【解决方案1】:

    你试过了吗?

    来自文档:

    SCNBoundingVolume 协议定义了一个接口,用于描述在空间中占据体积的对象,被 SCNNode 和 SCNGeometry 类采用。它的方法测量对象在对象的局部坐标空间中的位置和大小,表示为框或球体。

    获取对象边界框的最小和最大角点。

        func getBoundingBoxMin(_ min: UnsafeMutablePointer<SCNVector3>,
                   max max: UnsafeMutablePointer<SCNVector3>) -> Bool
    

    分钟
    输出时,边界框的最小坐标。

    最大
    输出时,边界框的最大坐标。

    (max.y - min.y) 将是高度。

    【讨论】:

    • 完全忘了我曾经问过这个问题,谢谢你的回答。你能解释一下为什么该方法返回一个 bool 吗?
    • @LinusGeffarth 文档指出:“返回值:如果对象具有非零体积,则返回 YES;否则,NO。”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-02
    • 2013-10-27
    • 2013-03-19
    • 2021-08-24
    • 2018-03-12
    • 2018-11-01
    相关资源
    最近更新 更多