我已通过使用Interface Builder将3D文本拖动到场景来创建此SceneKit文本。SceneKit:更改SceneKit文本的枢轴/轴
它的建立这样的:
轴线是在左下方。有没有一种方法可以使用界面构建器将轴置于该文本上?
我已通过使用Interface Builder将3D文本拖动到场景来创建此SceneKit文本。SceneKit:更改SceneKit文本的枢轴/轴
它的建立这样的:
轴线是在左下方。有没有一种方法可以使用界面构建器将轴置于该文本上?
不在场景编辑器中。
在代码中,您可以通过检查边界框来更改节点的透视以匹配其几何的中心点。例如:
func centerPivot(for node: SCNNode) {
var min = SCNVector3Zero
var max = SCNVector3Zero
node.getBoundingBoxMin(&min, max: &max)
node.pivot = SCNMatrix4MakeTranslation(
min.x + (max.x - min.x)/2,
min.y + (max.y - min.y)/2,
min.z + (max.z - min.z)/2
)
}
更新迅速4
let min = node.boundingBox.min
let max = node.boundingBox.max
node.pivot = SCNMatrix4MakeTranslation(
min.x + (max.x - min.x)/2,
min.y + (max.y - min.y)/2,
min.z + (max.z - min.z)/2
)
接受的评论是在Swift 4中,但是,这是一个更简单的方法。 –
编辑:这里的变化是“node.boundBox”而不是“node.getBoundBox” –
这肯定比试验和错误!谢谢。 – bpedit
另一个答案是更新swift 4 –