Ios 如何在scenekit中的节点上放置文本?
这是一个非常简单的问题,由于某种原因,我在任何地方都找不到。如何在Ios 如何在scenekit中的节点上放置文本?,ios,swift,3d,scenekit,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); 当然,这个评论是虚构的。类似的吗?您需要创建所需字体和文本的纹理,然后将其作为材质的一部分应
SCNNode
的3D面上写入2D文本?
例如,在这样的事情上:
let geo = SCNBox(width: 20, height: 20, length: 20, chamferRadius: 0.0);
//geo.writeFace(postion, text)
let box = SCNNode(geometry: geo);
当然,这个评论是虚构的。类似的吗?您需要创建所需字体和文本的纹理,然后将其作为材质的一部分应用到对象上。虽然我在场景工具包中没有看到类似UVW贴图的东西,可以让您控制放置。它一定在那里。如果您只使用SCN几何体,可能还可以,因为SCNBox至少允许材料/纹理的每侧规格 可以使用UIKit文本绘制到上下文,或使用textureToNode对精灵工具包文本进行光栅化,动态创建2D类型纹理:
这似乎效率很低……我想这是唯一的选择?SceneKit也没有贴花或任何其他有趣的动态创建纹理的方法。我敢肯定,在与SpriteKit/SceneKit集成的斗争中,您会在内部多次重复“这似乎相当低效…”。还有GameplayKit;)SceneKit的另一个警告是,几乎没有用户基础,因此没有社区,苹果也没有提供任何使用方法。Phaser()之类的东西有500多个小演示,展示了如何以及为什么按照建议的方式做事。大部分都是一个人干的。“苹果不会为SpriteKit和SceneKit做这种事情,这是令人讨厌和不祥的。@harrylakins如果你已经解决了问题,你能发布一个解决方案吗?”?我也在努力解决这个问题。您好,我最终使用了SCNText,将其放平,然后手动将其放置在面部,结果比我想象的要好!