我试图弄清楚如何用3D绘制文字。
现在我有两种方法可以在屏幕上显示内容。一个使用通常的3d空间渲染世界,另外渲染渲染HUD以预先转换的方式执行它。
所以,理想情况下,我希望有一种方法可以对文本执行相同的操作,以便在3D中呈现字符串(类似于"广告牌"方式)和预转换方式(就像我使用的是2d模式)。
我唯一能找到的就是使用" Mesh.FromText",但它似乎并不是我需要的。哦,还使用spritebatch将纹理绘制到纹理,然后在3D混合中使用这个纹理,但再次看起来像是一种糟糕的方式...
有什么想法吗?
答案 0 :(得分:0)
您可以使用自定义效果在3D空间中使用SpriteBatch
进行绘制。 This blog post有详细信息。
就像将效果(如BasicEffect
)传递给SpriteBatch.Begin
(this one)的适当重载一样简单。
(文本由透明精灵组成 - 因此所有常见的注意事项都适用于3D中的透明度绘图:对不透明的Z缓冲场景进行排序和绘制,或使用alpha测试。)