以米为单位获取SCNNode边界大小

时间:2017-08-19 20:12:14

标签: swift scenekit arkit

我试图围绕SCNNode包装SCNPlane。我使用的是ARKit所以一切都以米为单位,但是当我得到boundingBox时,我会在其他单位进行测量。我查看了Apple的文档,他们没有说明单位是什么。

例如,其中一个节点宽约3米,但它表示其26个单位。

我可以做一个粗略的划分来获得一个常数并使用它来进行单位转换,但我想知道是否有一个不那么黑的方法来做它?

let textContainerSize = textBodyNode.boundingBox
let xSize = textContainerSize.max.x - textContainerSize.min.x
let ySize = textContainerSize.max.y - textContainerSize.min.y
print("size")
print(xSize, ySize) // <-- returns (26,2) 
let planeGeometry = SCNPlane(width: xSize, height: ySize)

1 个答案:

答案 0 :(得分:3)

一个SceneKit单位是ARKit中的一米,但boundingBox 是在节点本地坐标系中定义的。因此,您的节点可能有一个不同于1的父级。