0

我试图弄清楚如何在 3D 中绘制文本。

现在我有两种方法可以在屏幕上显示内容。一种使用通常的 3d 空间来渲染世界,并使用额外的渲染来渲染以预转换方式进行的 HUD。

因此,理想情况下,我想要一种对文本执行相同操作的方法,既可以 3D 渲染字符串(有点像“广告牌”方式),也可以使用预转换方式(就像我使用 2d 模式一样)。

我唯一能找到的是使用“Mesh.FromText”,但它似乎不是我需要的。哦,还使用 ​​spritebatch 将文本绘制到纹理,然后在 3D 中使用此纹理和 alpha 混合,但这似乎是一种糟糕的方法......

有任何想法吗?

4

1 回答 1

0

SpriteBatch您可以使用自定义效果在 3D 空间中绘制。这篇博文有详细信息。

BasicEffect它就像将一个带有正确转换的效果(如)传递给SpriteBatch.Begin这个)的适当重载一样简单。

(文本由透明精灵组成——因此所有在 3D 中使用透明绘图的常见注意事项都适用:对不透明的 Z 缓冲场景进行排序和绘制,或使用 alpha 测试。)

于 2012-09-14T13:11:29.703 回答