开发小问题之入门选2D还是3D
有一定的工作经验或者开发经历的人,貌似从来不会犹豫过这个问题,而这个问题在我还是新手阶段的时候一直困扰着我,2D开发和3D开发究竟哪个好呢?
2D和3D对新手最大的影响在于不清楚两者的表现力如何。一般按惯例去网站搜索别人的开发视频,大部分人都会发现开发3D游戏是最好的选择,因为3D可以做到很多牛逼的特效,人物建模等,表现力极强。而选2D只会遇到合眼缘的素材时才选,但是能碰巧遇到合适的2D也很难。那Unity入门时选2D好还是3D好呢?
基于自身目的
如果说学习unity一开始没有任何目的的话,那么我建议3D是最好入门的。原因有两个。
1.Unity制作3D时,开发者一般不需要过渡计较画面表现力。
一开始抱着开发项目就想做到COD或者PUBG那样超强表现力的画面,并以此为目标而进行游戏开发,这样的人不在少数(包括我)。有梦想是可以去追的,但是一开始就想会追梦太过不切实际。游戏开发中核心步骤分为5步 1.立项 2.核心功能实现 3.围绕核心功能进行拓展 4.添加美术、音乐、设计 5.进行质量检测 。这是开发游戏时最基本的流程,如果一开始把核心部分就想做到如同COD那样的话,那前三步内容会变得畸形。
固定了FPS模板,那么立项这步很多人直接跳过了。由大作就可以猜到核心功能:射击,走路跳跃,第一人称视角,敌人,场景。 然后就,没了~
简单的立项和确定核心功能,会导致后续制作过程中程序与程序之间耦合严重,甚至只是实现了一个走动的模型,点鼠标左键可以射击,子弹碰到敌人就结束游戏。后续像拓展就没东西了。
想实现COD那样的画面不难,难就难在一开始就以COD为目标会选择性忽视掉游戏中其他的内容,导致最后只是实现了三个功能,走动,射击,死亡。所以要开发一款FPS一定要在立项时做深刻的功课。
2.在unity上制作3D比2D可以打下更好的基础。
纵所周知unity2D就是3D转换一下视角过来的,3D的知识在2D中也可以体现出来。比如2D图片围绕Y轴旋转180°,就可以达到2D人物左右移动。在2D视觉上看不出来任何原理,实际上把画面切换成3D之后就可以看出来,2D人物就是在一个平面上的图片,只占用了XY,而Z轴基本是没有用到,单纯的一块平面图片,所以让图片围绕Y轴旋转180°可以了。
如果是有一定目的的话那就要根据目的来进行分类了。
1.为了开发某个功能。2D与3D都是可以选择的,这时候画面就不需要任何美术,只需要圆柱(或正方形),就单纯的实现功能就可以了。
2.为了学会逻辑(类似于GalGame)。这个就跟2D与3D无关了,直接使用UI都可以做出来,单独找UGUI的视频学习就可以了。
3.系统的锻炼立项与程序。这样的目的很明确了,按照上面说的先立项,后实现功能。立项做的功课越多,后续实现功能就不会更累,这也是为什么开发团队一直都有策划的原因。立项的首要工作就是确认游戏类型,游戏包含哪些模块,游戏是否需要后续优化等一大堆工作。不一定要像专业策划一样,把某个数值规定到具体,但是一定要会拆分系统。比如FPS开发,拆分成武器系统,走路系统,仓库系统,伤害系统,UI系统等。拆的越详细,程序开发时就会越容易维护。最好建议用3D。
4.想使用到最好的美术与音乐。我建议换UE4都比unity快多了。
2D与3D从不需要纠结,只需要记住5步: 1.立项 2.核心功能实现 3.围绕核心功能进行拓展 4.添加美术、音乐、设计 5.进行质量检测
这样开发任何游戏都不会有太多的问题。