娱乐说 科技 正文

《黑神话:悟空》火出圈儿,揭秘幕后实时渲染技术

2024-09-03 14:53   来源: 娱乐说

      游戏一度因被贴上“不务正业”、“虚度光阴”的标签而备受争议,然而随着该产业的蓬勃发展,一些游戏被纳入体育竞技项目,如今游戏领域吸引越来越多人的目光。当下火爆全网的《黑神话:悟空》,凭借炫酷逼真的3D效果和独特的东方美学实力出圈,连央视、新华网等官媒都纷纷点赞。

      今天,我们将深入探讨这款游戏开发中一个至关重要的技术——实时渲染技术。根据该游戏开发公司官网信息显示《黑神话:悟空》使用的是虚幻引擎(Unreal Engine 5)。值得一提的是,飞思实验室RflySim工具链与《黑神话:悟空》使用相同的三维场景开发工具Unreal Engine(虚幻引擎),同样能实现高度逼真的仿真效果。



实时渲染技术详解

      渲染(Rendering)指将三维数据通过计算和绘制输出为屏幕上二维位图的一个过程。实时渲染(Real-time Rendering)是指计算机边计算画面边将其输出显示,其本质就是把三维数据实时地计算出来并实现输出,这种方式的典型代表软件有unity引擎和Unreal Engine(虚幻引擎)。

      实时渲染的优点:实时控制调整场景内的物体属性。

      实时渲染的缺点:要受系统的负荷能力的限制,必要时要牺牲画面效果(模型的精细程度、光影的精细程度、贴图的精细程度)来满足实时系统的要求。

      RflySim工具链中的RflySim3D软件是基于Unreal Engine 4开发的一个可交互、实时可视化的三维显示程序,它集成了无人系统仿真所需的大部分场景元素,并提供了相应的交互接口,且这些交互接口除了内置的控制台命令和快捷键外,还包括外部程序调用的方式。同时,工具链中的RflySimUE5则是基于Unreal Engine 5开发的三维显示程序,其功能与RflySim3D相同,但RflySimUE5可实现更高的分辨率渲染、更好的物流模拟以及更快的迭代速度,当然这对于您的电脑性能有更高的要求。

      一个通用计算机图形系统主要包括6个部分,分别是输入设备、中央处理单元、图形处理单元、存储器、帧缓存和输出设备。

      实时渲染技术的一个典型绘图过程如下:首先,原始数据在CPU中进行处理,转化为具有特定结构的几何信息,例如顶点坐标、法线、纹理坐标等,这些几何信息随后被传递到GPU中进行进一步的处理。在GPU中,渲染管线会经历多个步骤,通常包括顶点着色、几何处理和片段着色等阶段,最终生成光栅化后的像素数据。这些像素数据会被存储在帧缓冲区中,最后经过后处理步骤,渲染并显示到屏幕上,形成最终的图像。

      其中,渲染管线是一个将三维场景数据转化为二维图像的流程。首先,应用阶段在CPU上处理场景中的几何信息,接着几何阶段在GPU上进行顶点着色、图元装配和裁剪,将几何数据转换为屏幕坐标系中的图元。然后在光栅化阶段,将这些图元转换为像素或片段,并通过片段着色计算出每个像素的最终颜色。而这一步也是实时渲染的关键步骤,GPU的性能直接影响渲染的速度和效果,因此,渲染效果与GPU的性能成比关系。


针对实时渲染技术性能问题的解决策略

      实时渲染技术性能问题大体上可以分为两类:一类是渲染效率问题,另一类是计算问题。渲染效率问题指图形系统在绘图部分所花费的时间,而计算问题则是指绘图之外的其他处理所花费的时间,包括图形数据的计算、正常的程序逻辑处理等等。

      针对上述存在的性能问题,在类似于《黑神话:悟空》的3A(高成本、高体量、高质量)大作游戏中,一般采用如下几种策略来解决:

      1. 优化图像管线。降低过度绘制,使用视锥体剔除(Frustum Culling)和遮挡剔除(Occlusion Culling)技术,避免渲染被遮挡或超出视野的图像。批处理渲染,通过合并多个绘制调用,减少GPU的状态切换和绘制开销。

      2. 高效的内存管理。纹理压缩,使用纹理压缩技术(如DXT、ETC)来减少显存占用和带宽需求。资源流式加载,动态加载和卸载资源,避免一次性加载整个场景的数据,减少内存压力。

      3. 抗锯齿和后处理优化。选择性应用抗锯齿,根据需求和性能考量选择适合的抗锯齿技术,如FXAA(快速近似抗锯齿)或MSAA(多重采样抗锯齿)。后处理效果优化,控制后处理效果的复杂度和使用频率,避免对性能造成过大影响。

      4. 多线程和异步计算。任务并行化,利用多核CPU进行任务并行处理,包括物理模拟、AI计算、场景管理等,减轻主线程负担。GPU计算,将部分计算任务(如粒子系统、物理模拟)交给GPU处理,利用其并行计算能力。

      5. 优化算法和数据结构。高效算法,使用优化的算法和数据结构,降低计算复杂性和提高处理效率,例如使用空间划分结构(如四叉树、八叉树)来优化碰撞检测。预计算,对于某些复杂计算,使用预计算结果或缓存机制减少实时计算开销。

      6. 针对不同的电脑配置,此类游戏还会在比较复杂的、渲染任务重的显示场景,加入部分特效的将实时渲染的缺陷画面过渡掉,从而给观众带来更加完整、逼真、流程的显示效果。

      通过上述策略,此类3A大作游戏能够在确保高质量视觉效果和艺术表现的同时,优化性能,提升玩家的沉浸感和整体体验。

      最后,借用《黑神话:悟空》主创冯骥的一句话结束本期技术分享:“最后让你痛苦的不是远方的高山,而是鞋底的沙子,沙子是无穷无尽的,但是你想走到那座山,就得忍受这样的过程。”

      无论你是资深的开发者还是初入行业的新手,RflySim工具链都将是您踏上“取经路”最可靠的“伙伴”。让你鞋里的沙子更少些,一起共赴你心中那座“高山”!


责任编辑:刘明德
分享到:
0
【慎重声明】凡本站未注明来源为"娱乐说"的所有作品,均转载、编译或摘编自其它媒体,转载、编译或摘编的目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如因作品内容、版权和其他问题需要同本网联系的,请在30日内进行!