SceneKit - 获取节点的高度

时间:2015-02-28 01:09:10

标签: ios xcode swift nodes scenekit

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

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

有没有办法以像素或点的形式获得节点的高度?

注意

这就是我创建pyr&的方法。 ground个节点:

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

1 个答案:

答案 0 :(得分:3)

你试过这个吗?

来自文档:

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

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

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

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

     

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

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