首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SCNText,containerFrame,包装和ARKit

SCNText,containerFrame,包装和ARKit
EN

Stack Overflow用户
提问于 2017-08-22 13:08:14
回答 1查看 1.7K关注 0票数 2

是否有人设法在SCNText中的containerFrame中正确地包装了一个ARKit字符串?

我已经试过了,但是这些线条似乎是重叠在一起的,而不是按顺序垂直渲染的。如果containerFrame的大小太小是个问题,我希望字符串只会被截断。我使用的截断模式(...end / ...none / ..middle)没有什么不同。

这是来自我的SCNNode子类的代码,它在init方法中创建挤压文本。相同的代码可以很好地工作(显然大小不同),可以在标准的SceneKit视图中生成包装的、挤压的文本。

代码语言:javascript
复制
    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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-29 21:41:36

苹果的回答:我的字体太小了。如果我在SCNText对象上使用“普通”字体大小并包含框架,然后在包含它的节点上设置一个刻度,所有内容都会按预期包装。类似于:

代码语言:javascript
复制
extrudedText.font = UIFont(name: definition.fontname, size: 20)!  
extrudedText.containerFrame = CGRect(origin: .zero, size: CGSize(width: 100.0, height: 500.0))
...
scale = SCNVector3Make(0.01, 0.01, 0.01)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45818567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档