明天很快乐来到这里,跟大家分享咱们图形引擎服务这一年来凋谢的能力,也欢送各位小伙伴独特交换。
华为图形引擎服务简略来说就是一个图形 3D 的渲染引擎,实际上提供了两种服务能力,第一种是 轻量化的 3D 渲染引擎 ,就是能够将图形引擎服务集成在一个轻量级的 3D 利用当中,提供 3D 的渲染能力和交互能力;第二种是 增强型的插件能力,图形引擎服务依据个性的拆分做成了插件,集成在游戏引擎里,提供给游戏搭档一些差异化的能力。
轻量化的 3D 渲染引擎能力
我先疾速介绍下第一个能力——图形 3D 渲染引擎轻量化的解决方案,轻量化解决方案就是蕴含一些根本的 3D 因素和性能,比方PBR 渲染管线、动画物理引擎和粒子特效。它能够容许咱们的开发者在无需了解尤为浅近的图形渲染技术的前提下,能够很轻松地创立出现实的 3D 成果,并集成在利用里。
首先,咱们实现了规范的轻量化的 PBR 管线,这个管线反对规范 PBR 物理材质,包含三方导出的物理材质,比方 Substance、3D Max Maya 这些规范材质库的导入,它能够从开发到运行,精准地表白出物体外表所体现的物理材质。
其次,图形引擎服务也实现了动画的零碎,这个动画零碎是一个骨骼的动画,包含 GRTF 或 IBS 外面规范骨骼元素的驱动,同时图形引擎服务也反对 IK 动画的技术。
此外,咱们还自研了一套轻量化的物理引擎,能够模仿一些刚体简略碰撞、坠落、静止的成果,同时咱们往年也首次在挪动端做了一些流体的模仿仿真。
为了加强咱们图形引擎服务的表白,咱们也实现了一套 粒子系统,这套粒子系统能够实现一些天然成果的模仿,比方火焰、烟雾、泡沫、瀑布这些通过粒子来表白的实在物理成果。
咱们能够通过以下三个场景的列举,更具体的阐明轻量化的渲染引擎的性能。
第一个是很简略的电子商务场景,图形引擎服务轻量化体积大小不到 1M,所以便于集成在利用开发中,同时咱们提供了一个教材,即便你不懂编程,也能 10 分钟集成完图形引擎服务,这样电商的小伙伴就很不便地可能展现出他想要的内容。
第二个是咱们 3D 物理模仿流体的成果,这个是往年在手机主题上集成图形引擎服务的能力,当手机晃动的时候流体实时在做一些物理的模仿,能够加强咱们主题的一些趣味性。
最初一个是华为 AR Engine 和图形引擎服务联合做的一个 AR 利用,AR Engine 提供了一个环境检测的能力,华为图形引擎服务提供一些高清的渲染,利用管线的一些技术,出现了一个虚实交融的成果。
以上就是轻量化的渲染引擎和管线可能为咱们小伙伴提供的一些基本功能和能力。
增强型的插件能力
再说图形加强的服务能力和插件,绝对于轻量化的利用,咱们游戏的利用是比较复杂的,然而通过 HMS Core 把相干的技术和能力凋谢,为游戏的开发者提供一些成果上、性能上的晋升,所以推出了以后游戏加强的能力和插件。
上面我逐个介绍一下。
第一个是光线追踪技术(Ray Shop),光线追踪技术是图形引擎服务十分重要的个性,也是咱们全力打造的模块。大家都晓得光线追踪是能够出现一些十分好的 3D 实在的成果,能够实现一些不规则外表反射或折射的成果,比方湖面的倒影、曲面的反射。
然而光线追踪因为算力的要求,很多都是利用在 PC 和主机端,对于挪动端的算力实现难度较大。基于这一点,咱们联合华为自有的专利级的 RT 技术把它提炼凋谢进去,因为相比于 PC 端的 RT 的技术,咱们优化到的能耗比是 1:10,原先须要 10 倍的光线追踪算力,当初只需 1 倍就能够实现,这省出了一大部分的资源和算力,可能保障 RT 对光栅化管线做一个补充,从而实现咱们可能在挪动端利用的成果。
因为光线追踪技术自身算力比拟大,咱们在实现的时候也做了工具,让咱们的开发小伙伴不便地集成插件,联合咱们的管线,如果你要利用咱们的光追技术,你能够通过工具把场景外面的物体遍历进去,抉择你要做光追的反射或被反射物,这样就能够在光栅化的根底上做出光追的特效。
这个视频是咱们往年跟天谕单干在天谕手游上集成的光追成果。
第二个是动静漫反射全局光照(DDGI)技术,是一种应用光线追踪计算漫反射照明的技术,比照其余动态 GI 技术,能够实时出现动静的光影变动,使游戏光照更加实在,气氛感更强。
上面这个 Demo 是咱们在手机上做了一个相似于拉窗的场景,别离有 IBL 和立体光在这个场景里,当它拉窗时前面的墙面和高空会有一些光的照耀成果,如果没有这个 DDGI 的加持,前面这一块点亮的成果就不显著。
DDGI,特地是动静 DDGI 技术自身,也须要很大的算力,在传统的像素是一个 Probe 的计算要求每个像素一个方向的 radiance,每个像素再积分所有方向的 radiance,相当于 N N 的 radiance 的计算。但手机上远远达不到计算量,所以咱们做了肯定的优化,将 radiance 投影到 9 个系数的 SH 上,这样 project To SH,再积分查问 SH,咱们的计算量相当于是 9 N,计算量的降落,这样带来肯定的算力撑持,性能失去晋升。
同时 DDGI 也能反对多种光源,比方平行光、点光、面光源,也是能够反对动静的场景。
咱们也在尝试跟小伙伴去做一些对接和调试,心愿很快能和大家在理论的产品利用中见面。
后面次要讲的是晋升渲染的成果,接下来讲一下图形渲染插件能力加强性能相干的插件。
第一个 Slim LOD 技术,传统的 LOD 技术须要高精度的模型,须要对这个模型做一些减面或减模的解决,生成一些不同级别的模型,这样会产生一个问题,包体积会减少 20%,再加上传统的 LOD 技术须要做顶点的合并、删除,会有一些线段连线的拓扑图更改,须要一直做一些调整。咱们的 Slim LOD 技术,实际上突破了原先 LOD 技术自身,咱们抉择了模型中的一些局部的顶点做了 Index 的保留,这样就不会产生新的模型,相当于顶点数并没有扭转,贴图也不须要从新配,因而设计师的工作量会大幅降落,这也是咱们跟三七互娱这边做的一个成果,利用在三七互娱的《斗罗大陆·魂师对决》,其中面数和顶点数有 20% 的降落。
最初一个就是 Good Culling 的技术,优化剔除的计划,这个计划在游戏外面用得比拟多,为了保障性能,在游戏场景外面很多模型都须要做一些预处理,把屏幕上看不见的模型去除掉。可能大家基本上采纳的优化剔除计划都是 GPU 的计划,但会带来一些时延跳动的问题。在相机或者物体挪动过程中,咱们往往应用的是前 1 帧,甚至前 2 帧的深度信息,那么 GPU 解决以后帧的时候,如果产生了遮挡关系的变动,这一帧的计算结果就会出错,只能等下一帧或下 2 帧解决正确,因而会有一些跳变景象。
咱们提出了一个优化剔除的计划,采纳了一个 CPU 的软光栅的计划,相当于把遮挡物写到咱们的 Z -Buffer(音)当中,被遮挡物依据 Z -Buffer 来进行深度的比拟。
CPU 这一块剔除的劣势是没有了 GPU 跳动和兼容性的问题,在低端手机上也可能运行得很好,从试验测试的数据来看,前后的帧率通过这个利用失去了大略 10%-15% 的晋升。
以上是咱们华为图形引擎服务凋谢能力的介绍,非常感谢大家可能百忙之中来到 HDC 大会,也欢送大家多跟咱们分割和交换。
谢谢!
理解更多详情 >>
拜访华为开发者联盟官网
获取开发领导文档
华为挪动服务开源仓库地址:GitHub、Gitee
关注咱们,第一工夫理解 HMS Core 最新技术资讯~