XNA - 在3d场景中绘制2d精灵

时间:2012-12-13 10:17:10

标签: graphics 3d xna

我正在将2D精灵绘制到3d场景中。此刻我将一个3d点投射到视口上,并将其用作绘制精灵的位置。问题是缩放精灵:显然,我希望图像看起来越小,它在3d场景中越远。我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

一般技术称为billboarding。您在3d世界空间中创建一个二维多边形,并将其常规安排始终指向查看器。这是广告牌。所需的变换只是围绕垂直轴的模型旋转,穿过多边形的“自然”中心(例如树的树干或怪物的腿)。然后用精灵图像纹理多边形,为透明区域设置alpha = 0。缩放自然而然。

这通常用于非常复杂但往往在背景中的对象(如树和怪物),因此使用固定的2d图像引入的不准确性不是很明显。

答案 1 :(得分:0)

使用透视投影代替正交投影

答案 2 :(得分:0)

另一种选择是使用在3d空间中渲染的纹理四边形,并使用精灵的图像对其进行纹理处理,同时将其标记为对齐。