首先,一般个人用户是拿不到寒霜的。寒霜原本是瑞典一个小公司做的引擎,原本是要做成商业引擎的,但问题在于,EA突然收购了这家公司,然后停止对外授权。因此寒霜引擎就成了EA公司的内部引擎。除非成为EA的员工,否则是碰不到寒霜的。剩下的unity和UE4,是商业引擎,一般开发者是可以接触到的。至于入门嘛,要看什么叫入门了。是要能做一个完整的游戏,并且上架到应用商店去赚钱,叫做入门呢?还是做出一个半成品,在别人面前装B,被视作大神,就算入门呢?这两个概念,完全不一样。简单概括一下,做出成品,Unity门槛低。因为Unity的门槛,都在前期。虽然对于计算机专业的学生来说,这点门槛不啥,但完全零基础的小白,通常容易在一开始放弃。因为学习Unity之前,你首先要掌握C#语言以及一些.NET的基本库,具备一定的编程基础。如果完全零基础,到熟练掌握C#,自学的话大概需要至少两年的学习周期(C#,ADO.NET,ASP.NET也就是大学的四年计算机课程,具体进度看悟性),这个过程非常枯燥,每天都是在一个黑框框上打东西,完全没有画面可以看,每次停住回头看看,你都会发现,自己做了一大堆笔记,思考了一大堆问题。。而啥也做不出来,只会在那个黑框框上打东西。。。。但只要度过这一段枯燥的岁月后,你几乎就跨越了所有门槛。此后学习Unity的过程会非常平滑。只要前期的基础打好了,学习几周时间,做出一个CS,根本就不是事儿。从此便进入“照葫芦画瓢”阶段了,看到一个游戏,就自己琢磨着山寨下试试,即便遇到困难,复习复习之前的笔记,总能解决大部分问题,实在想不出来,看看源码,也就当顺便复习了。等山寨出几个游戏之后。最后就是要熟悉自己的目标平台,比如安卓,IOS两大系统,以及任天堂,索尼等公司的开发环境,为什么不提微软?废话,微软的开发环境不就是.NET嘛?选好平台之后,简单学习一下对应平台的注意事项。就可以准备上架第一个项目了。至此你就算正式入行了。做出半成品UE4低。UE4这个引擎的优点之一,在于可以吸引零基础小白。因为它可以“不写代码就做出游戏”。而这个引擎的致命缺点,就是“不写代码根本做不出游戏,而且那代码还真不是一般人能写出来的”。UE4的学习过程,一开始觉得非常非常非常容易。而且啥基础都不需要。因为UE4里面有一个叫做蓝图的节点编辑器。这种节点编辑器,最初是出现在三维动画软件里面(如MAYA,C4D等),用来做动画逻辑的。只要学习两三天,拽几个节点,连连线,立刻就让一个人物模型跑起来了,还会跳,会开枪,会放技能。。要啥C#?要啥.NET?要啥黑框框?哥小学没毕业,学习UE4一周,就达到这程度了。瞬间秒杀一群学了两年编程,还在摆弄黑框框的大学生。但两年之后,熟悉了UE4的每一个按钮,每一个节点,会发觉自己依然只会这些。依然只会是让一个人物模型,在各种地形上,跑一跑,跳一跳,开开枪。。。今天在沙滩上跑。。。明天在楼宇之间跳来跳去。。。。你可以认为这是一个Demo,或者说是一个半成品。但它永远都只是半成品。因为你发现自己跟本无法“照葫芦画瓢”。UE4的蓝图只适合参与三种类型的游戏工作,FPS游戏,FPS伪装成的格斗游戏,和赛车游戏。。。。无论蓝图学的如何精通,只要人家问你,你能用UE4的蓝图做个策略游戏吗?你能用蓝图做个战棋类游戏吗?你能用蓝图做个桌面游戏吗?你会瞬间无言以对。你一定没见过有人用UE4做出来《连连看》吧?你也一定也没见过UE4做出《俄罗斯方块》吧?不是大家不屑于做这些小游戏,而是因为太难了。。不只个人开发者,即便是那些游戏行业的巨头们,也只会在制作FPS和赛车等游戏时,才会使用UE4。。。因为其他类型,对于UE4确实太难胜任了。因为节点编辑器,本身就是为动画的逻辑设计的,动画都是提前确定好的。在动画开始制作之前,就已经有了剧本。而游戏却完全不一样。游戏要根据用户的操作,临时去做出不同的行为。直白一点说。这玩意搞出的逻辑是“固定”的。按某某键,往前跑。。。。按某某键,开枪。。。。这种“固定”的逻辑可以。。而要靠它实现算法级别的东西,实在太难了。无论如何,到此算是半成品出来了,这时候摆在面前的,便是一道无比巨大的鸿沟,那就是之后的工作,要用C++去写。C++这语言,绝对不是最难的编程语言。但绝对是最难的编程语言之一。不仅面向对象,还掺杂面向过程的那一坨东西,而且还无脑的堆砌在一起。。。这都不算啥,关键在于那惊人的代码量。。。暂且不论C++本身,如果你真的能用C++写出后面的逻辑。。后续发布都能搞定的话,那你还真的需要蓝图吗?写个走路,跳跃,开枪的状态机,岂不是小儿科?
如果您对开发游戏感兴趣,而又没有决定选择哪一个游戏引擎,别犹豫了 unity3d是一个很好的选择!就我来看unity3d优势主要有以下几方面:首先部署简单,自带了一个IDE monoDevelop;其次,unity3d是一个跨平台游戏引擎,无论是Android,ios还是pc发布都很方便;c#作为脚本支持,当然还有js和boo语言,其中js应该说是JavaScript for Unity与正常的JavaScript差别挺大,推荐最好还是选择c#语言,c#在编程效率和运行效率差之间取得较好的平衡性,并且也较为容易掌握,现在公司用unity3d的一般也都采用c#语言;大规模的插件市场,相对其他游戏引擎unity3d具有各式各样的插件,在asset store中有许多付费以及免费的插件供你选择,可谓方便至极;大量的资源教程,unity3d使用人数越来越多,随之而来的资源教程也是海量的。如果想系统性的学习下unity3d,建议可以去SiKi学院看下,那里有许多免费视频,而且学院里的老师也在一直更新!
入门门槛不好说,用虚幻的话,c++不好学。用unity的话,c#好学,但是服务器不好弄(当然,真正开发时服务器是后端程序员干的)。寒霜你用不了,艺电自己用的。虚幻用c++,适合pc游戏,服务器一般用c/c++。收费方式是按你的产品收益的百分比。unity用c#,适合手机游戏,服务器一般用c/c++。收费方式是一次性收费。想跨越pc和手机平台局限性,适合用html5开发页游(小游戏),服务器语言随你。