2009-02-04 52 views
6

我有一個或多或少的2D遊戲,但是3D渲染。相機懸停在2D遊戲領域上方,完全垂直傾斜大約20度,從而給它一個小小的3D視角。在OpenGLES中正確地對準相機

我有一些精靈需要完美呈現正方形,因爲它們代表球形物體。我的第一種方法是將二維平面放置在二維場上,並將它們定位得恰到好處,但這個精靈受到透視變形的影響,並不總是看起來很圓。

我目前的做法是,在渲染精靈時,我將攝像頭移動到垂直於遊戲場(和精靈)的位置,以保證四邊形不會因視角而失真。缺點是精靈的位置與相機傾斜時的位置略有不同。

那麼,怎樣才能使我是精靈:

  1. 完美的正方形和相機對着但不要求我搬我的相機來實現這一目標。
  2. 有從相機受距離影響(不象點組圖)大小

回答

10

您可以在任何時候使用面向相機的多邊形來實現您想要的效果。這被稱爲「廣告牌」。 Here is一個很好的教程,似乎解釋涉及的數學和如何使用OpenGL實現它

+1

謝謝,這非常有幫助。 – 2009-02-04 20:12:43

0

繪製四邊形垂直於相機作爲你的建議,但他們一點定位場以上。上面的距離應該是球體的半徑。

+0

我不知道如何移動他們將有所幫助。我的問題的一部分是我不知道什麼數學我需要使四面對移動相機時,不垂直於玩場。對不起,如果我沒有解釋得很好。拼寫成文字很棘手。 – 2009-02-04 17:59:22

0

你仍然可以使用點精靈...使用glPointParameter()你可以給它深度衰減。我目前正在使用0.00025進行我的粒子系統的深度衰減。在第一代機器(我假設你這樣做的iPhone或iPod touch),你會被困在最大精靈尺寸爲64x64像素

+0

我知道這個評論是舊的,但對於潛在的讀者,我只需強調這種方法還有另一個缺點。如果由於剪輯導致屏幕關閉,則您的精靈將會消失。 – Rene 2016-06-27 19:41:45