Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 获取SCNNode边界大小(以米为单位)_Swift_Scenekit_Arkit - Fatal编程技术网

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

Swift 获取SCNNode边界大小(以米为单位),swift,scenekit,arkit,Swift,Scenekit,Arkit,我正试着把一个SCN平面绕在一个SCN节点上。我使用的是ARKit,所以所有东西都是以米为单位测量的,但是当我得到边界框时,我会得到其他单位的测量值。我看了苹果的文档,他们没有具体说明单位是什么 例如,其中一个节点大约3米宽,但它说它有26个单元 我可以做一个粗略的除法,得到一个常数,然后用它来进行单位转换,但我想知道是否有一种不太老练的方法来做呢 let textContainerSize = textBodyNode.boundingBox let xSize = textContainer

我正试着把一个SCN平面绕在一个SCN节点上。我使用的是ARKit,所以所有东西都是以米为单位测量的,但是当我得到
边界框时,我会得到其他单位的测量值。我看了苹果的文档,他们没有具体说明单位是什么

例如,其中一个节点大约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)
让textContainerSize=textBodyNode.boundingBox
设xSize=textContainerSize.max.x-textContainerSize.min.x
设ySize=textContainerSize.max.y-textContainerSize.min.y
打印(“大小”)

打印(xSize,ySize)/一个场景单位在
ARKit
中为一米,但节点在本地坐标系中定义。因此,您的节点可能有一个比例不同于1的父节点