我的 SceneKit 应用程序中有以下代码,但由于某种原因,文本从未显示在屏幕上。
let text = SCNText(string: item.label, extrusionDepth: 4.0)
text.firstMaterial?.diffuse.contents = UIColor.white
text.font = UIFont(name: "Arial", size: 35)
let textNode = SCNNode(geometry: text)
textNode.position = SCNVector3(-0.2 + x, -0.9 + delta, -1)
self.node.addChildNode(textNode)
不要使用 .
font,而是尝试使用 .scale。即使字体为 1 仍然有一米高,因此可能需要缩小它。这对我有用:textNode.scale = SCNVector3(0.01,0.01,0.01(
大小为 35,该文本将很大。它不是 35 点高,而是 35 个 SceneKit 单位高。文本很可能是可见的,但您的相机正在通过字母上的孔窥视,或者相机上的 Z 限制阻止它渲染。
我认为ARKit如何转换SCNText节点存在错误。请参阅以下内容以供参考:
- https://forums.developer.apple.com/message/235611#235611
- https://forums.developer.apple.com/thread/79715