首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SCNText不会出现

SCNText不会出现
EN

Stack Overflow用户
提问于 2018-04-25 16:30:07
回答 1查看 523关注 0票数 0

在说明我的问题是什么之前,我想澄清我的问题有多个答案,不幸的是,它们都解决不了我的问题。请不要把这个标记为副本。

下面是我必须创建文本节点的代码

代码语言:javascript
复制
let textNode: SCNNode = {
            let text = SCNText.init(string: "250.9cm", extrusionDepth: 0.01)
            text.font = UIFont(name: "System", size: 32)
            text.flatness = 0.2
            let node = SCNNode.init(geometry:  text)
            node.pivot = SCNMatrix4Scale(node.transform, 1/72, 1/72, 1/72)
            node.scale = SCNVector3(0.1, 0.1, 0.1)
            node.geometry?.materials.first?.diffuse.contents = UIColor.red
            return node
        }()

这是建立在多种不同的解决方案,我已经找到了,我尝试了许多不同的方式。然而,没有一个在起作用。

这里,我将1视图添加为childNode,然后将另一个childNodes添加到该子视图中。

代码语言:javascript
复制
self.addChildNode(mainNode)

        topNode.position = SCNVector3(mainNode.getMidX(), mainNode.boundingBox.max.y, mainNode.getMidZ())
        bottomNode.position = SCNVector3(mainNode.getMidX(), mainNode.boundingBox.min.y, mainNode.getMidZ())
        textNode.position = SCNVector3(mainNode.getMidX()+0.005, mainNode.getMidY(), mainNode.getMidZ())

        mainNode.addChildNode(topNode)
        mainNode.addChildNode(bottomNode)
        mainNode.addChildNode(textNode)

正如您在下面的图片中所看到的,所有的东西都在我所期望的位置正确而准确地显示出来。除了那个无处可寻的textNode。(请注意,带帽子和鞋子的黑线是主、顶和底节点)

根据其他位置属性集,文本应该完美地出现在黑线的中间垂直和略向右水平。

我缺少的是一些我在其他答案中找不到的东西。请给我一些建议,我应该如何处理这个问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-26 07:40:59

嗯,很可能你的文字没有显示是因为同样的原因,因为其他的问题你肯定不是重复的:它太大了。

但我回答,而不是投票结束作为重复,因为有额外的皱纹,或两个值得呼喊。就在这里:

代码语言:javascript
复制
node.pivot = SCNMatrix4Scale(node.transform, 1/72, 1/72, 1/72)
node.scale = SCNVector3(0.1, 0.1, 0.1)

首先,将scale设置为刻度转换和将pivot设置为缩放转换具有相同的效果--这两者都可以缩放节点的内容,因此您有效地应用了一个缩放因子,即两个转换的级联。(同样,在这些调用中,node.transform是标识,因此第一行等价于具有相同因子的SCNMatrix4MakeScale。)

第二,正如在这个伟大的答案中解释的那样,pivot属性将您提供的转换反向应用于节点的内容。您的转换是规模的缩小,所以应用的转换是相反的:规模的增加。

( pivot在逆变换部分是相当不清楚的。也许如果你告诉苹果,他们会修复那个医生。)

将其组合在一起:将一个32“点”文本节点缩小到1/10倍,然后扩展到72倍。这与缩放到7.2x,或者仅仅使用230“点”字体是一样的。

作为在其他地方注意到,字体的“点”大小实际上是米在SceneKit+ARKit,所以你可能有摩天大楼大小的字母漂浮在上方和右边(如果它们不是看不见的,因为它们超出剪辑深度)。希望你带了登山装备..。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50027182

复制
相关文章

相似问题

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