Ios 在球体表面场景上写入文本吗?
我想知道是否有一种方法可以在SceneKit中沿球体对象的表面写入文本 我知道我在表面上放置了一个纹理,如果我有一个图像,就可以实现这种效果,但是我想知道我是否可以在球体的表面上动态添加文本 有什么想法吗 编辑: 这项工作:Ios 在球体表面场景上写入文本吗?,ios,scenekit,Ios,Scenekit,我想知道是否有一种方法可以在SceneKit中沿球体对象的表面写入文本 我知道我在表面上放置了一个纹理,如果我有一个图像,就可以实现这种效果,但是我想知道我是否可以在球体的表面上动态添加文本 有什么想法吗 编辑: 这项工作: let layer = CALayer() layer.frame = CGRectMake(0, 0, 100, 100) layer.backgroundColor = UIColor.orangeColor().CGColor va
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
:)的内容。我试图添加一个包含TextLayer的CALayer,但框消失了。。。所以,我做错了什么。不确定是什么。好的,现在添加背景色(橙色)层用作框上的纹理,但我还没有看到文本。您也可以使用SpriteKitSKScene
作为材质属性内容。无论哪种方式,您都可能需要处理内容表单
,以使其以您想要的方向/位置显示。