2012-09-14 71 views
0

我在想如何绘制3D文本。在3D中绘制文本

现在我有两种方法在屏幕上显示东西。一个使用通常的三维空间渲染世界,另一个渲染渲染HUD,以预先转换的方式进行渲染。所以,理想情况下,我想要一种方法来为文本做同样的事情,以3D渲染字符串(有点像“广告牌”方式)和预转换方式(就像我使用2d模式一样)。

我唯一能找到的就是使用“Mesh.FromText”,但它似乎并不是我所需要的。哦,还使用spritebatch来绘制文本到纹理,然后使用alpha混合的3D纹理,但它似乎又是一个糟糕的方式来做到这一点...

任何想法?

回答

0

您可以使用自定义效果在3D空间中使用SpriteBatch进行绘制。 This blog post有详细信息。

就像传递一个效果(如BasicEffect),并在其上设置了正确的转换到SpriteBatch.Beginthis one)的相应超载一样简单。

(该文是由透明的精灵 - 所以所有常见的警告与在3D透明度绘图适用:排序和绘制在不透明,Z缓冲场景,或使用阿尔法测试。)

+0

对不起,这是超出我的理解:( – NewProger

+0

什么,具体是你有麻烦?(如果这是一件大事,也许问一个新问题?) –

+0

好吧,几乎所有的不幸,因为没有你描述的实际技术的示例代码... :( – NewProger