2

以下代码(iOS、ARKit 项目)创建一个SCNText节点并将其附加到 ARKit 场景的根节点:

let font: UIFont = UIFont.systemFont(ofSize: fontSize, weight: UIFont.Weight.regular)
let attributes: [NSAttributedString.Key : Any]? = [NSAttributedString.Key.font: font]
let text = NSAttributedString(string: "abcdefghijklmnopqrstuvwxyz:123456789", attributes: attributes)

let textGeometry = SCNText(string: test, extrusionDepth: 0.1)
let textNode = SCNNode(geometry: textGeometry)
rootNode.addChildNode(textNode)

当我在装有 iOS 14 的模拟器或设备中运行它时,我得到一个缺少某些字符(例如“a”、“e”、“y”)的文本:

SCNText 的示例输出

当我使用常规字符串作为SCNText的输入参数但不适用于NSAttributedString +系统字体(字体很重要)时,它工作正常。它在以前的 iOS(iOS 13)中运行良好。

您是否遇到过缺少字符的类似问题?您是否找到任何解决方法?

可以在此处找到显示此问题的示例 Xcode 项目。

4

0 回答 0