GAMES104实录 | 引擎架构分层(中)

本期为GAMES104《现代游戏引擎:从入门到实践》视频公开课文字实录第5期。本课程由GAMES(图形学与混合现实研讨会)发起,游戏引擎技术专家王希携手游戏引擎一线开发者共同研发。

课程共计22个课时,将介绍现代游戏引擎所涉及的系统架构,技术点,引擎系统相关的知识。为配合学习实践,课程组在 GitHub 上开源了小引擎Piccolo,上线1个月即获得了2900+star, 累计下载量已超过20000+。

以下内容为公开课视频转文字版本,为阅读通顺,有删减

引言

上节我们讲了游戏引擎的五层架构,这节课会真正给大家讲清楚现代游戏引擎的五层架构到底是什么,具体是怎么做的。

GAMES104实录 | 引擎架构分层(上)

学一个东西最好的方式是什么?是练习它。我们给小明同学出了一道难题:学了上节课,你觉得已经懂了游戏引擎怎么做,那就做个小小的挑战吧:在游戏中做一个可以动起来的角色,然后从下往上把这些代码写到游戏里面去。

小明想,既然知道了引擎的五层架构,我就要去想每一个功能模块到底怎么写。这其实是一个非常有意思的脑力劳动,同学们可以先停一下,回顾一下我们讲的游戏引擎的五层架构:平台层、核心层、资源层、功能层和工具层。

如果小明想做一个可以动起来的角色,在游戏引擎中的代码该怎么去写呢?这件事情比大家想象的稍微复杂一点。

在这一讲中,我会跟大家讲每一层是什么以及每一层的要点是什么。

我们就从小明的挑战“做一个动起来的角色”开始,逐步带领大家进入引擎的深水区航行。

01「资源层」

从资源(resource)到资产

首先,小明遇到的第一个挑战:好不容易求做美术的好朋友用3DMax做了一个很可爱的小角色,还做了很多的贴图和动画。那这些东西叫什么?叫resource,资源。

每一个数据的格式都是不一样的,有的是Max文件,有的是PSD文件,这些数据肯定不可能在引擎中一一打开。大家想想看,如果写个小软件,要加载个声音,我要去问你声音是什么格式?MP3还是WMV?但在游戏引擎那么复杂的环境里面,不可能去读这么多复杂的数据格式。

比如像PSD、Max、Maya这些数据格式,它们工具做得非常复杂,这些数据如果直接在游戏引擎中加载,效率会非常低。所以会做一步转换,会把这些数据全部转换成引擎的高效数据,这个转换发生之后,我们就把它叫做Asset(资产)。

从资源(resource)到资产,有一个很大的不同是什么呢?

举一个简单的例子,如果是一张贴图,无论是JPG还是PNG,它里面有很多的压缩算法,如果在GPU中以

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Unreal渲染引擎是由Epic Games开发的一款强大的游戏和虚拟现实应用程序的3D渲染引擎。其架构是基于一系列核心模块和子系统,用于处理图形渲染、物理仿真、动画、声音等方面。 在Unreal渲染引擎架构,最核心的模块是Render Core,负责管理图形渲染的整体流程。它将渲染任务划分为一个个渲染线程,通过使用多线程并行处理,提高整体渲染性能。在这个模块,还包含了对图形API的封装,用于与不同的图形硬件进行交互。 另一个重要模块是Scene Management,用于构建和管理场景的对象。通过使用场景图的数据结构,这个模块可以高效地管理复杂的场景,并支持可视化编辑和实时预览。它还包括了空间分区提高场景对象查询的效率,并提供了灯光、阴影、镜面反射等效果的支持。 为了实现真实的光照效果,Unreal渲染引擎还有一个独立的Lighting模块。这个模块使用了先进的光线追踪和辐射传输算法,并支持动态光源和全局光照。通过提供高质量的光照和阴影效果,使得场景更加逼真和细腻。 此外,Unreal渲染引擎还有许多其他模块,如Animation、Physics、Audio等,用于处理游戏的动画、物理仿真和声音效果。这些模块都与核心模块紧密合作,共同构建出一个功能强大、性能优越的渲染引擎。 总结来说,Unreal渲染引擎架构是基于一系列核心模块和子系统构建的。通过高效的多线程渲染、复杂的场景管理、先进的光照算法等功能,它能够提供逼真、流畅的游戏和虚拟现实体验。 ### 回答2: Unreal渲染引擎是一种先进的3D渲染引擎,用于创建高质量、逼真的虚拟世界和游戏环境。它采用了先进的图形技术和渲染算法,具有高度的可定制性和灵活性。 Unreal渲染引擎架构是基于现代的渲染管线和算法构建的。它包括以下几个关键模块: 1. 场景管理:这个模块负责管理和渲染场景的各种元素,包括物体、光照、材质等。它维护了一个场景图,用于高效地组织和管理场景的对象。 2. 光照和阴影:Unreal引擎支持多种光照和阴影算法,包括实时光照、全局光照、阴影映射等。这些算法能够提供逼真的光照效果,并生成高质量的阴影。 3. 材质和纹理:Unreal引擎提供了一个强大的材质系统,用于创建和调整物体的外观。它支持复杂的纹理映射、反射、折射等特性,使物体看起来更加真实。 4. 特效和后期处理:这个模块负责添加各种特效和后期处理效果,如雾化、景深、色彩校正等。它可以增强场景的真实感,并提升图像的质量。 5. 渲染优化:Unreal引擎提供了多种渲染优化技术,用于提高渲染性能并减少资源消耗。这些技术包括级别LOD(细节层次)管理、延迟渲染、遮挡剔除等。 总的来说,Unreal渲染引擎架构设计旨在提供灵活、高效、逼真的渲染技术,以满足不同类型游戏和虚拟世界的需求。它具有丰富的功能和工具,使开发者能够创造出惊人的视觉效果,并为用户提供极致的游戏体验。 ### 回答3: Unreal渲染引擎是由Epic Games开发的一款高效的游戏和虚拟现实渲染引擎。 Unreal渲染引擎架构是基于场景图的,它采用了现代的图形技术和算法来实现逼真的实时渲染。其核心架构包括三个组件:场景图、渲染管道和渲染资源。 首先,场景图是一个层次化的结构,用于组织和管理游戏场景的对象和模型。它包括了场景的物体、光源、相机等元素。在实时渲染,场景图的变动会直接影响到最终的渲染结果。 其次,渲染管道是Unreal渲染引擎的核心模块,负责处理图形数据的传递和处理。它由多个阶段组成,包括几何处理、光栅化、像素处理等。在每个阶段,渲染管道会对场景图的数据进行处理和转换,然后将结果传递给下一个阶段,最终生成最终的渲染图像。 最后,渲染资源是用于存储渲染相关的数据和纹理的组件集合。它包括了模型、材质、纹理等各种资源,这些资源会被渲染管道使用和处理。渲染资源的高效管理和使用是保证渲染性能和效果的重要因素之一。 总之,Unreal渲染引擎架构是基于场景图的,它使用先进的技术和算法来实现逼真的实时渲染。通过合理的组织和管理场景图的元素,经过渲染管道的处理,结合高效的渲染资源,Unreal渲染引擎能够提供出色的渲染效果和性能,为游戏和虚拟现实应用提供强大的支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值