繁体   English   中英

以3D方式绘制文字

[英]Draw a Text in 3D

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

现在,我有两种方法可以在屏幕上显示内容。 一种使用通常的3d空间渲染世界,并使用其他渲染来渲染以预变换方式完成此操作的HUD。

因此,理想情况下,我希望对文本进行相同的处理,既以3D形式渲染字符串(类似于“广告牌”方式)又以预转换方式(就像我使用2d模式一样)。

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

有任何想法吗?

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

这就像传递一个效果(如BasicEffect )一样简单,该效果具有正确的转换,并将其设置为适当的SpriteBatch.Begin重载( 此一个 )。

(文本由透明的精灵组成-因此所有适用于3D透明化绘图的常见警告都适用:对不透明,Z缓冲的场景进行排序和绘图,或使用alpha测试。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM