【问题标题】:Best ways of making a 3D grid? [closed]制作 3D 网格的最佳方法? [关闭]
【发布时间】:2011-11-23 16:58:59
【问题描述】:

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

在 java 中,我正在制作一个发生在有点 Minecraft 风格的世界中的游戏。我需要一个 3D 网格来绘制每个块,但我仍然对如何将它们全部放入有点困惑。

我正在使用 LWJGL,希望它能让我的生活变得更轻松。但如果有更好的使用方法,请告诉我。

一个可下载的基于Minecraft世界的教程的链接会很棒!我找不到任何关于该主题的教程(或可下载的)。

基本世界理念:

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

【问题讨论】:

    标签: java multidimensional-array landscape


    【解决方案1】:

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

    【讨论】:

    • 那么它最终会是一个 3 深的数组吗? (对于 x、y 和 z 值?)
    【解决方案2】:

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

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

    您能否提供有关该应用程序的更多详细信息?

    【讨论】:

      【解决方案3】:

      我会在您的空间中创建一个表示坐标 (x,y,z) 的“块”对象,并且您的块可以包含“textureTop”和“textureBottom”等成员以及您需要绘制的任何其他成员。

      然后,由于您的空间看起来是固定大小的,只需将它们制作一个 3D 数组即可。

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

      然后,如果您想创建块,只需定义另一个对象块,它基本上是一个 16x16x128 的块数组。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-28
        • 2014-01-02
        • 2020-05-27
        • 2012-04-22
        • 1970-01-01
        • 2018-03-10
        • 1970-01-01
        • 2013-04-01
        相关资源
        最近更新 更多