2015-02-07 15 views
6

SceneKit'te bir küre nesnesinin yüzeyi boyunca metin yazmanın bir yolu olup olmadığını merak ediyorum.Küre yüzeyinde SceneKit yazınız mı?

Bildiğim kadarıyla yüzeye bir doku koydum ve bu tür bir etki elde edersem, ancak kürenin yüzeyinde dinamik olarak bir şekilde metin ekleyip ekleyemeyeceğimi bilmek istiyorum.

Herhangi bir fikrin var mı?

enter image description here

DÜZENLEME:

Bu çalışır: Bir TextLayer ile bir CALayer eklemeye çalıştı

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) 

cevap

3

Eğer SCNMaterialProperty :)

+0

içeriği gibi herhangi CALayer kullanabilirsiniz o ve kutu kaybolur ... Ben, yanlış bir şey yapıyorum. Ne olduğundan emin değilim. – zumzum

+0

Tamam, arkaplan rengini (turuncu) ekleyerek katman artık kutuda doku olarak kullanılıyor, ancak henüz metin göremiyorum. – zumzum

+0

Ayrıca bir SpriteKit 'SKScene' özelliğini malzeme özelliği olarak da kullanabilirsiniz. Her iki durumda da, istediğiniz içerik/konumla görünmesini sağlamak için 'contentTransform' ile karıştırmanız gerekebilir. – rickster

İlgili konular