如何在scenekit中的节点上放置文本?

时间:2016-09-22 15:52:13

标签: ios swift 3d scenekit

真正简单的问题,由于某种原因,我找不到任何地方。如何在SCNNode的3D面上书写2D文本? 例如,在这样的事情上:

let geo = SCNBox(width: 20, height: 20, length: 20, chamferRadius: 0.0);
//geo.writeFace(postion, text)
let box = SCNNode(geometry: geo);

当然评论已经完成。有什么喜欢的吗?

1 个答案:

答案 0 :(得分:5)

您需要创建所需字体和文本的纹理,然后将其作为材质的一部分应用于对象。虽然我在Scene Kit中没有看到像UVW映射这样的东西来让你控制位置。一定是在那里。如果您只使用SCN几何图形,那么您可能没问题,因为SCNBox至少允许材料/纹理的每一面规格。

您可以使用UIKit文本绘制到上下文来动态创建2D类型纹理,或使用textureToNode对Sprite Kit文本进行光栅化:  https://developer.apple.com/reference/spritekit/skview/1520114-texturefromnode?language=objc