0

我正在开发 3D 游戏,现在我必须将每个对象放入代码中。那么有没有办法让编辑器在 Java OpenGL 中放置对象?

最好是把整个世界(它有点大)做成一个大网格还是用另一种方式更好?

4

2 回答 2

3

那么有没有办法让编辑器在 Java OpenGL 中放置对象?

OpenGL 中没有对象。使困惑?

OpenGL 只是绘制东西,它被操作系统赋予了某种“画布”,你可以告诉它根据你的需要绘制点、线和三角形。

与场景或管理对象相关的任何事情都是您的负担,或者是附加工具包的负担。

我正在开发 3D 游戏,现在我必须将每个对象放入代码中。

想一想:与其硬编码数据,不如从文件中读取数据并使用文件内容构建场景,然后使用 OpenGL 绘制场景。这与阅读文本文件和向用户打印文本没什么不同。原理相同,只是数据类型不同。

有很多 3D 建模师。Blender是一个优秀的开源软件。将模型和/或场景导出为您可以读取的某种文件格式(通过实现现有格式,或发明自己的格式并编写导出器)并使用您的代码进行渲染。

于 2012-05-10T13:32:33.117 回答
2

在 java 和 openGL 中制作关卡编辑器当然是可能的,但这通常是一个相当大的项目。

将对象加载到游戏中的最简单方法可能是制作一个 XML 文件(或其他类型的数据文件),其中包含与游戏世界中的对象相关的位置、方向、网格、纹理和任何其他数据并对其进行编辑手动,但如果你有很多物体要放置,这可能会很乏味。然后可以在运行时读取它,并且您的场景将能够渲染这些对象。稍后,如果您选择制作一个关卡编辑器,则可以使用此文件格式。

至于你问题的第二部分,这取决于。然而,将整个世界变成一个网格很少是一个好主意。如果您的世界由许多网格组成,那么剔除会变得更容易,因为您可以从渲染调用中删除整个对象,而不是剔除单个顶点。

于 2012-05-10T10:58:01.090 回答