我是iPhone应用程序开发人员。我想进入iOS游戏。问题是-我应该先学习像Cocos 2D或Corona SDK这样的2D,然后再学习像Unity这样的3D游戏吗?我对3D游戏更感兴趣,但是您认为了解2D游戏是学习3D开发的先决条件吗?
我是iPhone应用程序开发人员。我想进入iOS游戏。问题是-我应该先学习像Cocos 2D或Corona SDK这样的2D,然后再学习像Unity这样的3D游戏吗?我对3D游戏更感兴趣,但是您认为了解2D游戏是学习3D开发的先决条件吗?
Answers:
这取决于您对数学 和 3D游戏编程概念的了解程度。
通过仅使用x,y位置和速度(以及将它们相加和相减-基本是矢量)和2D盒子碰撞的概念,可以得到2D。
在3D中,您必须担心更多的数学运算:投影矩阵,查看矩阵,视锥细胞。
此外,您还必须与 正在使用的绘图API中的功能更加丰富的集合(仅由于您正在执行3D,所以您必须学习更多的功能来处理3D) )。
Microsoft XNA 对2D 入门提供了出色的支持,并使用SpriteBatch简化了渲染。一旦涉足 3D,您就必须自动学习VertexBuffer或Model,然后附带ModelBones及其附带的所有其他内容。
最好开始使用2D仅仅是因为您需要掌握的概念更少(2D子图形?在掌握了一些经验之后,您就可以进行3D了。
2D和3D游戏开发之间的唯一根本区别是您是否使用第3轴。如果您使用的是Unity之类的引擎,则只需使用正交摄影机投影和精灵而不是模型,就可以像制作3D游戏一样轻松地制作2D游戏。
话虽这么说,如果您使用的引擎不适合您进行很多3D繁重的工作,则难度会更大。请参阅以下问题的答案:在决定游戏的2D与3D时应考虑什么?
您应该做的是决定要制作哪种游戏,美术和设计会告诉您是否需要2D或3D。
我同意Tetrad的观点,您应该考虑艺术和设计,如果需要2D或3D,它将带您进入。我还要说,首先创建2D游戏可能是个好主意,这样您就不必考虑3D游戏所带来的困难。另外,要认识到的一件事是,大脑将通过2D游戏处理更少的信息,而这正是您想要获得更随意的体验的目的。
如果您回顾过去三年中大多数成功的独立游戏,其中很多都是2D的。
http://www.braid-game.com/
http://limbogame.org/
http://supermeatboy.com/
http://www.andyetitmoves.net/
因此,一家公司可以成功制作仅2D游戏。游戏的成功来自游戏机制,故事,美学和技术。否则称为四面体。我离开话题了,所以我离题了。
请记住,您可以更轻松地练习2D艺术资产。因此,尽管我认为学习2D游戏开发不是学习3D游戏开发的前提条件(无论哪种方式,图形代码之上的游戏代码几乎都是相同的),但我仍然建议大多数初学者从2D游戏开始,除非您已经具有3D图形的坚实资源(例如,您将与3D艺术家的伙伴一起学习)。
在代码方面,难度取决于您尝试学习的内容以及将使用的引擎(尤其是如果您要编写自己的引擎)。低级3D图形代码比低级2D图形代码要复杂得多,但是如果您要使用Unity之类的引擎,则不会编写低级图形代码。内置在该引擎中的3D游戏的代码并不比2D游戏的代码复杂。确实,它可能会变得不那么复杂,这再次取决于您正在谈论的特定引擎。