【问题标题】:Voxel 3d "grid"体素 3d“网格”
【发布时间】:2011-04-18 20:11:56
【问题描述】:

在您看来,创建大型(大量......)基于 3d 体素的网格的最佳语言是什么?

即像我的世界 (http://www.minecraft.net/)

我注意到 Minecraft 是用 Java 创建的,这显然有它的缺点。帮我做决定! :)

附言这是社区 wiki,所以没有积分,只是在意见之后:)

【问题讨论】:

  • Java 显然有其缺点,例如显然不适合具有大型(大量)基于 3d 体素网格的数百万美元游戏。只是说。
  • @jleedev - 我并没有要求人们批评我的要求。我问的是what language would be best for voxel based grid gameplay
  • 如果您正在考虑制作 Minecraft 克隆:不要。 Minecraft 已经是一个克隆体。 Minecraft 赚了 数百万美元。 Notch 在这方面所做的工作远远超出您的预期。但是,如果你不是,祝你好运!
  • @jon purdy - 这是我在 Stackoverflow 上得到的最严厉的回应 - 我开始认为所有程序员的社交技能都是零......
  • 我只是在开玩笑,但你知道文本是怎样的。无论如何,我尝试了这个项目,发现即使作为一种学习经验,它对我来说也不值得,而且在 Notch 克服自己并重新开始定期和勤奋地工作之后,我没有希望赶上它。是的,并不是所有的程序员都会拥有最好的社交技能,但通常一个简单的误解往往是最大冲突的原因。不过,你有权无视我,因为我只是屏幕上的文字。

标签: programming-languages 3d voxels


【解决方案1】:

您选择的数据结构将比您选择的语言重要得多。让您实现locality of reference 的语言可能在碰撞检测和可见性计算方面具有速度优势,但即使使用托管语言您也可以做到这一点。

Minecraft 是一个相当不错的 POC,只要您不迟钝地编写代码,Java 可以处理巨大的体素世界 :)

【讨论】:

  • 谢谢,我想你不知道一些数据结构可能对我有用(也可以用于研究)
  • +1 指出这个问题本质上毫无意义。语言对于学习曲线的难度和可维护性很重要,但除了避免愚蠢的选择之外,它不会对实际游戏本身产生巨大影响。
  • @Neurofluxation:我自己从来没有编写过体素的东西,但我猜你应该看看 OCTrees。
【解决方案2】:

您可能想看看 Field3D,它是一个用于存储体素(在内存和磁盘中)的 C++ 库。

http://github.com/imageworks/Field3D

【讨论】:

    猜你喜欢
    • 2018-11-04
    • 1970-01-01
    • 2012-08-04
    • 2013-11-20
    • 2022-10-30
    • 1970-01-01
    • 2023-01-20
    • 1970-01-01
    • 2018-06-21
    相关资源
    最近更新 更多