對於大學期項目,我正在研究使用等距顯示的圖形roguelike(我意識到這個矛盾:P)。我想知道的是,由於繪製所有的圖塊都是非常昂貴且不必要的,因此我想找出一個相對較快的算法來確定哪些圖塊應該繪製爲適合NxMpx窗口,因爲該圖塊圖形是XxYpx。在等軸測圖引擎中剔除偏屏瓷磚
我沒有爲此進行平滑滾動,所以這不是問題。我也不擔心完美 - 一點不必要的抽籤是好的,我只是不想畫出大量不會在遊戲中顯示的不必要的圖塊。
對於大學期項目,我正在研究使用等距顯示的圖形roguelike(我意識到這個矛盾:P)。我想知道的是,由於繪製所有的圖塊都是非常昂貴且不必要的,因此我想找出一個相對較快的算法來確定哪些圖塊應該繪製爲適合NxMpx窗口,因爲該圖塊圖形是XxYpx。在等軸測圖引擎中剔除偏屏瓷磚
我沒有爲此進行平滑滾動,所以這不是問題。我也不擔心完美 - 一點不必要的抽籤是好的,我只是不想畫出大量不會在遊戲中顯示的不必要的圖塊。
你需要考慮兩個概念:屏幕空間和世界空間。這些在3D引擎中非常重要,但它們適用於除最簡單的遊戲外的所有遊戲。在等軸測圖引擎中,您的世界空間是一個二維數組。
因此,您首先要在這兩個座標空間之間進行轉換。一旦你這樣做了,很明顯,屏幕空間會以45度旋轉的方式映射到世界上。你可以確定一個公式,但是隻有當你試圖確定世界空間的哪一部分是可見的時候纔是重要的,所以你只能在該區域模擬怪物(在8位控制檯上需要一個效率,可能不在現代PC上! )。當涉及到實際的渲染,你並不真的需要確定這個世界的可見區域,因爲它是在路上隱含您呈現瓷磚在屏幕上: -
其他提示: -
無論如何,這足以讓我們繼續,希望它有幫助,您的項目進展順利。
我不知道這是否有幫助,但您可能會覺得它很有趣。 http://simcity.ea.com/about/inside_scoop/3d1。php – 2010-01-13 22:22:09
這絕對有趣,但你是對的,它沒有涉及到主要問題。無論如何,感謝您的鏈接! – Sukasa 2010-01-13 22:40:03