我想渲染三维文字。在Managed DirectX中,我使用Mesh.TextFromFont从给定字符串中创建一个具有给定字体的3D网格,例如。
var myMesh = Mesh.TextFromFont(device, myFont, "Hello World!", 0, 3DwidthOfTheText)
但是,XNA中不再存在此方法。有替代品吗?
答案 0 :(得分:5)
要在XNA中执行压缩3D文本,最好的方法 - 让您知道构建时需要哪些字体 - 可能是Nuclex.Fonts。它通过内容管道将TrueType字体导入VectorFont
类型(类似于SpriteFont
)。
This page contains some pretty pictures and a brief tutorial
(如果你需要在运行时动态导入字体,那么Nuclex可能仍然值得一看 - 它可能与内容管道分离。)
答案 1 :(得分:-1)
一种可能性是使用RenderToTexture在网格上渲染文本,然后将网格放置在世界中。