gpt4 book ai didi

swift - SCNText 不会显示

转载 作者:行者123 更新时间:2023-11-28 12:01:26 25 4
gpt4 key购买 nike

在陈述我的问题之前,我想澄清一下,我的问题有多个答案,不幸的是,没有一个能解决我的问题。请不要将其标记为重复项。

现在这是我必须创建文本节点的代码

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 个 View 作为子节点,然后为该子节点添加了另外 3 个子节点。

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。 (注意是带帽子和鞋子的黑线是主节点,顶部节点和底部节点)

enter image description here

根据设置的其他位置属性,文本应该完美地出现在垂直黑线的中间,水平方向稍微偏右。

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

最佳答案

好吧,很可能您的文本没有显示,原因与您确定不是重复的其他问题相同:它太大了。

但我是在回答而不是投票关闭重复,因为还有一两个额外的问题值得指出。就在这里:

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。)

其次,如 this great answer 中所述,pivot 属性将您提供的变换的应用于节点的内容。您的变换是缩小比例,因此应用的变换是相反的:增加比例。

(documentation for pivot 在逆变换部分相当不清楚。也许如果你 tell Apple about it 他们会修复那个文档。)

放在一起:您正在将一个 32“点”的文本节点缩小到 1/10 倍,然后再放大到 72 倍。这与将其缩放到 7.2 倍或仅使用 230“点”字体开始时相同。

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

关于swift - SCNText 不会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50027182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com