0

如何计算 SCNText 中心与其左边缘角和右边缘角之间的距离。

例如,使用下面的代码,如果单词是“texas”,则字母“x”的中间将是pivot point因为它在单词的中间。我如何获得字母“t”左侧和字母“x”之间的距离。我如何获得字母“s”右侧和字母“x”之间的距离

let material = SCNMaterial()
material.diffuse.contents = UIColor.red

let geometry = SCNText(string: "texas", extrusionDepth: 0.1)
geometry.flatness = 0
geometry.font = UIFont.systemFont(ofSize: 6.3)
geometry.materials = [material]

let textNode = SCNNode()
textNode.geometry = geometry
textNode.geometry?.firstMaterial?.isDoubleSided = true

// set pivot point 
let min = textNode.boundingBox.min
let max = textNode.boundingBox.max
textNode.pivot = SCNMatrix4MakeTranslation(
    min.x + (max.x - min.x)/2,
    min.y + (max.y - min.y)/2,
    min.z + (max.z - min.z)/2
)
4

1 回答 1

0
let totalWidth: Float = textNode.boundingBox.max.x - textNode.boundingBox.min.x

let halfWidth: Float = totalWidth / 2

print("total width:", totalWidth)

print("half width:", halfWidth)
于 2020-01-19T22:51:11.237 回答