ios – 没有曲线的SCNText渲染,而不是字体

ios – 没有曲线的SCNText渲染,而不是字体,第1张

概述当我运行这个SceneKit代码时: let txt = SCNText(string: "Hello", extrusionDepth: 0.2)let textNode = SCNNode(geometry: txt)scene.rootNode.addChildNode(textNode) 我得到非常有棱角的文字: 无论字体如何,它似乎都是这样做的,它在设备上的行为与模拟器中的行为相同. 当我运行这个SceneKit代码时:

let txt = SCNText(string: "Hello",extrusionDepth: 0.2)let textNode = SCNNode(geometry: txt)scene.rootNode.addChildNode(textNode)

我得到非常有棱角的文字:

无论字体如何,它似乎都是这样做的,它在设备上的行为与模拟器中的行为相同.

这是上下文中的代码:

// create a new scene    let scene = SCNScene()    // create and add a camera to the scene    let cameraNode = SCNNode()    cameraNode.camera = SCNCamera()    scene.rootNode.addChildNode(cameraNode)    // place the camera    cameraNode.position = SCNVector3(x: 10,y: 0,z: 75)    // create and add a light to the scene    let lightNode = SCNNode()    lightNode.light = SCNlight()    lightNode.light!.type = SCNlightTypeOmni    lightNode.position = SCNVector3(x: 0,y: 10,z: 10)    scene.rootNode.addChildNode(lightNode)    // create and add an ambIEnt light to the scene    let ambIEntlightNode = SCNNode()    ambIEntlightNode.light = SCNlight()    ambIEntlightNode.light!.type = SCNlightTypeAmbIEnt    ambIEntlightNode.light!.color = UIcolor.darkGraycolor()    scene.rootNode.addChildNode(ambIEntlightNode)    let txt = SCNText(string: "Hello",extrusionDepth: 0.2)    let textNode = SCNNode(geometry: txt)    scene.rootNode.addChildNode(textNode)    // retrIEve the SCNVIEw    let scnVIEw = self.vIEw as! SCNVIEw    // set the scene to the vIEw    scnVIEw.scene = scene
解决方法 SCNText为您的文本细分2DBézIEr路径,就像Core Graphics在绘制它时一样.您始终可以使用平坦度属性使其更平滑,但不会获得“子像素平滑度”.

要解决此问题,您可以使用更大的字体大小,以便底层BézIEr路径更大,并且在离散化时生成更多顶点.

总结

以上是内存溢出为你收集整理的ios – 没有曲线的SCNText渲染,而不是字体全部内容,希望文章能够帮你解决ios – 没有曲线的SCNText渲染,而不是字体所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1049626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存