引擎模块

Author: Charley

LayaAir 引擎采用多模块化设计,其核心目标是在按需加载与高性能之间实现最佳平衡。通过将非必要功能从基础引擎中剥离,有效降低引擎包体体积并提升加载速度;同时依托高度解耦的架构设计,使物理、渲染等高复杂度模块能够独立运行与灵活扩展,从而在资源受限的运行环境中,以更低开销支撑高性能的实时交互体验。

在 IDE 中,引擎模块按照功能属性划分为 2D、3D、通用其他 模块组,便于开发者快速定位与管理所需功能。引擎核心库属于基础依赖,必须使用,因此不包含在可选模块列表中。

模块选项中,新 UI 系统3D 核心模块 默认处于勾选状态。若项目未使用 UI 功能,或为纯 2D 项目,开发者可根据实际需求取消相应模块的勾选,以进一步精简包体并降低运行开销。

对于多数常用功能模块,当开发者在 IDE 中创建或添加相关组件时,IDE 会自动检测当前引擎库的勾选状态,若未启用则会自动勾选对应模块(删除组件时不会自动取消勾选)。

需要注意的是,若开发者仅在代码中使用某些引擎功能,而未通过 IDE 界面创建对应组件,则需手动勾选相应的引擎模块,以确保相关功能正常生效。

1、2D 模块组

2D 模块组包含 2D 项目开发中常用的引擎功能模块,如图 1-1 所示。开发者可根据项目需求按需勾选。

(图1-1)

1.1 UI系统

UI 系统基于精灵体系封装了一套常用的 UI 组件与布局能力,用于提升界面设计与排版效率。

模块选项中,新 UI 系统默认处于勾选状态。为兼容历史项目及旧版使用习惯,开发者也可选择 经典 UI 系统,或 同时启用两套 UI 系统。需要注意的是,同时使用两套 UI 系统将增加最终构建包体体积,如图 1-2 所示。

(图1-2)

1.2 2D灯光

2D 灯光模块用于支持 2D 场景中的光照效果。使用 2D 灯光相关组件时,该模块必须启用。

在 IDE 中添加 2D 灯光组件时,系统会自动勾选对应引擎库,如图 1-3 所示。

(图1-3)

1.3 2D线渲染器

2D 线渲染器模块用于绘制线段与路径效果。

当使用 2D 线渲染器组件时,该模块为必选项,IDE 在添加组件时会自动启用,如图 1-4 所示。

(图1-4)

1.4 2D拖尾

2D 拖尾模块用于实现运动轨迹类的视觉效果。

在使用 2D 拖尾渲染器组件时,需勾选该模块,IDE 会在添加组件时自动完成勾选,如图 1-5 所示。

(图1-5)

1.5 2D粒子

2D 粒子模块用于支持 2D 粒子系统的渲染与播放。

当使用 2D 粒子渲染器组件时,该模块必须启用,IDE 会自动检测并勾选,如图 1-6 所示。

(图1-6)

1.6 瓦片地图

瓦片地图模块用于支持 TileMap 场景结构。

在使用瓦片地图层组件时,该模块为必选项,IDE 添加组件时会自动勾选,如图 1-7 所示。

(图1-7)

1.7 物理系统

LayaAir 默认集成 Box2D 物理引擎,同时提供 JS 版本Wasm 版本,开发者可根据需求自行选择,如图 1-8 所示。

(图1-8)

开发者可自行选择JS或Wasm版本,甚至可以自定义2D物理系统(具体可参照文档:自定义物理引擎

物理系统模块在使用任意物理相关组件时必须启用,IDE 在添加物理组件时会自动勾选对应引擎库,如图 1-9 所示。

(图1-9)

1.8 Spine 动画

Spine 动画模块是基于 Spine 官方 JS 运行库进行适配与性能优化后的运行时实现,目前支持 Spine 3.7–4.2 版本,如图 1-10 所示。

(图1-10)

使用 Spine 渲染器组件时,必须勾选对应的 Spine 动画模块,IDE 会自动完成勾选,如图 1-11 所示。

(图1-11)

需要注意的是,所选 Spine 模块版本必须与 Spine 资源版本保持一致,且不支持多版本 Spine 动画混合使用,否则将导致动画资源无法正常播放。

1.9 导航寻路

导航寻路模块用于支持 2D 场景中的路径搜索与导航逻辑。

当使用导航寻路相关组件时,该模块必须启用,IDE 添加组件时会自动勾选,如图 1-12 所示。

(图1-12)

导航寻路模块同样提供 JS 版本Wasm 版本,默认使用 JS 版本,开发者可根据需求进行切换,如图 1-13 所示。

(图1-13)

1.10 内置骨骼动画

内置骨骼动画模块主要用于兼容 LayaAir 历史版本中的骨骼动画方案,即将 Spine 或 DragonBones 动画转换为 .sk 格式使用。

由于该方案对 Spine 与龙骨动画的功能支持相对有限,部分高级特性无法使用,因此 仅建议在兼容历史项目时启用。在新项目中,优先推荐使用 Spine 动画运行时模块。

2、3D 模块组

3D 模块组包含 3D 项目开发中常用的引擎功能模块,如图 2-1 所示。开发者可根据项目需求按需勾选。

(图 2-1)

2.1 3D 核心模块

3D 核心模块是所有 3D 项目必须启用的基础引擎库

若项目为纯 2D 项目,可取消该模块的勾选,以减少不必要的包体体积与运行开销。

2.2 3D 拖尾

3D 拖尾模块用于支持 3D 场景中的拖尾渲染效果。

在使用 3D 拖尾组件时,该模块为必选项,IDE 在添加组件时会自动检测并勾选,如图 2-2 所示。

(图 2-2)

2.3 3D 粒子

3D 粒子模块用于支持 3D 粒子系统的渲染与播放。

当使用 3D 粒子渲染器组件时,该模块必须启用,IDE 添加组件时会自动完成勾选,如图 2-3 所示。

(图 2-3)

2.4 3D 后处理

3D 后处理模块用于支持相机的后期处理效果。

在启用 3D 相机的后处理功能并创建后处理实例后,该模块为必选项,IDE 会自动勾选对应引擎库,如图 2-4 所示。

(图 2-4)

2.5 物理系统

3D 物理系统模块内置多种主流物理引擎实现,包含 BulletPhysX,并同时提供 JS 版本Wasm 版本,如图 2-5 所示。

(图 2-5)

开发者可根据性能需求与平台环境,自行选择对应物理引擎的 JS 或 Wasm 实现,亦支持自定义 3D 物理系统。(具体可参照文档:自定义物理引擎

在使用任意 3D 物理相关组件时,该模块必须启用,IDE 添加组件时会自动勾选,如图 2-6 所示。

(图 2-6)

2.6 导航寻路

3D 导航寻路模块用于支持三维场景中的路径搜索与导航功能。

当使用 3D 导航寻路相关组件时,该模块为必选项,IDE 在添加组件时会自动勾选,如图 2-7 所示。

(图2-7)

该模块同样提供 JS 版本Wasm 版本,默认使用 JS 版本,开发者可根据实际需求进行切换,如图 2-8 所示。

(图 2-8)

2.7 GLTF 动态解析器

当在 IDE 中直接使用 glTF 资源时,无需启用 GLTF 动态解析器 模块。

仅在通过代码方式动态加载并解析 glTF 模型资源时,才需要勾选该模块,用于支持 glTF 资源的运行时解析。

3、通用模块组

通用模块组包含可同时应用于 2D 与 3D 项目 的通用引擎功能模块。目前,通用模块组仅包含 程序蓝图模块

3.1 程序蓝图

程序蓝图模块用于支持可视化编程,通过节点化逻辑编辑方式,帮助开发者在无需或仅需少量编写代码的情况下完成逻辑搭建,从而提升开发效率与项目可维护性。

在项目中使用程序蓝图功能时,必须启用该模块。

4、其它模块组

4.1 硬件设备支持

启用硬件设备支持模块后,项目方可调用浏览器提供的相关 Web API,以访问 陀螺仪、加速计、地理位置、摄像头、麦克风 等硬件设备能力。

4.2 Worker异步加载器

Worker 异步加载器模块用于支持 WorkerLoader 的异步资源处理能力,主要用于在 Web Worker 中对图片资源进行解码,从而降低主线程负载并提升运行性能。

4.3 2.x版本文件格式支持

该模块用于支持代码 动态加载 LayaAir 2.x 引擎格式.ls.lh 文件。

需要注意的是,该模块不影响 IDE 中对 LayaAir 2.x 格式资源的使用,即使未勾选该模块,IDE 中仍可正常使用对应格式的资源文件。

4.4 TiledMap支持

TiledMap 支持模块用于在 代码中直接加载和使用第三方 TiledMap 地图资源

若将 TiledMap 地图资源导入至 IDE,并通过 IDE 内置的 瓦片地图层 组件进行使用,则仅需勾选瓦片地图层对应模块,无需启用该模块。

Copyright ©Layabox 2026 all right reserved,powered by LayaAir Engine更新时间: 2026-01-22 16:35:36

results matching ""

    No results matching ""