我一直在研究一个java模拟游戏(以我自己的方式重建主题医院).到目前为止,我已经完成了2d中的所有操作,使用正方形和圆形等.我已经找了一些关于如何在java中执行3d,找到可乐和代码的教程,但是我不确定这是否是我需要使用的.我的想法要么是要有简单的3d,就像在平面3d中一样.或真正的3D,这将是更多的工作,而且更加困难.我真的很想听到人们关于走3d的一般想法.这是几个月前我的进展视频(http://screenjel.ly/bdO7Rj8DVl8).2D图形相当不起眼.我想取得更多进展,但是我不知道如果我想最终进入3d,我是否应该继续在2d开发.
另外,我不知道3d有多难.理想情况下,我想要3D完全旋转.我知道这是相当雄心勃勃的,但我会满足于块状人和物品,而不是圆形和正方形.任何人都知道java教程中的任何好3d,其中包括旋转?
对此还有其他想法或意见吗?
谢谢
使用3D会将内容创建成本提高7倍.(对不起,不能参考这项研究,但NCsoft韩国调查了它,并报告了7次增加).这是因为创建可行,高效和美观的资产需要大量的技能.所以记住这一点.许多人认为转向3D将神奇地让他们的游戏"看起来更好".这是一个谬论.如果资产足够好,可以比以前更好地创造沉浸感,那么它看起来会更好.
保持2D会给你很多自由.你可以真正创造一种艺术风格,专注于游戏等.一旦你进入3D,你将花费大部分时间来优化客户端而不是制作更好的游戏.
所以,最终,决定权归你所有,我们无法为你做出决定.
如果您决定使用3D,则需要确定您的目标是什么.如果它只是为了创建游戏,那么您可能需要查看引擎以减少开发.如果您想了解3D图形的基础机制,请使用JOGL或LWJGL直接进入OpenGL.
一些引擎要研究:
祝好运.
使用等角投影!
我认为重建主题医院的外观不需要“真正的3D”。您只需要每个方向(如果您希望用户从原始版本中的 4 个观看方向中进行选择)和每个对象的图像。只需将垂直光栅线弯曲 45 度,并使对象看起来像 3D(并将自身绘制在相邻单元格上方)即可创建 3D 外观,而无需在代码中添加额外的复杂性(如 OpenGL)。
我希望我已经清楚地表达了我的观点。否则请询问:)
好吧,所以我没有说清楚 - 就像预期的那样:)我也不是专家,抱歉。我上面所说的“弯曲”被称为“剪切”(至少在Gimp中)。基本思想是创建 3D 外观,而无需实际执行 3D - 就像您在纸上绘制 3D 立方体一样。也许一个(诚然相当丑陋的)例子可以帮助:
它不是 3D - 不需要三维空间中的坐标 - 只需使用位图即可创建一致的外观。