制作3D网格的最佳方法?

时间:2011-11-23 16:58:59

标签: java multidimensional-array landscape

创建3D网格的最佳方法是什么?

在java中,我正在制作一个在Minecraft风格的世界中发生的游戏。我需要一个3D网格来绘制每个块,我仍然有点混淆我应该如何把它全部放进去。

我正在使用LWJGL希望它能让我的生活变得如此简单。但如果有更好的东西可以使用,请告诉我。

可下载的基于Minecraft世界的教程链接非常棒!我找不到关于这个主题的任何教程(或下载ables)。

基本世界理念:

  • 制作3D网格1024 x 1024 x 128
  • 具有灵活的土地顶部/底部的不同街区类型(因此土地更多"真实")
  • 用于土地的基于块的系统,将被分组为16 x 16 x 128块

3 个答案:

答案 0 :(得分:1)

这实际上取决于你想做什么......你想在哪里申请它?就个人而言,我非常喜欢数组。它通常是最便宜和最直接的解决方案。

通常只有在预测未来的变化时才需要复杂的数据结构(即数据结构会发生变化等)

您能否提供有关申请的更多详细信息?

答案 1 :(得分:1)

如果您想在此网格上更改大小或实现复杂逻辑,最好根据List创建自己的数据结构。但在大多数情况下(仅保存数据)普通数组是合适的。

答案 2 :(得分:1)

我会在你的空间中创建一个代表坐标(x,y,z)的'block'对象,你的块可以有像“textureTop”和“textureBottom”这样的成员以及你需要绘制它的其他任何东西。

然后,由于看起来你的空间是固定大小的,只需制作一个3D数组。

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

然后,如果你想让你的块只是定义另一个对象Chunk,它基本上是一个16x16x128块的数组。