昨晚正玩着手机,突然微信群里弹出了一个文章链接,上面俨然7个大字“初探虚幻引擎5”。什么鬼?虚幻不是才出到4.26版本么,怎么可能?
然而,当我好奇地点进去看了这个视频后,我已经激动的不知所云了。这简直太帅了好吧!
Epic官方使用PS5作为游戏主机,演示了一款由虚幻引擎5制作的游戏Demo,从纹理清晰可见的雕像到栩栩如生的飞鸟再到角色真实细腻的动作。感觉次时代的游戏马上就要降临!!!
扫码可以到B站看高清视频:
这篇推送晚上11:02发出。仅仅不到一个小时,我的各个微信群、QQ群以及朋友圈就都被这条推送刷屏了,并且我发现不少业外人士也同样在围观。眼看着文章阅读量从1万,2万,5万一直涨到10万+(与此同时,国外的媒体也在纷纷转发虚幻5的公布消息),我内心非常激动。毫无疑问,这篇文章绝对是Unreal官方阅读量最高的一篇,尤其令我感到欣慰的是,这篇爆款完全是通过技术打造的,而不是什么八卦,热点之流。这才是科技的魅力!
作为业内人士,我必须得蹭这个热,不,谈谈我的想法!视频虽然非常震撼人心,但很多潜在的问题并没有被展示出来。为了尽可能客观全面地看待问题,下面我会从技术分析和行业影响两个方面谈谈我的观点。
技术
文章的宣传从渲染效果入手,可以说是狠狠抓住了读者的眼球,尤其是广大吃瓜群众。这里提到的几个技术点可以简单概括一下:
Nanite:虚拟微多边形几何体(Virtualized Geometry)。简单来说,就是可以不加限制地直接导入高精度的模型,并且不需要任何额外处理。无论是Zbrush高模,还是用摄影测量法扫描的CAD数据,这些由数以亿计的多边形组成的影视级美术作品都可以被直接导入虚幻引擎中。
Nanite几何体可以被实时流送和缩放,因此美术不需要过多地考虑多边形占用内存量或Drawcall数量,不需要一而再再而三地被程序限制模型面数,甚至,法线贴图和LOD这样传统游戏必备的技术处理都不再必要。
陈文礼大佬在知乎的回答里给出了一些有关技术细节的猜想——Turing Mesh Shaders。同时他也提到要想把几千万上亿面的模型直接扔到游戏引擎没那么简单,肯定会增加的模型的导入或处理时间。也有很多其他的技术人士对Nanite的技术原理进行了猜测。
【https://www.zhihu.com/question/394654035】
但是昨天晚上(2020.5.14)在Epic的官方直播里,资深技术工程师王祢对此进行了否定,并给出了大体的技术方向——软光栅+mesh层级的预过滤。具体细节还需要等待虚幻引擎技术团队给出更详细的Talk。
Lumen:Lumen是一套全动态全局光照解决方案,能够对场景和光照变化做出实时反应,且无需专门的光线追踪硬件(英文里面好像没有这句话,我觉得不可能)。
动态光对CPU和GPU有很高的要求,大部分游戏为了提升运行效率,都会采用静态光烘焙作为主要方案。但是每次移动光源都需要等待光照贴图烘焙完成,还可能需要编辑光照贴图UV,开发效率还是比较低的。同时,静态光还会限制很多游戏的玩法,比如在墙上开一个洞让光照进来,往往需要开发者去想各种手段解决。因此如果游戏可以自由的使用动态光照,设计师们就可以充分放飞想象力,创造更多有趣的玩法。
以上两个系统是虚幻5主打的两个模块,但按照目前资料来看。这些内容应该对硬件有很高的要求,目前也许只有PS5可以撑的起来。
下面几个系统并不是虚幻5才有的,但是应该会有很多优化
Niagara:Niagara VFX系统是虚幻新推出的粒子系统,目前在4.24版本已经可以投入使用。简单来说,利用Niagara,美术可以在没有程序员的帮助下自行创建各种灵活的功能。
虚幻5 Demo里的蝙蝠以及画面中的虫子就是Niagara粒子系统做的(而不是模型),粒子之间互相通信协作甚至可以对光照做出反应,基本上可以满足大部分开发需求。
Chaos:Chaos是虚幻引擎新增的高性能物理和破坏系统,4.23版本中就提供了测试版,未来打算取代英伟达的PhysX。
Chaos破坏系统可以让用户在场景中实现电影视效级的大范围破坏,也可以让美术对创建的内容进行前所未有的控制。
一开始的试用版问题很多,不过在4.25以后就正式开放使用了,虚幻5肯定还会进一步优化。此次Demo中就用Chaos系统展示了顶尖的物理效果,碎石的坠落以及围巾浮动效果都十分接近真实世界。
Fluid simulation(流体模拟):视频中提到了UE5加入大量功能来处理流体模拟,具体细节还不得而知,有待补充。
Animation(动画系统) :对于这方面,虚幻一直在优化,也在添加更多的新的功能,包括预测性脚步落位和运动变形等。这些新的功能可以动态地调整IK(反向动力学)位置,因此我们可以看到Demo里角色攀岩的动作非常流畅和自然。
Audio(音频):卷积混响可以将真实世界中的混响特性应用到虚拟世界中。环境立体声渲染则允许我们对音频进行录制、回放以及空间化。Demo中山洞的回音就是从真实洞穴采集并应用到游戏里的。以往UE4内置的音频功能使用起来并不方便,很多项目往往选择Wwise等插件来处理音频,期待UE5能做出更多改进。
客观来讲,目前从宣传上看Unreal5主要是在渲染上有所突破,其他大多方面都没有提到,没提到的部分可能改动也不是很大。比如网络模块一直受基础设施影响,短期内很难有质的飞跃(等待5G),同步方面的算法和论文也并没有太多的革新,有点遇到瓶颈的感觉。Gameplay框架UE5肯定还是会继续优化,理想的情况是解耦成组件方便灵活装卸。但是说实话,目前这满满的历史包袱和臃肿的UObject框架,想做到解耦还不太现实。
编译一直是Unreal饱受争议的一点,一不小心点错半个小时就没了。低配机(开发)根本不配玩UE,现在如此,UE5也应该不会有什么改观。
不过我依然期待,这次虚幻5升级不单单是版本号的变化,而是可以甩掉一些历史遗留问题,大刀阔斧地进行调整和优化。
一款计算机产品总是要从技术和体验两方面谈。从技术上讲,懂计算机的朋友都知道,时间和空间就是两个不可调节的矛盾。要想跑的快,就得占用大量存储,要想省空间,就得在计算上多花费点时间。目前看来,为了实现实时渲染几千万甚至上亿面的模型,整个行业选择了空间(增加存储)换时间,因此SSD存储量的上升就是解决问题的关键。
从体验上来说,看到的和用起来完全不是一回事。任何一款demo,展示效果和实际体验总是有差距的(而且一般都不小),每次Epic官方公开一个技术时,大家都热情满满,但是真正用起来的时候就会发现不是那么回事(比如chaos系统)。这次技术展示能明显看到一个潜在的风险——大文件处理。所以,还是要等到产品真正落地才能知道效果如何。
不管怎么说,虚幻5目前公开的信息已经足够让我们震撼了。把科研成果用到工业里来大范围地提升产业效率,光凭这一点,虚幻5的文章(视频)就足以让大家点赞和转发了。
影响
如果真像视频中所展示的那样,虚幻5一定会带来相关产业效率的大幅提升,极大地缩短美术产品的制作周期。(朋友圈的美术们都忍不住跪倒在UE5的石榴裙下了)
如果这是当前行业的发展趋势,那么整个行业的流水线都会更新迭代,很多传统技术会被抛弃。未来可能不再需要那么多复杂的优化工具,从工业角度来看各种取巧的渲染技术也显得没有太大意义了。同时意味着部分TA可能会面临转行的窘境,甚至引擎工程师的岗位需求也会相应减少。开发团队可以把更多的精力用于美术效果以及Gameplay的开发上,做游戏的门槛也会降低。当然,这种情况在未来5年内还不太可能发生。
对于手游来说,短期内不会受太大的影响,毕竟手机的性能在那摆着。因为UE5看起来明显需要高性能硬件的支持,而手机并不能达到,因此可能会导致主机游戏和手游出现技术断层分裂(手机和游戏主机使用不同的开发手段与技术方案)。人家针对的可是次时代主机PS5,连微软最新的XBOX可能都跑不起来2333。
可以想见,未来一段时间内,SSD以及硬盘等产业可能会有更进一步的发展(大家可以关注起来)。
另外,这里不得不提一下游戏相关行业(如影视行业等),毕竟虚幻引擎发展至今早已不局限于游戏行业。各大影视公司、家装、车企甚至CCTV都与虚幻官方产生紧密的合作关系。
虚幻产品除了游戏还包括动漫、电影、汽车展示,数字人类,广告(比如网页右下角各种“传奇”和“山海经”广告),场景模拟等。
感谢实时渲染的快速迭代,我们可以利用引擎迅速调整想要的视觉效果,一旦整个预览环节不再需要复杂地导入和调参,那么美术的工作效率就可以提升数倍。再加上渲染效果已经如此真实细腻,离线的CG渲染好像也没那么必要了。
每当我看到这些黑科技,再看看桌前艰难地调着bug的我。总会不由得在内心问自己:
我是不是穿越了?
游戏开发那些事
回复"C++面试",获取C++面经
回复"gamebook",获取游戏开发书籍
虚幻引擎开发交流群(875867499)
往期热门文章:
游戏中的角色如何“动”起来
史上最全C++游戏开发面试问题总结