代码之家  ›  专栏  ›  技术社区  ›  Relequestual

我应该玩3D游戏吗?如果有的话,还有多远,还有什么好的教程?[关闭]

  •  5
  • Relequestual  · 技术社区  · 16 年前

    我已经在Java模拟游戏上工作了一段时间(用我自己的方式改造主题医院)。到目前为止,我已经做了所有的二维,使用正方形和圆形等。 我已经找到了一些关于如何在爪哇做3D教程,找到可口可乐和代码,但是我不确定这是否是我需要使用的。 我的想法是要么有简单的三维,如在平面三维。或真正的三维,这将是更多的工作,更困难。 我真的很想听听人们对3D的普遍看法。这是我几个月前的进展视频( http://screenjel.ly/bdO7Rj8DVl8 ) 二维图形相当不引人注目。 我想取得更多的进展,但是我不知道我是否应该继续在二维发展,如果我想最终走向三维。

    另外,我不知道3D有多困难。理想情况下,我需要三维全旋转。我知道这是相当雄心勃勃的,但我会满足于块状的人和物品,而不是圆形和方形。有人知道在Java教程中有什么好的3D,包括旋转吗?

    对此还有其他想法或意见吗?

    谢谢

    4 回复  |  直到 15 年前
        1
  •  4
  •   sfussenegger    15 年前

    使用 Isometric Projection !

    我认为不需要“真正的3D”来重现主题医院的外观。您只需要为每个方向(如果您希望用户从原始的4个查看方向中进行选择)和每个对象提供一个图像。只需将垂直光栅线弯曲45度,使对象看起来像3D(并在相邻单元格上绘制自己),即可创建3D外观,而无需在代码中添加额外的复杂性(如OpenGL)。

    我希望我能澄清我的观点。否则请询问:)

    好吧,所以我没说清楚-就像预期的那样:)对不起,我也不是专家。我上面所说的“弯曲”被称为“剪切”(至少在gimp中)。基本的想法是创建一个三维外观,而不实际做三维-就像你在纸上画一个三维立方体。也许一个(公认非常丑陋的)例子可以帮助:

    looks 3D but isn't http://i37.tinypic.com/6jlkqr.png

    它不是3D的——不需要三维空间中的坐标——只需要位图来创建一致的外观。

        2
  •  9
  •   MarkPowell    16 年前

    使用3D将使内容创建成本提高7倍。(抱歉,无法参考该研究,但NCSoft Korea对此进行了调查,并报告增长了7倍)。这是因为创造可行、高效和美观的资产需要大量的技能。所以,记住这一点。许多人认为移动到3D将神奇地使他们的游戏“看起来更好”。这是个谬论。只有当资产足够好,能够创造出比以前更好的沉浸感时,它才会看起来更好。

    保持二维能给你很多自由。你真的可以创造一种艺术风格,专注于游戏等。一旦你进入3D,你将花费大部分时间优化客户,而不是做一个更好的游戏。

    所以,最终的决定是你的,我们不能为你做决定。

    如果你决定做3D,你需要决定你的目标是什么。如果只是为了创建游戏,那么您可能需要寻找一个引擎来减少开发。如果您想了解3D图形的底层机制,可以直接使用jogl或lwjgl访问OpenGL。

    一些发动机需要研究:

    • jMonkeyEngine(我有偏见)。
    • 阿多罗3D
    • JPCT

    祝你好运。

        3
  •  2
  •   Skilldrick    16 年前

    主题医院-美好回忆:)

    如果这是一个学习项目,我肯定会从2D开始。你会做得更多,工作游戏也会更快。在此阶段添加3D只会增加复杂性。

    另外,主题医院在3D中看起来很奇怪!

        4
  •  1
  •   Jerry Coffin    16 年前

    如果你要做3D,你几乎肯定最好使用OpenGL(例如via jogl)。在这种情况下,您基本上是在三维空间中描述对象(例如墙的位置和颜色、灯光的位置和颜色等),然后指定当前的“相机”位置。旋转(通常)是通过为相机指定不同的方向来处理的。

    学习OpenGLAPI并不是一件小事,但很有可能你担心的是错误的事情——例如,完全的三维旋转是一件小事。创建真实的光源(尤其是要包含阴影的情况下)是 伟大的 处理更多的工作。