2012-12-13 158 views
0

我正在2D場景中繪製2D精靈。此刻,我將三維點投影到視口上,並將其用作繪製精靈的位置。問題在於縮放精靈:顯然,我希望圖像看起來越小,越遠離它在3D場景中。我怎樣才能做到這一點?XNA - 在3d場景中繪製2D精靈

回答

1

一般技術被稱爲billboarding。在3D世界空間中創建一個2D多邊形,並將其正常安排爲指向觀看者。這是廣告牌。所需的變換隻是圍繞垂直軸穿過多邊形的「自然」中心(例如樹的樹幹或怪物的腿)的模型旋轉。然後用sprite圖像紋理多邊形,爲透明區域設置alpha = 0。自然縮放比例。

這是通常用於非常複雜,但往往是在後臺,這樣通過使用一個固定的2D圖像引入的不準確性是不很明顯的對象(如樹木和怪物)。

0

使用透視投影,而不是正交投影

+1

應該加上:你可以做到這一點通過傳遞'BasicEffect'適當的投影矩陣,以'SpriteBatch.Begin'。 –

0

另一種選擇是使用在三維空間和紋理渲染它與精靈的圖像的紋理四而產生廣告牌也對準。