Unity3D和UE4哪个才是未来的方向？
不是Unity3D日落西山，而是UE4老不死的（没有贬义）。UE是个怪兽，从远古时代一直活到现在。几十年的寿命中被不同的引擎挑战，仍然屹立不倒。 我是10年前是做Ogre3D引擎的，当时UE就是很受欢迎的引擎，但我却不会用，因为授权费至少十几万人民币。所以我们这些屌丝只能用开源引擎，国内当时开源引擎的氛围是最好的。 商业引擎没有钱用，只能偷。大公司的程序员冒着违法的风险从公司及其里面偷着拷贝出来用，但是没用，你拷贝出来的不能做游戏，发布游戏会被告，如果不能做游戏，所以你最好偷源代码出来，至少能学点东西。 当时游戏程序员见面就和贩毒的见面一样，两个人躲在公司的角落里面，互相试探：你有UE的代码？是最新版的吗？我拿Cry Engine的代码和你换怎么样，再加GameBryo的代码。 不不不，上面是杜撰，UE的代码到处都是，肯定没有Cry Engine的抢手。 说实话十年前也有Unity引擎了，最初是作为网页嵌入游戏引擎出现的，但是随着移动设备出现，Unity借着东风扶摇直上。 更重要的是，它便宜。它最先干掉的是免费的开源引擎，比如Ogre3D，现在几乎没人用了。 商业上最锋利的武器就是廉价，杀的对手无力招架。UE只能通过降价，来拼架。（整段押韵） Cry Engine等引擎都在移动市场的革命上面日落西山，UE也不好过，但活了下来。 VR是UE的翻身仗。 为什么呢？ 因为Unity擅长的是在低等级设备上面流畅运行，UE擅长的是在高端设备显示更好的效果。（早期）移动设备是前者的天下，而VR是后者的战场。UE王者归来。 Unity认输吗，没有，VR前面还有AR，HoloLens1代只支持了Unity引擎，也是因为设备性能不足的原因。虽然UE现在也开始在AR布局，但Unity的优势还是有的。 为何大浪淘沙淘不掉UE啊，在同一时代，效果可能Cry更强，运行效率可能Quake更好，Ogre3D更开放，Unity更亲民。但UE，就是老不死的。 我想了又想，可能是蓝图吧，游戏开发从面相过程进化到面向对象，从面向对象进化成了面向组件，从面相组件进化成ECS。每次游戏架构进化，都会淘汰大量的引擎和程序员，但蓝图把UE4隔离在大进化战之外。穿越历史，成了活化石。 回到最初的那一天，虚幻竞技场的工程师觉得卡马克的引擎编辑器并不好用，和他的老板争论，觉得自己要实现另外一个图形引擎的时候。它能预料到未来的成功吗？ 时光流动，斗转星移，到了今天，你在我身前，挺直身板的问了这几个问题。放松一下，听我来倚老卖老。 你要问我支持那个引擎啊？我觉得你too sample。不要老想搞个大新闻，我们这些从业者当然啥都支持啦，引擎之间越竞争对我们越好，价格尽量便宜，技术尽量进步，百家争鸣，各领风骚，我不仅支持UE4和Unity，我还希望Ogre能活过来，有新的引擎能参与竞争（虽然后两条很难实现）。 你问UE4厉害还是Unity3D厉害？我说你不厉害，武功高手，草木竹石皆可为剑。你倘若重视武器大过重视自己的能力，就说明你还没到火候，图形学的天花板在硬件，引擎绝不是阻碍你的原因。不同的引擎适合不同的领域，不谈背景比强弱就是耍流氓。程序员应该上善若水。哪里需要就用哪个，坚持个啥，又不是宗教信仰。 最后用我心中憧憬的武学泰斗李老师的一句话作为本文的结尾。 倘若你看到这里了， 那肯定是要给我点赞了， 啥也不说了先谢谢你吧。 题后： 介绍下自己。 2005年左右，我是Ogre3D中文站站长。 国内流传的Ogre3D两本著作，一本是我翻译的，一本是我写的。 在Ogre最火的那几年，所有的Ogre程序员路过上海都要来我这里玩，四家上市公司都给了我Offer，但我都没去，自己开了一家公司。 我的虚荣和荣誉，我的同事和朋友，我的家庭和公司，都是Ogre给我的。我有一种错觉，觉得自己是Ogre之骄子。觉得自己可以做一辈子的Ogre程序猿。我把我的人生质押在一个图形引擎之上。 然后，你们知道后来。我也是放弃Ogre最晚的那个人。 2012年左右，我还在用Ogre做项目，可是已经物是人非。那年代最流行的是HTML5，是JavaScript。投资人看了我的项目问我，你为什么不做个HTML5版本的呢？ 我是光荣的C++程序猿，要放弃自己奋斗十几年的方向，转到HTML5上来，变成一个新人，从头开始，我的内心是多么地抗拒，觉得自己所积累的一切都消失的无影无踪了。只有当你觉得自己快活不下去的时候，才会改变活的方式。 因为我的创业项目已经没钱了，为了万恶的投资。我。成了。JS。新。程序猿。 在每次HTML5的活动中，我都坐在角落里面，成了最不起眼的那个人，那种落差，你们应该能想象得到。 但是，HTML5真的没有想象的那么难，我发现，我所擅长的不是C++，而是面向对象的思维方式。所以我十几年的编程经验可以很快地进入这个领域。（当然中间也走过很多弯路，有时候几个月写的代码后来发现屁用没有的情况也是有的。） 然后手游火的时候，我也开始用Unity，开始C#，Lua，Python，Java。当然，我现在仍然在做PHP，JavaScript，CSS。除了面向对象和模板元，我也开始函数式，开始组件，开始ECS。 我现在仍然怀念Ogre那个时代的我，但我现在已经是全栈的工程师，这个全栈不是什么都会，而是什么都不畏惧，任何项目，任何语言，任何引擎，我都能上，只要有具体的需要。我的工具从来不是什么引擎，是我的思想，设计模式，重构，测试驱动，敏捷开发，持续集成。 未来是不可预测，最强大的生物不是全知的先知，而是是那些适应能力最强的小强。 我在我的人生中学到，你这辈子最强大的工具就是自己而已，其他并不可靠。就算到今天，我仍然深爱Ogre，但我也不畏惧其他什么引擎，只要项目需要，我也能上你。 阅读，编码，吃点好的，让女儿上最好的幼儿园，用一切投资提高自己，这是我的人生。 不是引擎的附庸。 再见，Ogre，谢谢你带给我的，和教会我的一切。 我不属于你，也不属于其他什么U什么引擎，我的强大是因为我自己。 --免费打工仔  最后广告下自己的拙作： 似乎已经断货，可以考虑电子书了。