Hat es jemand geschafft, einen SCNText-String ordnungsgemäß in einem containerFrame in ARKit zu erhalten?SCNText, containerFrame, wrapping und ARKit
Ich habe es versucht, aber die Linien scheinen übereinander zu liegen, anstatt vertikal in der Reihenfolge gerendert zu werden. Wenn es ein Problem mit der Größe des containerFrame war, der zu klein ist, würde ich erwarten, dass die Zeichenkette gerade abgeschnitten wird. Es macht keinen Unterschied machen, die Abschneidemodus I (... end/... keine/..middle) usw.
Diese verwenden ist Code aus meiner SCNNode Unterklasse, die extrudierte Erstellen von Text in der init-Methode. Derselbe Code funktioniert gut (offensichtlich mit unterschiedlichen Größen), um in einer standardmäßigen SceneKit-Ansicht umschlossenen, extrudierten Text zu erzeugen.
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)