选择哪个:用于java游戏的2D或3D

一个小团队应该为他们的第一场比赛选择什么,当他们准时不足但有雄心壮志的时候?我是一名经验丰富的程序员,但在此之前还没有做任何游戏编程.我的设计师非常有才华和艺术,大约一年前他一直在使用3D,但他没有这样做,因为他可能需要一些时间再学习它,我不确定他是否能够做到尽管他的平面设计技巧非常出色,但也能很好地完成它.

我们主要关心的是尽快完成游戏,也可以轻松完成,因为这是我的第一个游戏编程项目.与此同时,我们不希望有任何可能妨碍我们以后进步的限制,或者以某种方式使游戏变得无趣.

例如,我了解到某些动画在2D中是不可能的,例如旋转等.我希望能够让玩家的角色能够变形为动物,并且必须有射击怪物的能力(如射击)一个箭头,看到它飞过并击中另一个人).这些东西在2D中是否可行?

在未来,如果我们想从3D转向2D,那么在没有完全重写游戏的情况下是否可能?

解决方法

您不必使用3D来实现“3D外观”.诸如旋转,运动或变换之类的事物可以被预先记录或预渲染为动画或图像序列并且无缝地集成到2D游戏中.
在2D中唯一不可能的是在你的“游戏空间”内自由导航(比如走路或自由飞行,任意转动等)

然而,在决定2D或3D时,主要关注的应该是游戏玩法.有些游戏绝对需要3D(射击游戏,模拟游戏),而其他游戏则完美无需(冒险,谜题……).所以你实际上不必决定,而是选择更适合你的游戏理念.

就个人而言,如果可能的话,我会在第一次尝试游戏时避免使用3D,以消除随之而来的所有限制和麻烦.

使用3D时,您通常需要决定3D框架,这将严重影响您的软件设计,游戏外观和整体性能.例如,Java3D带来了一个你必须调整的复杂类结构.
并且需要付出很多努力才能完成3D工作.旋转正方形等简单的事物演变成包含四元数的矩阵运算.每个效果都必须在复杂的3D世界中完成,并且以这种方式使其2D投影外观以您想要的方式呈现.
更不用说3D应用程序经常遭受非常难以克服的陈规定型外观.

在2D中,您实际上避免了复杂性的一个维度.您可以按照预期的方式完成所有操作,您可以使用标准图形应用程序和打开文件格式来简化设计人员与开发人员之间的工作流程.许多伪3D效果,如视差运动,景深和预渲染的艺术作品,可以在2D世界中获得惊人的外观.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...