2011-11-23 130 views
1

什麼是創建3D網格的最佳方式?製作3D網格的最佳方法?

在java中,我正在做一個遊戲,發生在一個有點Minecraft風格的世界。我需要一個3D網格來繪製出每個區塊,而且我仍然有點困惑,應該如何去全力以赴。

我正在使用LWJGL,希望它能讓我的生活變得如此簡單。但如果有更好的東西可以使用,請告訴我。

鏈接到一個可下載的世界的Minecraft世界的教程將是美好的!我一直無法找到關於這個主題(或下載)的任何教程。

基本世界理念:

  • 使一個三維網格1024×1024×128
  • 不同的塊類型的具有柔性平臺頂/底(所以土地是更「實際」)基於
  • 組塊系統的土地,將被分組爲16×16×128塊

回答

1

如果你想改變大小或在這個網格上實現複雜的邏輯,最好根據List創建你自己的數據結構。但在大多數情況下(僅保存數據)普通數組是合適的。

+0

那麼它最終會變成一個3深的陣列? (對於x,y和z值?) – Tgwizman

+1

3深度陣列沒什麼不好 – mishadoff

1

這真的取決於你想要做什麼......你想在哪裏應用它?就我個人而言,我非常喜歡數組。它通常是最便宜和最直接的解決方案。當你預見未來的變化通常只需要

複雜的數據結構(即數據結構會發生變化,等等)

你能給關於應用程序的更多細節?

+0

是的,我可以,而且會做 – Tgwizman

1

我會在您的空間中創建一個代表座標(x,y,z)的「塊」對象,並且您的塊可以擁有像「textureTop」和「textureBottom」等成員以及您需要繪製的任何其他元素。

然後,因爲它看起來像你的空間是固定的大小,只需製作一個3D數組。

Block [] [] [] space = new Block [1024][1024][128]; 

然後,如果你想使你的塊只是定義另一個對象組塊基本上是一個16x16x128陣列塊。