如果是自己玩,用哪个都可以。若要上线,二选一的话,只能是Unity。
下面只谈上线,毕竟对于我这种面临中年危机,做最后挣扎的养家狗来说,不能上线赚钱的项目,就没有开发价值。
若需要上线运营,其实最简单的是Cocos Creator或者白鹭这类h5引擎,做微信小游戏。缺点是只能做2D项目,虽然白鹭有3D功能,但基本只是个摆设。而且由于有js的性能瓶颈卡着,所以只适合开发小游戏,项目大了Hold不住。优点是可以利用Web前端的生态链,很多东西都不用自己搞,用现成的第三方服务东拼西凑就行了。
unity也非常好,一门C#就能打通前后端。但若要成功上线,要学的东西其实非常多,好在.Net的学习过程很平滑,又有EF之类的高效工具可以用,虽然付出时间有点长,但整体技术回报也相当大。顺便把后端技术棧转到.Net Core上,又快又好用,连Java都可以扔了。
UE4在国内,只适合做VR,除非你在腾讯工作,否则上线游戏几乎不可能。对于绝大多数开发者来说,这条路根本就走不通。每天都在知乎见到粉丝无脑安利UE4,却很少看到有人分析UE4项目上线的可行性。
尽管总有人说UE4如何如何复杂,但其实UE4这个引擎一点也不复杂。如果比较整个生态,UE4的学习成本其实比Unity还要低。
而上线的难点在于,C++是一门纯IT时代的语言,它根本无法融入互联网生态圈。大部分困难,都是C++本身的局限性导致的。
第一个问题就是,光写C++,并不能成功上线。
咱就先拿最简单的账号注册登录功能来说吧。其实自己搞一套最基础的注册登录功能很容易,但若想用C++搞一套能够上线运营的注册登录系统却难如登天。
实现注册登录功能最简单有效的方法,是使用现成的Web框架。比如Java的SSM框架、C#的ASP Net框架、PHP的Laravel框架等等。这些框架已经内置了各种成熟解决方案,能够抵御绝大多数网络攻击。开发者并不需要明白框架做了什么,只要按照文档要求,加上特定的关键字,就能够确保数据安全。
但C++并不是互联网语言,没有Web框架,因此只能自己造轮子。那么所有的安全问题,当然也只能自己解决。所以你必须了解跨域攻击、洪水攻击、数据注入攻击等等各种网络攻击方式,并能有效防范它们。如果你能做到这些,那你就已经是一名红客了。走网络安全的路子,显然比游戏开发更加适合。
也许你早就想说了,后端逻辑干嘛非要自己写?只要找个后端程序员,用别的技术棧帮忙搞一套不就解决了嘛?答案竟然如此简单!
于是第二个问题就产生了,除非你只做局部模块,否则不懂后端的话,也根本做不了前端。
游戏开发和Web开发不同。就算完全不懂数据库,照样可以做web前端开发。因为页面并不处理数据交互,只负责收发Get/Post请求,实际业务逻辑全都是在后端服务器上实现的。简单说,前端和后端,在部署阶段的时候,是运行在同一个进程里。
可游戏却不能这么搞,因为客户端与服务端是两个进程,相互完全独立。Web框架并不能直接操纵客户端中的内容。Web框架只能跨线程,并不能跨进程。
所以需要在游戏引擎和Web框架里,各写一份完全相同的Model类,分别映射数据库中的表结构,再通过http请求建立连接,才能实现前后端数据同步绑定。
最稳妥的做法,就是由一个人负责编写两端Model。如果你写不出后端Model,也必然写不出前端Model。
所以,后端逻辑确实可以使用其他语言实现,也确实可以由别人代劳,但至少你得看得懂后端代码、数据结构、请求方式、数据筛选条件、以及分页逻辑,并且能在游戏引擎里面照葫芦画瓢。
只有这样,才能使帐号管理、物品管理、交易系统等功能,与数据库中的数据同步CRUD。
所以,你至少得掌握一套可以对接互联网的技术棧。Java+SSM也好,C#+.Net Core也罢,总之绝不是C++。
搞定前后端数据绑定,就可以上线了嘛?NO,还差的远呢。
网上有很多现成的SAAS服务,可以提供一整套现成的网络服务,甚至根本不用自己搭后端,就能通过云服务实现注册登录。不仅如此,还能实现微信账号登录、分享到朋友圈、手机绑定、短信验证码、在线充值、道具商城、地图定位、玩家统计、权限管理等各种各样的功能。为啥不直接使用这些现成的网络服务,却非要自己写后端?
因为第三个问题就是,几乎所有的第三方网络服务,UE4全都无法使用。
因为这些服务,最初都是为安卓、IOS、以及Web前端开发人员提供的。UE4并不能接入安卓或IOS的原生SDK,更无法对接Web前端。所以你要自己实现的远远不止CRUD这么简单,前面所说的那一切功能,全都要自己实现。
因此才说,想用UE4搞游戏,你只能去腾讯。
为啥去腾讯就能解决这些问题?
因为腾讯掌握着一套完整的网游生态链。比如单单一个微信账号捆绑,就能解决一大堆问题。账号、好友、通信、分享,四个模块,全都不用自己搞了。
虽然UE4并不支持调用微信接口,但如果你所开发的游戏,是鹅厂的项目,那就另当别论了。再加上微信支付、腾讯开发者平台、腾讯云,岂不是一套完整的生态链就打通了?
可是如果无法进入腾讯呢?UE4既不能接入安卓和IOS的原生SDK,又不能接入SAAS,这些功能如何实现?全都自己写嘛?如果写不出在线充值,你的游戏如何盈利?
当然,就算没有生态支持,你也可以做PC端单机项目。但问题是,单机项目又怎么盈利?卖正版?你不是开玩笑吧?
所以Unity3D,一门C#打通前后端,就显得非常必要了,又能接入安卓和IOS的原生SDK。剩下的只要写好游戏逻辑就行了。
也可以用Cocos Creator、白鹭等H5引擎,数据全靠SAAS服务搞定即可,做微信小游戏完全够用了。
至于UE4,可以用来搞VR,去房地产行业找找机会。国内在职的UE4开发人员,大部分也确实是这么干的。用UE4搞游戏的,几乎全在腾讯。除了腾讯之外,网易也有几个人在搞,但网易的生态链不完整,所以日子一天天过去,却啥也搞不出来。 加一些东西—
一些基本入门推荐B站的UP主UE4谌嘉诚,思路很清晰,我也是看他视频入的坑,题主加油哈。
强烈推荐UE4,UE4可以导入模型绑定骨骼,很适合制做角色,其它方面诸如粒子特效,场景编辑等等,动画专业的同学都可以入手,再加上蓝图的可视化编程,只需要连线,实现一些基本的交互,并弄懂其中的逻辑,制作一款小游戏,并不难。而且你也学过一些编程,对这些上手也是很快的。
至于素材,如果觉得刚开始自己画比较麻烦,为了学习,可以上淘宝买一些素材,也不是很贵,几十块就能得到很好的素材包,先试着学会用这些现成的东西,最后手法熟练了,再做自己的素材,然后学会使用也可以。
至于画面,我想你应该不用太担心,很多素材的表现方面都很好(我个人观点:现成轮子,先学会用,之后再边学边造自己的轮子)。总之保持学习的心就是啦哈哈。下面三张图片就是我刚开始学习了三天,弄出来的场景。
还有,对于地形编辑方面,我推荐使用worldcreator
它可以制作地形的基本样貌,然后导出高度图,这个高度图可以直接导入到UE4中,适合大场景的制作,然后自己根据需要,再做修改就行。推荐这个软件配合PS使用,PS可以更改高度图不同区域的亮度,亮度不同,导入到UE4中的地形也就不同。
还有粒子特效,人物动画,材料建筑等等其他美术方面的东西啦。其实我也不大清楚,我就不乱说啦
其实我也学了不是很久,以上就是我提出的自己入门的一些意见,希望给题主有一些帮助啦。 我更建议用u3d,因为对我来说比较容易上手,我不是搞动画和游戏开发的,只是因为游戏MOD要用到,至于模型啥的,emmmmm要求不高可以不用高模,就像楼下说的你可以先凑合一下,然后等活了之后再把流程甩了让人花钱去做,这种其实比较提倡 ue4,我从接触到第一个tps demo只用两天。 看到题主一个评论 把自己做的模型放在unity中用默认shader渲染效果很差 这是肯定的 因为默认shader只提供最基础的 漫反射 金属 自发光等等一些简单的功能
如果只是因为这个就选择ue4未免太片面了 shader这个东西还是需要图形学知识的 自己写一个肯定是最好的 如果仅仅想把自己的模型的渲染效果最简单快速的复现出来 那都是要靠第三方工具(现有的shader)的 所以反而这方面更简单 更重要的是独立开发肯定是时间越短越好 所以游戏逻辑的实现上也很重要 ue4蓝图没了解过 但我建议还是多从这方面上去考量
最后再怎么说 我觉得unity他都是比ue4更适合入门的(特别是动画专业而不是计算机) 最快的不是研究游戏引擎,而是用现成游戏的地图编辑器做mod。反恐,dota,dayz都是这么来的。
页:
1
[2]