【问题标题】:SceneKit - How to set size of SCNTextSceneKit - 如何设置 SCNText 的大小
【发布时间】:2017-10-08 23:06:16
【问题描述】:

这是我当前的代码:

override func viewDidLoad() {
    scnView.scene = SCNScene()
    scnView.backgroundColor = .lightGray
    createText()
}

func createText() {
    let text = SCNText(string: "Hello, world!", extrusionDepth: 0)
    let node = SCNNode(geometry: text)
    scnView.scene!.rootNode.addChildNode(node)
}

我似乎无法通过

访问textSize 属性
text.textSize = 18

或者当我尝试更改文本的字体时,它也不起作用。

出了什么问题?

【问题讨论】:

    标签: ios swift scenekit


    【解决方案1】:

    我不明白为什么

    text.textSize = 18
    

    甚至可以编译,因为 SCNText textSize 属性被定义为 CGSize(参见 https://developer.apple.com/documentation/scenekit/scntext/1523680-textsize

    textSize 是“包含文本的最小边界矩形的大小”。

    另外,请记住,文本的屏幕大小(与其他任何内容一样都是 SCNNode)将取决于 3D 世界的视图特征。您可以通过多种方式放大 SCNNode,例如使用

    text.scale = SCNVector3Make(xScaleValue,yXcaleValue,zScaleValue)
    

    并实际设置您将使用的字体:

    text.font = UIFont(name: "Helvetica",size: 12)
    

    【讨论】:

    • 我明白了,我应该设置正确的相机位置,而不是设置文本大小。此外,text 没有 scale 属性,它所属的节点有。
    猜你喜欢
    • 2019-05-09
    • 2017-12-23
    • 1970-01-01
    • 2015-02-19
    • 2015-09-14
    • 2020-05-18
    • 2021-09-07
    • 2017-08-23
    • 2013-08-14
    相关资源
    最近更新 更多