【问题标题】:Getting SCNNode Bounding Size in Meters以米为单位获取 SCNNode 边界大小
【发布时间】:2018-01-28 06:37:12
【问题描述】:

我正在尝试将 SCNPlane 包裹在 SCNNode 周围。我正在使用 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)

【问题讨论】:

    标签: swift scenekit arkit


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-17
      • 1970-01-01
      • 2012-07-01
      • 2010-12-09
      相关资源
      最近更新 更多