1
誰かがARKitのcontainerFrame内でSCNText文字列を正しくラップすることができましたか?SCNText、containerFrame、ラッピングとARKit
私は動きがありましたが、行は垂直方向に連続してレンダリングされるのではなく、互いに重ね合わされているようです。それが小さすぎるcontainerFrameのサイズに問題があった場合、私は文字列がちょうど切り捨てられると思います。これは、切り捨てモードは、私が使用して違い(...エンド/ ...なし/ ..middle)など
これは私のSCNNodeサブクラスのコードで、押し出されたテキストを作成することはありません。 initメソッドで呼び出されます。同じコードは、標準のSceneKitビューでラップされた、押し出されたテキストを生成するために、異なるサイズを使ってうまく機能します。
let extrudedText = SCNText(string: definition.text, extrusionDepth: 0.1)
extrudedText.font = UIFont(name: definition.fontname, size: 0.2)!
extrudedText.containerFrame = CGRect(origin: .zero, size: CGSize(width: 1.8, height: 1.5))
extrudedText.truncationMode = kCATruncationMiddle
extrudedText.isWrapped = true
extrudedText.alignmentMode = kCAAlignmentLeft
let material = SCNMaterial.material(named: "rustediron-streaks")
extrudedText.materials = [material]
geometry = extrudedText
// Update pivot of object to its center
// https://stackoverflow.com/questions/44828764/arkit-placing-an-scntext-at-a-particular-point-in-front-of-the-camera
let (min, max) = boundingBox
let dx = min.x + 0.5 * (max.x - min.x)
let dy = min.y + 0.5 * (max.y - min.y)
let dz = min.z + 0.5 * (max.z - min.z)
pivot = SCNMatrix4MakeTranslation(dx, dy, dz)