6
Мне интересно, есть ли способ написать текст по поверхности объекта сферы в SceneKit.Напишите текст на поверхности сферы SceneKit?
Я знаю, что накладываю текстуру на поверхность и получаю такой эффект, если у меня есть изображение, но я хочу знать, могу ли я просто добавить текст динамически каким-то образом поверх поверхности сферы.
Любая идея?
EDIT:
Это работает:
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 с TextLayer в нем и ящик исчезает ... Итак, я делаю что-то неправильно. Не уверен, что. – zumzum
Хорошо, добавив цвет фона (оранжевый), теперь слой используется как текстура на ящике, но я пока не вижу текста. – zumzum
Вы также можете использовать SpriteKit 'SKScene' как материальное свойство. В любом случае вам может понадобиться испортить «contentTransform», чтобы он отображался с ориентацией/положением, которое вы хотите. – rickster