LayaAir3.3已发布,补全了所有2D的短板!

从 LayaAir 3 开始,每个分支版本都带来了显著的引擎能力提升。在元旦前的公众号文章 《LayaAir:元旦后,我们要放一个大招》 中,我们回顾了各个版本的核心目标与重要更新内容。

今天发布的 LayaAir 3.3 同样是一次里程碑级别的提升。除了在Native方面继续加强之外,LayaAir 3.3 的核心目标是:全面补齐 2D 短板,以及推动 LayaAir 3 在各个方面达到国产游戏引擎巅峰。

下面对新增的重要功能进行详细说明。

01

Native继续提升

尽管LayaAir3.3的核心目标是围绕2D展开,但Native方面,仍有提升空间,所以我们在3.3版本中继续安排上。

1.1

Windows动态链接库

在LayaAir3.2里,支持了Windows桌面安装包的一键发布。在这个3.3版本里,我们进一步提升了引擎的易用性,新增了对 Windows 平台动态链接库扩展的支持,还提供了Steam平台的SDK接入文档,让开发者可以更轻松地将安装包接入 Steam等平台。

ca0f04d36c44d9d9a960c8fae16cd27d.jpeg接入Steam平台效果截图

1.2

Linux系统构建发布

LayaAir3.3开始,我们新增支持Linux系统构建发布,进一步完善了产品发布的覆盖范围。尤其为国产信创项目带来更多实际价值,助力开发者在信创领域获得更多商业机会和发展空间。

f049fa6e36ae6a2bc897108180d1fa10.pngLinux平台构建界面

发布Linux后,运行效果视频片段

02

新增瓦片地图编辑

瓦片地图(TileMap)是一种用于创建和管理2D游戏地图的技术,广泛应用于游戏开发中。通常由多个重复的小图块(称为“tile”或“瓦片”)组成,这些图块是按网格排列的,每个图块可以代表地图的一小部分,比如地面、墙壁、水面等。

相较于传统地图,瓦片地图的优势在于它能够通过重复使用小型图块(瓦片)来高效地构建和渲染大规模地图,显著降低内存消耗和处理负担,同时便于开发者进行灵活设计和快速编辑,使得地图的调整和更新更为直观和便捷。

在历史版本中,我们仅在引擎上适配了第三方的瓦片地图工具(Tiled Map Editor)。今天推出的LayaAir3.3引擎,我们不仅在引擎中完全实现了瓦片地图的能力,还在LayaAir3-IDE中提供了可视化的瓦片地图资源文件创建和配置能力,以及地图编辑面板。

49a6611128e72612a27ed01c78f64fca.png

瓦片地图编辑界面

从该版本起,开发者无需再依赖第三方工具来制作瓦片地图,可以轻松地基于LayaAir3-IDE在游戏中实现复杂的地图设计,从而避免了第三方工具的版本兼容性问题。

03

新增2D导航寻路

2D导航寻路在游戏开发过程中应用广泛,例如RPG类游戏、塔防类游戏等。

LayaAir3.3开始内置了2D导航寻路的功能,在引擎内,通过算法计算来实现游戏角色从起点到终点的最优路径规划。这种功能的支持,能够让游戏中的角色自动规避障碍物,找到最短或最优的移动路线。

edae53483a9e255bb7a8e290d7efe2ac.png

2D导航寻路组件界面

对游戏开发者而言,LayaAir3.3引擎提供的2D导航寻路功能带来了显著的开发便利。它不仅降低了开发难度,避免了开发者重复实现复杂的寻路算法,还提高了开发效率,使团队能够将更多精力投入到游戏玩法设计上。

2D导航寻路示例运行视频片段

04

新增全新的UI系统

FairyGUI是一个跨引擎的开源UI解决方案,以同时支持十多款主流游戏引擎以及出色的UI编辑器而闻名,拥有几十万专业的开发者。由于FairyGUI工具的作者同时也是LayaAir3-IDE的负责人,FairyGUI的开发者一直以来都期待在LayaAir3-IDE中使用FairyGUI的UI架构。

为了满足开发者的诉求,从LayaAir3.3开始,新增了一套与FairyGUI相同架构的新UI系统。该UI系统与LayaAir历史版本的UI系统同时存在。开发者可以自由选择任意一种作为UI制作工具。

d31981a23bcdc678b27a30fe6b55f090.png

项目设置中切换UI系统的界面

LayaAir新UI系统不仅继承了FairyGUI一些广受欢迎的特性,如控制器、关联、虚拟列表等,还引入了更丰富的UI布局方式,并优化了API设计。

115584765c7b7d59f1f0165448ccf26c.png新UI编辑界面

新UI系统是在LayaAir3-IDE中可视化制作,其 UI 制作方式与 IDE 插件系统一致。至此,行业内知名的FairyGUI架构终于与LayaAir引擎实现完美融合,LayaAir也成为唯一拥有双UI系统的高度易用引擎。

05

新增2D区域与2D相机

尽管在没有2D相机的情况下,采用传统的方案可以制作各种类型的2D游戏,但引入2D相机可以使游戏开发过程更加简化和高效。

在传统的制作方式中,开发者需要手动计算并调整背景和其他元素的位置,以模拟角色在屏幕上的移动效果。然而,使用2D相机后,视角可以自动跟随角色移动,开发者无需额外的代码计算和逻辑处理。这使得游戏开发更加直观,降低了技术门槛。

8271df56fa275f30cea9ccafbd38ac47.png

2D相机设置界面

LayaAir3.3不仅新增了2D相机,方便开发者直观的通过相机来控制角色视窗的运动方式以及多关卡不同相机的切换。还新增了2D区域节点类型,用于区别静态UI和2D相机空间。

2D相机的示例运行效果如视频中所示。

基于2D相机的示例视频片段

06

新增2D网格与灯光

在LayaAir3.3中,新增的2D网格和灯光功能为2D游戏开发带来了高阶的视觉表现手段,特别是在光照效果的呈现上。

6.1

网格渲染器

2D网格当前主要是为纹理提供一个接受光照的基础,通过渲染层的设置来控制不同光源与其发生交互与影响。

38433196be9c91152b6653f5140841f8.png

网格渲染器组件界面

6.2

2D方向光

在2D灯光中,LayaAir3.3引擎提供了多种类型的光源组件。其中,2D方向光提供统一方向的平行光照,适用于模拟太阳光等全局光照,例如昼夜更替的效果。

95fca0871bcd0c790928c8f2fa31693d.gif

2D方向光示例效果动图

6.3

2D精灵光

2D精灵光是一种基于纹理形状发光的光照组件。它通过图像纹理来定义光照的形状,能够产生精细的图案光效,使光照效果更加细腻和精确。

c15396d262e70c0312db5674f8695bd1.png

2D精灵光示例效果

6.4

2D聚光灯

2D聚光灯主要用于产生锥形区域的光照效果,非常适合用来实现手电筒、探照灯等场景,也可以用于实现点光源的效果。

50305d056cdd52133d4898e9f3b7e114.png

2D聚光灯示例效果

6.5

2D自由形态光

2D自由形态光支持开发者通过控制点自定义光照形状,能够实现更为复杂的光照效果。 

5ed18ab159f58d9a4e443848fbe19020.gif

2D自由形态光示例效果

6.6

2D光遮挡器

为了让光照效果更加真实,引擎还提供了2D光遮挡器组件,用于创建动态阴影效果。通过定义遮挡形状,可以与各种光源产生互动,呈现出真实的阴影效果。

f2521dc52d7442009572daa4c5bc7b24.png

2D光遮挡器编辑阴影形状的界面

这些光照组件可以灵活叠加使用,并支持动态调节各项参数,为2D游戏带来更加真实和富有层次感的视觉效果。

07

新增2D粒子

由于LayaAir2的粒子基于CPU运算,性能较差,且设计方案也不成熟,所以很长一段时间都没有继续维护。基于此,LayaAir3开始没有再支持历史版本的2D粒子。

一些有粒子效果需求的开发者不得已,通过渲染纹理的方式,将3D粒子添加到2D节点上使用。虽然可以解决问题,但对于纯2D游戏来说,多增加一个3D库,就增加了游戏包体的大小。

LayaAir3.3开始,彻底解决了这个痛点,补上了2D粒子的短板。我们将3D GPU粒子的设计移植到2D,对于有需要2D粒子的开发者,直接使用2D粒子渲染器组件并引用2D粒子引擎库即可实现类似于3D粒子系统制作的粒子效果。

制作2D粒子的视频片段

08

新增2D线渲染器

尽管LayaAir引擎提供了绘制图形(Graphics)API用于绘制线段和折线,然而LayaAir3.3开始,提供了更为高级的2D线渲染器(Line2DRender),不仅具有Graphics的画线能力,还支持创建虚线,以及为线段设置材质和纹理,使得2D线也可以接收光照,拥有更加炫酷的线形状效果,例如绳索、渐变线、线段边框、线上的动态纹理等等。

d99f84a210bb411479bd7eb268c1fc1e.png2D线渲染器编辑界面

当然,用于实现动态画线也是非常方便,效果如下面的动图所示。

886454d096bec1714fae35a518c21f3f.gif

2D线渲染器的实时画线动图

09

新增2D拖尾

开发者对3D拖尾非常熟悉,常见的是用于武器挥舞时的光效、角色快速移动时的残影、投射物的飞行轨迹等等。

从LayaAir3.3版本开始,我们为2D游戏也增加了拖尾。拖尾在2D游戏中同样具有广泛的应用场景,无论是子弹的飞行轨迹、球类运动的动态路径,还是格斗游戏中的招式特效等众多应用场景,都能通过2D拖尾来实现更加生动的视觉效果。

6d66e83a9c6d53c899a6b18d4b372749.png

2D拖尾渲染器编辑界面

这一功能的加入标志着LayaAir3在2D特效制作领域又迈出了重要的一步,让开发者能够更加轻松地实现丰富的2D动态效果,为2D游戏的视觉表现提供了更多可能性。

2D拖尾示例效果的视频片段

10

全面支持2D自定义Shader

由于LayaAir2.x引擎全力发展3D引擎,对于2D自定义Shader这种高阶能力处于发展停滞的阶段。然而在高品质的2D游戏中,2D自定义Shader能够显著提升游戏的竞争力。它可以用于实现复杂的特效,如水波纹、扭曲变形、动态光影等;可以创造独特的美术风格,如像素风、手绘风、水墨风等。提升游戏的市场表现力。

在LayaAir3.1版本中,我们支持了2D自定义Shader中的常用功能-自定义2D材质。在这个3.3的版本中,我们完全支持了2D自定义Shader。并在LayaAir3-IDE中新增了2D自定义Shader的模板。

8c1d22a848dbf2a18f7bbbcd71df0c9e.png

自定义Shader模板界面

其中的2D基础渲染Shader模板是本次新增的,用于精灵的渲染组件材质赋值,与另两种Shader模板不同的是,该模板无法用于精灵的纹理材质上。

7deca6a2febe5f0e134148e353b64ccb.png不同Shader应用于不同材质的示意图

2D基础渲染类型的Shader具有处理2D光照的能力,这使其非常适用于需要处理光照效果的2D场景,比如实现阴影、光束或反射等视觉效果。通常,此Shader类型被运用于2D渲染组件中,提供光照效果支持。

11

其它优化提升

除了以上的主要能力提升外,还做了大量的优化提升。

例如,IDE界面布局的调整与易用优化。

3D-UI新增贴合相机模式,让3D-UI始终绑定一个摄像机固定视角。主要适用于VR场景里的UI需求。

重构了Tween系统,兼容之前的常用用法外,新增支持Vector2、Vector3、Vector4、Color、Point,以及字符串类型的颜色值等实用功能。

除了引擎与IDE的优化,这里重点提一下文档结构的优化。基于开发者的反馈,我们不仅新增了大量的文档,更是调整了引擎文档的目录,使其结构更加清晰。

欢迎大家前往官网体验!

下载:

https://layaair.com/#/engineDownload

文档:

https://layaair.com/3.3/doc/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值