LayaAir3.0引擎功能概述
Author:Charley
LayaAir3.0引擎,包括引擎代码、项目开发工具、项目发布,三大部分。本篇仅对大块功能简要概述,让开发者有一个初步的认知。
一、引擎代码
引擎代码,除了开放式的可编程的渲染管线,全平台的图形引擎架构,次世代PBR渲染流,ClusterLighting多光源技术,Forward+渲染管线,高性能并行渲染器API的接入(WebGPU)等核心基础。对于开发者而言,我们从通用、2D、3D,这三个部分来分别介绍。
1.1 引擎通用部分
- 网络(HTTP请求、WebSocket请求)
- 加载(可加载文本、JSON、XML、二进制、音频、视频、骨骼文件、图像文件等资源)
- ECS组件系统(组件系统、生命周期方法)
- 场景管理
- 事件(派发、侦听,捕获)
- 交互(鼠标、键盘、屏幕touch、VR手柄)
- 多媒体播放(音频、视频)
- 缓动
- 浏览器接口(封装常用的浏览器window功能、调用浏览器window功能)
- 设备接口(陀螺仪、加速计、地理位置)
- 节点
- 屏幕适配
- 小游戏适配(微信小游戏、抖音小游戏、OPPO、vivo、小米……等)
1.2 2D引擎
- 2D精灵(2D基础显示对象与容器)
- 2D视图(视窗、弹窗)
- 2D动画(图集动画、逐帧动画、缓动动画、时间轴动画、龙骨动画、spine动画)
- 2D文本(基础文本、HTML文本、BitmapFont位图字体)
- 2D UI组件(图像、按钮、显示文本、文本输入、文本域、下拉框、多选框、单选框、单选框组、导航标签组、导航容器、位图切片、位图字体切片、 垂直滚动条、水平滚动条、进度条、垂直划动条、水平划动条、取色器、基础容器、列表、树状列表、面板容器)
- 2D UI效果(遮罩、滤镜)
- 2D场景继承类(管理UI)
- 2D绘图(绘制矩形与圆角矩形、绘制圆形与扇形、绘制多边形、绘制线段、绘制折线、绘制曲线、绘制纹理与填充纹理)
- 2D物理(Box2D)
- Tiled Map地图
1.3 3D引擎
- 3D精灵(3D基础显示对象与容器)
- 3D基础工具(3D坐标系、3D变换、3D数学工具、等)
- 3D场景(场景管理、环境光、环境反射、场景天空、场景雾、等)
- 3D摄像机
- 3D光照(方向光、点光、聚光、区域光、阴影、光效)
- 3D网格
- 3D材质(模型材质、粒子材质、拖尾材质、天空材质)
- 3D纹理
- 3D粒子系统
- 3D拖尾
- 3D物理(bullet 、PhysX)
- 3D动画(刚体动画、材质动画、骨骼动画、摄像机动画、时间轴动画)
- 自定义Shader
- webXR
二、IDE(集成开发环境)
IDE的概述,也分为通用模块、2D模块、3D模块进行概要说明。
2.1 通用模块
- 层级管理面板
- 项目资源面板
- 场景视窗
- 预览窗口
- 控制台面板
- 时间轴动画面板
- 动画状态机面板
- 属性设置面板
- 项目设置面板
- IDE插件开发
- IDE资源商店
2.1 2D模块
- 2D布局小部件(基础显示对象节点、UI组件、骨骼动画节点)
- 2D动画编辑
- 2DUI编辑
- 2D脚本管理
- 场景继承类管理
- 2D预制体
2.2 3D模块
- 3D场景编辑
- 3D摄像机
- 3D灯光设置
- 3D动画编辑
- 3D粒子系统
- 3D材质编辑
- 3D蓝图编辑
- 3D预制体
- 3D物理编辑
三、项目发布
3.1 Web版发布
发布web版是基础的发布方式,可以用于浏览器上运行,也可以用于Native打包发布。
3.2 小游戏发布
提供了各小游戏平台的适配库,以及快捷的各小游戏平台发布功能。
3.3 Native打包发布
支持发布为iOS与安卓平台的安装包。