作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试将 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)
最佳答案
在 ARKit
中,一个 SceneKit 单位是一米,但是 boundingBox
在节点局部坐标系中定义。所以你的节点可能有一个比例不同于 1 的父节点。
关于swift - 获取以米为单位的 SCNNode 边界大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45775887/
我是一名优秀的程序员,十分优秀!