对于开发人员来说,虚幻引擎提供的用户界面可以让您以简朴的方式开发游戏,同时充分使用现有的最强盛的技能,包括图形(由 GPU 支持)和学习(人工智能)技能,从而可以在三维情况中获得主体的流通动作,并实现更强的交互性。这些游戏引擎在不绝发展,其中包罗了并行编程领域所有大概的创新,由于它充分使用了所有可用的技能。通常,这些技能会被重新用于以前看到过的其他领域。
游戏引擎的强盛功能还基于 3D 渲染。正是这一过程让玩家获得逼真的游戏体验。3D 渲染只不外是从三维建模开始创建图像。
游戏引擎创建的虚拟情况的三维物体模型必要颠末纹理绘制阶段。二维图像会覆盖这些物体的表面,使其呈现出物质外观,并根据照明方向计算出光泽度。然后再添加阴影等其他结果,最后形成二维图像,就像照片一样,将虚拟现实转换为现实图像。
使用的计算器功能越强盛,结果就越好,获得的图像也就越逼真。此外,这些图像必须为视频游戏的每一帧生成,就像电影的每一帧一样,必须流通,因此不难理解这种技能对计算能力的要求。除此之外,还有声音管理、人工智能、网络和内存的须要计算。
并行计算是优化游戏引擎底层进程的强盛工具。现在最强盛的游戏引擎都是通过多线程来使用 CPU 内核和 GPU 的。在我们的书中,我们已经看到 Python 不能很好地处理 CPU 上的多线程,事实上,这些游戏引擎都是基于 C# 和 C++ 等编程语言,而这些语言允许您在 CPU 上应用多线程:
例如,在 Unity 游戏引擎中(见图 7.13)多线程被用于跨线程并行实验渲染进程。多线程并行实验大大淘汰了帧内进程的实验时间。因此,每秒可以生成更多的帧,从而使游戏更加流通。事实上,这正是 GPU 发挥作用的地方,其架构筹划可以比 CPU 更高效地解决像素纹理的计算问题。此外,极高的并行内部结构允许将计算同时分配给大量线程,从而大大减轻了工作量并缩短了实验时间。
此外,中央处理器还可以在此期间实验其他使命。由于中央处理器具有强盛的数学计算能力,因此它们被并行用于实验数学计算,使三维情况更加逼真。物体的行为、打击的结果、水中流传的波浪、对用户互动的反应,甚至是非玩家角色(NPC)的智能,都是由 CPU 的算法来处理的,CPU 的内核和线程一样多,都是为并行计算分配的。
正如 Python 所说,现在还没有如许的游戏引擎。现有的游戏引擎都是以库的情势发布的。PyGame 和其他 Python 游戏开发库无法在 CPU 上进行多线程运算,也没有到达使用其他编程语言(如虚幻引擎和 Unity)构建的游戏引擎的强盛水平。但这并不妨碍新项目在未来取得优异成绩。
7.3.13 筹划并行游戏引擎