我想知道是否有一种方法可以在SceneKit中沿着球体对象的表面写入文本.
我知道如果我有一个图像,我会在表面上放置纹理并实现这种效果,但我想知道我是否可以在球体表面上以某种方式动态添加文本.
任何的想法?
编辑:
这有效:
let layer = CALayer()
layer.frame = CGRectMake(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的内容:)