前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LayaAir3.0今日公测发布,新特性全面概述

LayaAir3.0今日公测发布,新特性全面概述

作者头像
Layabox Charley
发布2023-03-04 17:48:44
1.1K0
发布2023-03-04 17:48:44
举报
文章被收录于专栏:Layabox

历时两年研发,两个月的封闭测试。

今天,LayaAir3.0版本终于进入了开放性的公测阶段。

在此,我们首先感谢一直以来关注LayaAir引擎以及积极参与封闭测试的开发者们。

下面开始进入正题,介绍LayaAir3.0版本带来的引擎与IDE新特性。

3.0引擎新特性

基于元宇宙在未来的明确性发展趋势,LayaAir 3.0引擎的核心定位是面向泛行业元宇宙大型项目的全平台高性能3D引擎,这也是引擎设计与更新的主要基调。

01

可编程的渲染管线设计

LayaAir 3.0引擎在设计上共分为四层,分别是开发者使用的引擎上层、可自由拼装拆卸替换的核心算法模块层、可保障多平台支持的渲染接口层、分别应用于Web与Native的渲染内核层。

其中的核心算法层,经过对引擎的重构,拥有高度的可扩展性和出色的自定义功能。开发者可以基于引擎的核心架构,扩展自己独有的引擎功能,比如脚本系统、组件系统、后期处理系统、渲染命令流系统、合并批次系统等等,来满足各式各样的项目需求。

在这一层里,引擎对渲染核心功能模块解耦,提供可拼接拆装的积木式架构,比如场景管理模块,渲染排序模块,裁剪模块等等。开发者都可以通过接口的形式,使用自己扩展的功能。

同时,引擎也提供了使用命令流功能来收集渲染指令和参数,组成一串渲染指令在渲染流程中插入,从而实现开发者的各种渲染需求。

基于引擎新架构,开发者可以扩展或者替换引擎中核心算法。例如,开发者可以在Native APP版本里,用C++语言的算法去替换掉JS引擎中的算法,这样可以减少因语言级差异导致的Native APP版本性能下降。

在引擎与Native层的数据交互方面,Native层应用共享数据的方式来进行Native层与引擎上层数据的传输,优化语言层之间的数据同步性能。

另外,引擎的渲染底层以及部分对性能消耗较大的核心模块,也直接在Native层进行了实现。不仅进一步提升了Native版本的性能,也为Native层接入更多原生API与平台做好了准备。

02

支持WebGPU

在引擎的四层设计里,渲染内核层也是需要重点提及的地方。WebGPU是基于新的图形标准的API、支持CPU多线程、支持通用计算能力,这些都不是当前的WebGL具备的优势。当然,WebGPU当前还处于早期阶段,没有正式发布,也没有全面普及。所以LayaAir 3.0引擎,在Web端,除了面向当下的WebGL图形API,也支持面向未来的WebGPU图形API。在Native APP版本也是对应的,除了OpenGL之外,也支持Vulkan与Metal。

当前还是开发版本,不久后将正式面世

03

性能进一步提升

极致性能一直是LayaAir引擎的核心追求,在3.0的性能方面,我们不仅在引擎性能上继续突破,也提供了更多项目性能的优化方式。

首先,是基于BVH的场景架构管理。采用该优化方案后,在随机1000个物体的DEMO中,在裁剪效率方面,普通方案需要调用1000次裁剪,采用2.0引擎的方案,用233次找到八叉树节点,又用了300次找到视锥节点进行裁剪。而3.0引擎的方案,仅用了226次即可找到视锥节点进行裁剪。如下图所示:

除了裁剪,例如LOD、动态物体、ReflectionProbe等等,均可采用该方案进行优化,并且使用该方案,当物体越多时,优化效率的提升会越明显。

另外,3.0引擎强大的Batch系统,为开发者提供Instance合批、顶点合批、以及自定义合批接口。

通过案例实测表明,当游戏处于8万节点,其中4万渲染节点的情况下,通过开启Batch,仍然保持流畅运行。

8万节点4万渲染节点,未开启Batch仅20帧

8万节点4万渲染节点,开启Batch达到53帧

3.0引擎还新增支持了LOD功能,用于减少远处场景的面数、优化渲染节点管理。

LOD未开启,模型面数达到274万

LOD开启后,模型面数减少到176万

04

渲染升级

3.0引擎重构了PBR材质,使PBR效果更加符合物理渲染。引擎材质增加了各向异性,细节纹理等更加常用的功能。

3.0引擎的渲染空间,从2.0的Gamma升级为linear,并提供了ACES等颜色空间转换,对接国际流程,效果得以提升。

下图为3.0引擎重构PRB材质流程与线性空间的接入后与2.0引擎的效果对比。

另外,在后期处理模块,3.0引擎正式提供HDR标准ACES空间转换,以及丰富的后期处理管线。引擎提供SSAO,景深,泛光,以及颜色调整等后期处理,开发者也可以更加自身的需求,增加一些自定义的后期处理模块。

例如下图的对比中,开启后期处理后,效果提升明显。

未开启后期处理

已开启后期处理

3.0引擎还引入了自研的烘焙系统,支持直接光和间接光的效果,使用lightmap的方式来引入更细腻的GI效果。

3.0引擎也对反射探针进行了重构,反射探针提供完整的GI参数,开发者可基于项目,调整某个区域的GI效果。

05

其它重要的优化升级

除以上介绍的重要新特性之外,引擎还有许多升级与优化重构的地方。这里我们将例举一二:

  • 重构资源加载模块,将LayaAir2.0 2D与3D的不同资源加载方法整合,使用通用的资源加载API,让加载更加易用。
  • 重构2D时间轴动画,新增支持2D动画状态机,让2D动画更加丰富与易用。
  • 重构了脚本事件与自定义脚本相关,2D与3D不再分别继承不同的脚本类。让脚本的使用更易用。
  • 重新定义了场景概念,重构2D场景与预制体,以便更好支持2D与3D混合开发。
  • 升级了3D多光源,采用集群的方式实现多光源的算法。
  • 重构了Shader模块,全新的.shader文件,以及shader蓝图,更便利的shader材质封装系统,使开发者更加方便开发shader。

3.0 IDE新特性

除了引擎功能的重构与升级,引擎的开发工作流也进行了全方位的升级。从3.0引擎版本开始,3D编辑器震撼登场,开启了LayaAir 3D引擎一站式可视化开发的新篇章。

01

3D场景编辑模块

LayaAir3.0新增3D场景编辑模块,功能包括了模型导入(FBX、GLTF)、模型与摄像机的基础交互、场景环境设置、烘焙、天空设置等等。满足大型3D场景可视化编辑的全部所需。

02

3D材质编辑模块

LayaAir3.0新增3D材质编辑模块,内置了大量常用模型材质着色器的使用与编辑,例如,布林冯、不受光、基于物理渲染、粒子、拖尾、天空盒等材质着色器。同时还支持自定义着色器文件、着色器蓝图文件的使用,以及材质效果预览等等,满足模型材质编辑的全部所需。

03

3D蓝图编辑模块

LayaAir3.0新增3D蓝图模块,支持自定义材质的着色器蓝图可视化连线编辑以及着色器蓝图函数,让自定义材质的门槛大幅降低。

04

3D粒子编辑模块

LayaAir3.0的3D粒子模块,包括粒子系统、粒子特效组件、粒子材质、粒子效果预览、粒子效果播放控制面板几大部分。涵盖了LayaAir粒子效果可视化编辑的全部所需。

05

动画编辑模块

LayaAir3.0升级2D时间轴动画编辑器,增加曲线模式与状态机等。新增3D动画编辑与状态机。满足时间轴动画、属性动画、Shader动画、脚本动画等日常动画编辑所需。

06

物理编辑模块

LayaAir3.0升级2D物理编辑相关功能,新增3D物理编辑相关功能。主要包括了2D物理与3D物理的刚体、碰撞体、约束等众多物理组件,满足物理世界的可视化编辑所需。

07

UI编辑模块

LayaAir3.0的UI编辑模块,在继承2.0引擎与IDE的核心体验与UI组件的基础上,进行了体验优化,以及更好地支持2D与3D混合开发。

下图是将3D的模型通过RenderTexture的方式,直接设置到2D精灵上的操作流程动图。

08

ECS组件系统

LayaAir3.0的ECS组件系统,主要包括2D与3D的引擎内置组件、组件的管理、自定义脚本组件、组件生命周期方法与事件触发方法等。使得可视化实体节点的代码逻辑更加清晰,交互控制更加便捷,去耦合化让代码维护更轻松。

09

支持中英双语切换

除了以上的主要编辑模块外,IDE还支持了中英双语切换,并默认使用中文,全面中文界面(包括引擎符号)对中国开发者更加友好。

中文界面下,IDE也允许开发者自由决定是否采用翻译后的引擎符号(引擎组件名称、属性名称等)

即将推出的新功能

LayaAir3.0公测阶段,除了让大家体验新版本功能的尝鲜外,另一个主要目的是邀请广大开发者共同参与到引擎的完善工作,多提宝贵意见与建议,以及积极反馈BUG,早日迎来3.0正式版本。

所以,今天推出的公测版本,仅仅是LayaAir3.0对外走出的第一步,并非是完整功能版本。在正式版本发布前,我们除了BUG的修复外,还将陆续推出:LayaAir 3D UI模块、LayaAir引擎资源商店、LayaAir IDE插件等大块功能,以及一些易用性优化相关的小功能。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Layabox 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
灰盒安全测试
腾讯知识图谱(Tencent Knowledge Graph,TKG)是一个集成图数据库、图计算引擎和图可视化分析的一站式平台。支持抽取和融合异构数据,支持千亿级节点关系的存储和计算,支持规则匹配、机器学习、图嵌入等图数据挖掘算法,拥有丰富的图数据渲染和展现的可视化方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档