我应该在3d之前学习2d游戏开发吗?[关闭]


14

我是iPhone应用程序开发人员。我想进入iOS游戏。问题是-我应该先学习像Cocos 2D或Corona SDK这样的2D,然后再学习像Unity这样的3D游戏吗?我对3D游戏更感兴趣,但是您认为了解2D游戏是学习3D开发的先决条件吗?



抱歉,我认为给定的问题可能不是我所链接的问题的重复。尽管答案有很多相同之处。
bummzack 2011年

Answers:


11

这取决于您对数学 3D游戏编程概念的了解程度

通过仅使用x,y位置和速度(以及将它们相加和相减-基本是矢量)和2D盒子碰撞的概念,可以得到2D。

在3D中,您必须担心更多的数学运算:投影矩阵,查看矩阵,视锥细胞。

此外,您还必须与 正在使用的绘图API中的功能更加丰富的集合(仅由于您正在执行3D,所以您必须学习更多的功能来处理3D) )。

Microsoft XNA 对2D 入门提供了出色的支持,并使用SpriteBatch简化了渲染。一旦涉足 3D,您就必须自动学习VertexBufferModel,然后附带ModelBones及其附带的所有其他内容。

最好开始使用2D仅仅是因为您需要掌握的概念更少(2D子图形?在掌握了一些经验之后,您就可以进行3D了。


9

2D和3D游戏开发之间的唯一根本区别是您是否使用第3轴。如果您使用的是Unity之类的引擎,则只需使用正交摄影机投影和精灵而不是模型,就可以像制作3D游戏一样轻松地制作2D游戏。

话虽这么说,如果您使用的引擎不适合您进行很多3D繁重的工作,则难度会更大。请参阅以下问题的答案:在决定游戏的2D与3D时应考虑什么?

您应该做的是决定要制作哪种游戏,美术和设计会告诉您是否需要2D或3D。


4
我认为您过于简单了。2D是海拉容易,因为抛出的是第3轴,有很多考虑较少。碰撞变得更简单,在纸上讨论问题变得更加容易,并且学习如何编程2D游戏比学习如何编程3D游戏更容易。
bobobobo

3
这是一种简化,但主要是我了解到的是:1)2D或3D对您在游戏中做的大部分事情(UI流程,核心机制,网络等)无关紧要,以及2)使用任何可靠的中间件(尤其是Unity)将为您完成绝大多数数学运算,希望您可以专注于游戏逻辑本身。
四分

最后一句话钉住了它。
蒂姆·霍尔特

5

我同意Tetrad的观点,您应该考虑艺术和设计,如果需要2D或3D,它将带您进入。我还要说,首先创建2D游戏可能是个好主意,这样您就不必考虑3D游戏所带来的困难。另外,要认识到的一件事是,大脑将通过2D游戏处理更少的信息,而这正是您想要获得更随意的体验的目的。

如果您回顾过去三年中大多数成功的独立游戏,其中很多都是2D的。

http://www.braid-game.com/
http://limbogame.org/
http://supermeatboy.com/
http://www.andyetitmoves.net/

因此,一家公司可以成功制作仅2D游戏。游戏的成功来自游戏机制,故事,美学和技术。否则称为四面体。我离开话题了,所以我离题了。


最后一章+1,因为它强调了内容(例如故事)质量作为成功特质的重要性-一些游戏开发者似乎错过了其他因素,只专注于3D方面,但是很多粉丝都非常重视好故事和深思熟虑的背景可以带给运动场的深度(无论尺寸大小)。
兰道夫·理查森

尽管我同意您的大多数说法,但还是有一些出色的2D游戏从来没有被认为是休闲游戏,而相比之下,您的普通3D射击游戏所涉及的范围要小得多。
Edwin Buck

3

请记住,您可以更轻松地练习2D艺术资产。因此,尽管我认为学习2D游戏开发不是学习3D游戏开发的前提条件(无论哪种方式,图形代码之上的游戏代码几乎都是相同的),但我仍然建议大多数初学者从2D游戏开始,除非您已经具有3D图形的坚实资源(例如,您将与3D艺术家的伙伴一起学习)。

在代码方面,难度取决于您尝试学习的内容以及将使用的引擎(尤其是如果您要编写自己的引擎)。低级3D图形代码比低级2D图形代码要复杂得多,但是如果您要使用Unity之类的引擎,则不会编写低级图形代码。内置在该引擎中的3D游戏的代码并不比2D游戏的代码复杂。确实,它可能会变得不那么复杂,这再次取决于您正在谈论的特定引擎。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.