我已通過使用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 –