我想知道是否有一种方法可以在SceneKit中沿球形对象的表面写入文本。

我知道如果有图像,我会在表面上放置纹理并达到这种效果,但是我想知道是否可以通过某种方式在球体表面上动态添加文本。

任何的想法?

编辑:

这有效:

    let layer = CALayer()
    layer.frame = CGRectMake(0, 0, 100, 100)
    layer.backgroundColor = UIColor.orangeColor().CGColor

    var textLayer = CATextLayer()
    textLayer.frame = layer.bounds
    textLayer.fontSize = layer.bounds.size.height
    textLayer.string = "Test"
    textLayer.alignmentMode = kCAAlignmentLeft
    textLayer.foregroundColor = UIColor.greenColor().CGColor
    textLayer.display()
    layer.addSublayer(textLayer)

    let box = SCNBox(width: 10, height: 10, length: 10, chamferRadius: 0.5)
    let boxNode = SCNNode(geometry: box)
    box.firstMaterial?.locksAmbientWithDiffuse = true
    boxNode.position = position

    box.firstMaterial?.diffuse.contents = layer

    scene.rootNode.addChildNode(boxNode)

最佳答案

您可以使用任何CALayer作为SCNMaterialProperty的内容:)

10-08 15:13