制作 3D 网格的最佳方法? [关闭]

Posted

技术标签:

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

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

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

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

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

基本世界理念:

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

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

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

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

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

【讨论】:

【参考方案3】:

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

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

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

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

【讨论】:

以上是关于制作 3D 网格的最佳方法? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Blender制作模型之网格基本体

如何使用 RGL 中的 tmesh3d 在 RGL 中使用 shade3d 或 wire3d 制作 3D 网格

unity3d中网格mesh可以制作的吗?怎么做的?

从本地磁盘导入游戏中虚幻引擎 4 中的任何 3d 模型[关闭]

3D 封闭网格汽车对象的体积

将图像映射到 3D 面部网格