《几分钟游戏开发:unity和ue4的一些基本的对比》
好久没有写文章,今天时间比较多,就写一个小小的总结,对比一下当下最火的两个引擎,unity和ue4。到目前为止,我也花了不少时间使用和研究这两个引擎,不敢称专家,但是也算两个引擎都入门了,总结一下我大体的感觉:1. unity基于的是相对比较开放的原则,ue4基于的是相对比较封闭的原则,也就是说,一般意义上,不修改源代码的情况下,unity可以自定义的自由度比ue4高,ue4相对封闭,很多东西都提供了完善的工具,但是并不太提供自定义和修改。其实很难说哪个更好,举个例子,unity的character controller基本需要自己写或者通过plugin完善,类似的例子还有很多,比如behavior tree,unity也没有提供官方的解决方案目前,网上大多数的plugin确实是好事,但是大部分也是看上去能用,要真的打磨到production level也需要不少精力。ue4呢?很多工具都已经做到很不错的质量,能够实现的功能一般都比unity的第三方插件好,但是也是有那个问题,需要做一些修改的时候如果不改代码就很难,虽然封装的很不错但是有点“强迫你follow它的架构的意思”。
2. 资料和文档还有视频和社区,unity其实已经非常非常成熟了,经历了这么多年的迭代,有全球最大的社区,最多的资料和视频,非常非常多的人使用unity,可以这么说,一个新游戏需要踩的坑基本全世界肯定有人踩过了,这对团队来说是极大的优势,但是有一个很严重的问题,一般的开发团队没有源代码,真正遇到坑之后,基本没有太好的办法去解决,这对一个成熟的团队来说是很致命的,所以现在很多使用unity的成熟团队都购买了源代码。ue4我记得2014年的时候我也研究过一段时间,当时的感觉真的是,资料非常少,但是过了这么多年,再转头重新研究,发现真的是完全改善了,这也得益于epic大量的投入和开发者越来越庞大,一般的问题基本都能找到答案,但是还有一个天然的优势,就是源代码的开放,就算你不修改,阅读源代码也比很多文档直接好用很多,同时这也是一把双刃剑,对于不熟悉c的团队来说这反而成了一种阻碍,大体来说还是unity的支持更好一点点,但是也差不太多,特别是这两年epic的急剧发展。
3. 最后稍微介绍一下gameplay framework方面的对比,unity采用gameobject和component的架构,ue4也采取了类似的架构,但是更加hybrid一点,无论是历史遗留原因还是其他原因,ue4有很冗长的继承结构,actor也能有component,但是很多例子也有直接使用actor自身的,不完全依赖component。unity采用的是prefab,ue4相应的功能有blueprint,这个结合我自身的经验,ue4的robust程度和方便程度远远大于unity,他的每一个模块的自定义editor真的比unity的方便太多,特别是setup方面的。从引擎内定的editor来比较ue4的迭代效率比unity高很多,特别是中大型项目的迭代速度。另外个人感觉如果比较熟悉的话小团队制作一些游戏prototype速度也不会比unity慢。
总结来说我个人感觉还是ue4使用的比较顺手,但是unity也一直在进化,马上unity6就会出来,这个比较也只是揭露冰山一角,以后有时间我会针对更具体的特性和模块更深入讨论,希望对大家有点帮助,有兴趣的朋友可以找我多交流。
页:
[1]