Unreal引擎是世界上流行时间最久,用于开发第三方游戏最多的引擎之一,也是中国游戏玩家最熟悉的游戏引擎。因为他不仅提供了提供了较好的游戏画面,齐备的开发工具,更重要的是它对配置较老的电脑提供了更好的支持。因此在中国市场上,有相当多的网络游戏都采用了UE引擎进行开发。但是随着时代的进步,CryEngine游戏引擎开发面试,寒霜引擎相继问世,UE3引擎越来越显得后继乏力了。终于,EPIC不久前刚刚发布了他们最新的游戏引擎Unreal Engine 4.0的技术视频。现在我们来看看这款引擎是否带来了可以同CE3,寒霜2相匹敌的新特性。
特性1 - 动态GI。事实上在上篇“我看未来游戏(图形)引擎的几大特性 ”的末尾也提到了这点。我所知道的第一款采用动态GI的游戏引擎是CryEngine2,当时的技术展示视频可谓非常惊艳,后来在寒霜等引擎里也纷纷实现了这种技术。
重要性:不比多说,简单用一句话概括,它是游戏画面继续进步所必须跨过的一道坎。
不足:暂时未知,需等引擎正式发布时才知。
特性2 - GPU粒子。同样回顾这篇博文,正是里面提到的GPU通用计算。GPU通用计算的概念可以说已经出来了好多年开发学习,当时在大多数人看来,这还只是显卡厂商推销的一个噱头而已。时间久了,可能我们大部分引擎开发者都忘记了这种可能在未来产生革命性进步的技术。但是显然EPIC没有忘记它,终于在UE4里面为我们带来了全面采用GPU运算的粒子系统。EPIC生成新的粒子系统可以支持百万级别的粒子渲染,可以说相对过去的CPU粒子是质的改变。
重要性:世界是动态的,粒子系统是给游戏带来动态感受的最重要的组件之一。
不足:GPU粒子加速的是粒子的模拟,比如如何运动,如何变色,但是它仍然不能解决AlphaBlending带来的渲染瓶颈。(如果渲染的是大量微小颗粒的话,AlphaBlending的瓶颈会小很多)
特性3 - 全新的Kismet。做过Unreal关卡的人都必定非常熟悉Kismet,它是Unreal最吸引开发者的工具链的重要的组成部分。其实我了解的一些关卡设计师对这个工具还是非常满意的,那EPIC还能为它带来多大的改进呢,为什么它可以成为UE4的三大特性之一?事实上它对应了上篇博文里提到的脚本系统。
UnrealScript是UE3引擎里几乎和C++平起平坐的开发语言。它贯穿在UE3的所有GamePlay代码和工具代码中。它的好处是让C++和脚本无缝的工作在一起,但是它带来的弊端是编译的复杂性和性能的损失。而这次Kismet的变革,其实更应该说是UnrealScript的变革。在UE4中UI界面,EPIC从根本上抛弃了脚本语言,全面采用C++来开发。而之所以它可以做到这点,是因为UE4引擎内集成了独立的C++编译器,从而保证可以在游戏引擎内动态的编译C++代码。
与上面两个特性相比,其实我对这个特性更有兴趣,但是又不想在这篇博文里说太多,我相信它和LLVM会有关系,而且我也相信LLVM正在改变我们程序员的世界。
重要性:改进游戏性能,保持脚本的动态特性,减少代码编译的时间。
不足:暂时未知。
综合以上特性游戏引擎开发面试,UE4给我们带来的是更佳的画面(GI)、更高的运行效率(全面C++)和更高的开发效率(不用build lightmap - 实时GI,减少关引擎、编代码,再进引擎修改的繁琐流程)。
UE4还缺少什么?
更好的超大场景支持。UE3.975已经提供了最新的LandScape,但是很显然它还是个半成品,工具链非常不足,相对CryEngine来说还需要很大的改进。
一个革命性的材质库。如果实时GI可以接近光线追踪的效果之后,未来游戏渲染更需要的应该是最真实的材质渲染。这部分的工作相对各个游戏来说都是通用的,如果UE做到了这点,这可能会帮助它打败其他强劲的对手。
参考:
文章来源:http://blog.csdn.net/lemonzhang/article/details/7687881