为什么大家喜欢用Unity呢?
第一,它选择了C#作为主要开发语言。
C#是一种托管语言,和c++比,不够Native,不够高效,和脚本语言比,又不够灵活。
但它胜在全面。
强类型,跨平台,语法糖,应有尽有。
比简单的脚本语言强大,比c++更简单易用。
值得吐槽的是托管语言必须要面对的一个垃圾回收、和源管理问题。
往常,开发者们只能通过Unity自身的Profile功能来大幅度优化来解决不可预测的卡顿和崩溃。
但随着2019LTS版本中增量GC的功能推出,这个问题已经可以被引擎本身缓解一部分。
增量GC是指,引擎通过在多个框架上分配工作负载,来把一次性的大型的中断替换成多次小型更频繁的中断。通过这种粉碎式的替换,在游戏引擎运行过程中实现一种近似于load balance的效果,从而消灭突如其来的巨大卡顿,降低开发者的优化压力。
第二,Unity的渲染系统虽然不够突出,但是也足够好用。
传说中的Unity做不了高端游戏,绝对是一个误会。
我们往往不这么做,仅仅是因为市场更看好手机平台的游戏,要知道在我国PC的渗透率只有可怜的30%左右。主机市场更惨,但是介于某些敏感的原因我就不解释了,我相信只要是个老玩家都懂,任何合格的我朝游戏从业人员都不会把做主机游戏当做一个目前可行的方案。
是的,我们不用Unity去做高尖端游戏,不代表它做不了次时代画面的游戏。
可惜的是,它必须在支持cpu shader的平台上才能使用,因此,业界使用到它的机会也不多。不过这不是引擎的问题,将来手机硬件升级以后,该强大的渲染管线支持高端手机将不会是问题。届时,Unity开发的次世代手机游戏将会更普遍。
Unity同样没有遗忘它的基本盘,在不够高端的平台上,Unity推出了偏重灵活性,可配置性,可编程性,易用性的URP。URP全称Universal Render Pipeline,它就是为了轻量级渲染而生的。
简单,好用,开源,可编程,偶尔技美一定要搞点大动作,也可以挪一点HDRP的小组件,改巴改巴整过来提高游戏的逼格也是可以的。
第三,费用问题。
我已经看到过无数的人吹Unreal的收费便宜了,但这吹法不对。
尤其是腾讯用脚投票的姿势那么明显……
Unity是按照坐席订阅收费的。
你开发一款月入一个亿的游戏,和一款月入一百万的游戏,订阅Unity的价格是不变的。
一套正版一年1800刀。
但如果你用的是Unreal,它们不是这样算的。
当你的收入超过门槛以后,它是按照5%抽成的。
不要小看5%。
《王者荣耀》这种规模的游戏,一个月的5%就可以有100万刀,而这笔钱可以够600套Unity用一年。
这笔账非常好算,好算到腾讯至今新出的游戏里面,Unity依旧有80%以上的占比。
所以,对于国内的游戏市场来说,Unity更便宜是没问题的。
第四,也是对于个人来说最重要的一条。
所有其他的理由,都是帮助游戏公司用更低的成本,更简单的方法,更高的成功率去做出一款符合市场预期的游戏。
只有这一条,它牵涉到的是开发人员自身。
那就是Unity成熟的社区和市场,本身就是一个巨大的诱惑力。
当你一旦考虑到哪种游戏引擎学了更容易找到工作;
或者你一但考虑到哪种游戏引擎学了以后对公司的依赖度会下降,更容易跳槽;
或者你一但考虑到哪种游戏引擎学起来比较容易成功,网上资源更多;
只要你考虑到诸如此类的问题的时候,我可以负责的说,Unity目前是标准答案。
是的,如果仅仅考虑玩一玩的话,选哪个都行,它们各有特色,玩起来体验也不一样。
但如果有人想要通过某一种引擎去真正投入到游戏开发的工作当中去,寻找更好的机会的话,必然是Unity,不信看数据,145:954。
也许你能看到腾讯等场子里有引擎组的大佬搞Unreal很捞钱,一边捞钱一边跟你吹Unreal。
但你要相信我啊,他们捞钱是因为他们是大佬,不是因为他们搞Unreal。
最后
我想说,工程这种东西,最重要的应该是,哪怕是一个菜鸟把工作接过去,也能做得像模像样。
Unreal的设计理念,无论是顶尖的效果,最硬核的开发语言,还是蓝图这种为了非程序员准备的开发工具,走的全是高端大气上档次的路线。它牺牲了接地气的气质。
而搞工程,我以为接地气非常重要。这就是为啥你会在知乎或者社区里看到很多人玩Unreal玩得很带劲,但一旦到了公司到了项目中,还是用Unity的根本原因。作者:温酒链接:https://www.zhihu.com/question/37124677/answer/1322231841来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。