2015-02-07 38 views
6

Tôi tự hỏi nếu có một cách để viết văn bản dọc theo một bề mặt của một đối tượng hình cầu trong SceneKit.Viết văn bản trên bề mặt hình cầu SceneKit?

Tôi biết tôi đặt một kết cấu trên bề mặt và đạt được loại hiệu ứng này nếu tôi có một hình ảnh, nhưng tôi muốn biết liệu tôi có thể thêm văn bản động bằng cách nào đó trên bề mặt của hình cầu.

Bất kỳ ý tưởng nào?

enter image description here

EDIT:

này hoạt động:

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) 

Trả lời

3

bạn có thể sử dụng bất kỳ CALayer như nội dung của bạn SCNMaterialProperty :)

+0

Tôi cố gắng để thêm một CALayer với một TextLayer trong đó và hộp biến mất ... Vì vậy, tôi đang làm điều gì đó sai trái. Không chắc chắn những gì. – zumzum

+0

Ok, thêm màu nền (màu cam) bây giờ lớp được sử dụng làm kết cấu trên hộp, nhưng tôi chưa thấy văn bản nào. – zumzum

+0

Bạn cũng có thể sử dụng một 'SKScene' của SpriteKit làm nội dung thuộc tính vật liệu. Dù bằng cách nào bạn có thể cần phải gây rối với 'contentsTransform' để làm cho nó xuất hiện với hướng/vị trí bạn muốn. – rickster

Các vấn đề liên quan