今天很高兴和大家分享我们图形引擎服务今年开放的能力,欢迎各位小伙伴交流彼此。华为图形引擎服务简单来说就是一个图形3D渲染引擎。它实际上提供了两种服务能力。第一个是轻量级的3D渲染引擎,可以将图形引擎服务集成到一个轻量级的3D应用中。其中,它提供了3D渲染能力和交互能力;二是增强插件功能。图形引擎服务根据特性拆分成插件,集成到游戏引擎中,为游戏合作伙伴提供一些差异化的能力。轻量级3D渲染引擎能力先简单介绍一下第一个能力——图形3D渲染引擎的轻量级解决方案。轻量级解决方案包括一些基本的3D元素和功能,例如PBR渲染管线、动画物理引擎和粒子效果。它使我们的开发人员能够轻松创建理想的3D效果并将其集成到应用程序中,而无需了解特别高级的图形渲染技术。首先,我们实现了一个标准的轻量级PBRpipeline,它支持标准的PBR物理材质,包括第三方导出的物理材质,比如Substance、3DMaxMaya等标准材质库的导入。表示物体表面的物理材质。其次,图形引擎服务还实现了动画系统。本动画系统为骨骼动画,包括GRTF或IBS中标准骨骼元素的驱动。同时图形引擎服务还支持IK动画技术。此外,我们还开发了一套轻量级的物理引擎,可以模拟简单的碰撞、坠落、刚体运动等效果。同时我们今年也第一次在移动端做了一些流体模拟。为了增强我们图形引擎服务的表现力,我们还实现了一套粒子系统,可以模拟一些自然效果,比如火焰、烟雾、泡沫、瀑布等通过粒子表现的真实物理效果。我们可以通过以下三种场景的列举,更详细地说明轻量级渲染引擎的功能。第一个是一个非常简单的电子商务场景。图形引擎服务轻量级,小于1M大小,易于集成到应用开发中。同时,我们提供教材。即使你不会编程,也可以在10分钟内集成图形引擎服务,让电商小伙伴轻松展示他想要的内容。二是我们的3D物理模拟流体的效果。这就是今年在移动主题上集成图形引擎服务的能力。当手机晃动的时候,流体在实时的做一些物理模拟,可以增强我们主题的一些趣味性。最后一个是结合华为AREngine和图形引擎服务做的AR应用。AREngine提供环境检测能力,华为图形引擎服务提供部分高清渲染。利用流水线的一些技术,呈现出虚实融合的效果。.以上就是轻量级渲染引擎和管线可以提供给小伙伴们的一些基本功能和能力。增强的插件能力下面说一下图形增强的服务能力和插件。相比于轻量级应用,我们的游戏应用更加复杂,但是通过HMSCore,我们开放了相关的技术和能力,为游戏开发者提供一些效果。为了提高游戏的性能,目前引入了游戏增强功能和插件。让我一一介绍。第一个是光线追踪技术(RayShop)。光线追踪技术是图形引擎服务的一个非常重要的特性,也是我们正在努力打造的一个模块。大家都知道光线追踪可以呈现一些非常好的3D真实效果,可以实现一些不规则的表面反射或者折射效果,比如湖面的反射,曲面的反射。但由于对算力的要求,光线追踪多应用于PC端和主机端,移动端的算力实现难度较大。基于此,我们结合华为自有专利的RT技术进行细化开放,因为相比PC端的RT技术,我们优化了能耗比为1:10,原本需要10倍光线追踪的计算能力即可现在只需要1次就可以完成,节省了大量的资源和计算能力,并且可以保证RT可以补充光栅化流水线,从而达到我们可以在移动端应用的效果。因为光线追踪技术本身有比较大的计算能力,所以我们在实现的时候也做了工具,方便我们的开发伙伴方便的集成插件。结合我们的管线,如果你想应用我们的光线追踪技术,你可以使用工具Traversethesceneintheobjects,选择你想要光线追踪的反射或者被反射的物体,这样你就可以进行光线追踪了基于光栅化的特殊效果。这个视频是我们今年和天语合作,集成在天语手游上的追光特效。第二种是DynamicDiffuseGlobalIllumination(DDGI)技术,这是一种使用光线追踪来计算漫射光照的技术。与其他静态GI技术相比,能够实时呈现动态光影变化,让游戏光照更加逼真,更加大气。强大的。下面的Demo是我们在手机上做的类似窗口的场景,分别有IBL和flatlight。在这个场景中,当窗户打开时,墙壁和后面的地面上会有些光亮。如果没有DDGI的加持,后期的打光效果并不明显。DDGI,尤其是动态DDGI技术本身,也需要大量的计算能力。在传统像素中,一个Probe的计算需要每个像素在一个方向上的辐射亮度,每个像素综合所有方向的辐射亮度,相当于NN的辐射亮度。计算。但是手机上的计算量是远远不够的,所以我们做了一定的优化,将辐射度投影到9个系数的SH上,使得投影到SH,然后对SH进行积分查询,我们的计算量相当于9N,计算量这会带来一定的计算能力支持,提高性能。同时,DDGI还可以支持平行光、点光源、面光源等多种光源,还可以支持动态场景。我们也在尝试和小伙伴们做一些对接和调试,希望早日在实际的产品应用中与大家见面。前面部分主要讲了提高渲染效果。接下来说说图形渲染插件性能增强相关的插件。第一个SlimLOD技术,传统的LOD技术需要一个高精度的模型,需要对这个模型做一些表面缩小或者模型缩小处理,生成一些不同层次的模型,这会造成一个问题,包体积会增加20%,再加上传统的LOD技术需要做顶点的合并和删除,线段的拓扑会有一些变化,需要不断的做一些调整。我们的SlimLOD技术实际上打破了原有的LOD技术本身。我们在模型中选择了一些顶点来保留Index,这样就不会产生新的模型,也就是说顶点的数量没有变化,贴图也没有变化。无需重新配置,设计人员的工作量将大大减少。这也是我们用三七互娱做的一个效果。应用于三七互娱的《斗罗大陆·魂师对决》,其中面数和顶点数均下降20%。最后一个是GoodCulling技术,这是一种优化的剔除方案。该解决方案广泛用于游戏中。为了保证性能,很多游戏场景中的模型需要进行预处理,去除屏幕上不可见的模型。可能大家基本采用的优化淘汰方案都是GPU方案,但是会带来一些延迟跳跃的问题。在相机或物体运动过程中,我们经常会用到前一帧甚至前两帧的深度信息。那么GPU在处理当前帧的时候,如果遮挡关系发生了变化,那么这一帧的计算结果就会出错,只能等待下一帧或者后面两帧处理正确,所以会出现一些跳帧现象。我们提出了优化的剔除方案,采用CPU软光栅方案,相当于把被遮挡的物体写入我们的Z-Buffer(声音),根据Z-Buffer对被遮挡的物体进行深度比较。排除CPU的好处是不存在GPU跳变和兼容性问题,在低端手机上也能很好的运行。从实验测试数据来看,这款应用前后的帧率都获得了10%~15%左右的提升。以上就是华为图形引擎服务开放能力的介绍。非常感谢您在百忙之中莅临HDC大会,欢迎与我们进行更多的联系和交流。谢谢!更多详情>>访问华为开发者联盟官网获取开发指导文档华为移动服务开源仓库地址:GitHub、Gitee关注我们,第一时间了解HMSCore最新技术资讯~
