首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >游戏专用三维环境系统

游戏专用三维环境系统
EN

Stack Overflow用户
提问于 2013-06-05 01:48:51
回答 1查看 468关注 0票数 0

所以,我已经做了大约3个月的游戏,它的框架已经准备好了,但它缺少一件事:视觉部分。游戏的地图系统必须是一个3D环境,但它不是一个常规的环境,因为这个系统的主要思想是使用大部分代码构建地图本身,而不是加载任何其他类型的文件。它的代码稍微完成了,但这里的问题是,我将如何呈现和内部编程呢?

下面是它应该做的事情:

主要思想是创建一个名为的类,它是环境的基本单元。每个块都是一个32x32x32 (或者可能是64x64x64)立方体,它的每个边都有一个纹理,或者是以另一种不特定的方式构建的某种多边形。块还具有不透明度、亮度、HasGravity、IsMoveable/IsMovable/IsMobile和IsEditable字段,这些字段决定了它的属性。

2-它有一个实体类,它类似于一个对象或一个生物,它存在于地图中,但不是它的一部分。我想这将需要实际的3D模型,而不是由系统建立。也有X,Y和Z位置/大小字段。他们有像重力这样的东西,但是现在不需要太多的物理,玩家是一个实体。

3-它有一个映射类,它具有字段X、Y和Z的大小。这是为了使地图以立方体的方式构建特定数量的块。这个类还有一个块的三重数组,用于按其位置访问块。有许多设置字段,如布尔字段、RenderSky字段或AllowTerrainEdit字段(由播放机设置)。如果映射的Y限制块是空的(表示空值的块类),并且映射的RenderSky布尔值等于true,那么映射必须呈现某种天空事物作为它们的纹理,或者可能以更好的方式呈现天空?

4- 相机类是一种特殊类型的实体,用作确定呈现内容的工具。例如,在玩家使用第一人称模式的情况下,相机总是非常靠近(或可能在)播放器。相机允许在任何地方,但在实心块内。摄像机是看不见的。

这个系统的目的是使地图变得完全灵活和对代码友好(例如,如果玩家想尝试某种沙箱样式的操作,比如将地图的一部分替换成另一种材料,代码就可以做到这一点。)它还使地图创建对开发人员和用户都非常友好,不需要代码或3D知识)。任何其他的想法,而不是把世界分成几个立方体与大量的领域选择,也可以工作。

我现在不知道怎么继续下去了。这是游戏中唯一缺少的部分。

有用的事实:

  • 这款游戏有点像一个仿真器,试图创造一个半真实的世界,这意味着它计划拥有非常好的、现实的东西(比如现实世界的时间系统,基于if(布尔)语句的带有人工智能的NPCs,物理.)有几个update()空,所以在性能上考虑可能会很好
  • 地图是关于200+块高的(至少对主地图而言),以及几乎无穷无尽的块长和宽。也许这不可能。好的部分是渲染的内容是唯一可能降低性能的东西,并且没有必要计算渲染所有的东西,仅仅是摄像机的视图。
  • 目前纯用Java编程语言制作。
  • 我相信在这里使用OpenGL工具是有用的。

谢谢你读了这些。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-05 02:19:06

轻量级Java游戏库怎么样?

轻量级Java游戏库(LWJGL)是一种直接针对专业和业余Java程序员的解决方案,可以用Java编写商业高质量的游戏。LWJGL为开发人员提供了高性能的跨平台库,如OpenGL (开放图形库)、OpenCL (开放计算语言)和OpenAL (开放音频库),这些库允许使用最先进的3D游戏和3D声音。此外,LWJGL还提供对控制器的访问,如Gamepad、方向盘和Joysticks。所有这些都是一个简单而直接的API。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16930291

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档