概述

Galacean Engine 是一套 Web 为先、移动优先、开源共建的实时互动解决方案,采用组件化架构并用 Typescript 编写。它包含渲染物理动画交互XR等功能,并提供了具备完善工作流的可视化在线编辑器,帮助你在浏览器上创作绚丽的 2D/3D 互动应用。它主要由两部分组成:

  • 编辑器:一个在线 Web 互动创作平台 Editor
  • 运行时:一个 Web 为先、移动优先的高性能的互动运行时 Runtime,丰富的非核心功能和偏业务逻辑定制功能 Toolkit, 以及一系列二方生态包。

编辑器

Galacean Editor 是一个在线 Web 互动创作平台。它可以帮助你快速地创建、编辑和导出一个互动项目。你可以通过 Galacean Editor 快速上传资产,编辑材质、调整灯光、创建实体,从而创造出复杂的场景。

使用编辑器创建互动项目的整体流程:

通过编辑器可以让技术与美术同学更好地进行协作,你可以在编辑器首页通过业务模板快速开始第一个项目的开发。

运行时

核心功能由 Galacean Runtime 提供,非核心和偏业务逻辑定制的高级功能由 Galacean Toolkit 提供。你可以通过浏览器在线浏览引擎的各种示例

核心包

包括以下子包:

解释相关文档
@galacean/engine核心架构逻辑和核心功能API
@galacean/engine-physics-lite轻量级物理引擎Doc
@galacean/engine-physics-physx全功能物理引擎Doc
@galacean/engine-shader-labGalacean Shader 编译器Doc
@galacean/engine-xrXR 逻辑包Doc
@galacean/engine-xr-webxrWebXR 后端Doc

你可以通过 NPM 的方式进行安装:

npm install --save @galacean/engine

然后在业务中引入使用:

import { WebGLEngine, Camera } from "@galacean/engine";

工具包

非核心功能和偏业务逻辑定制功能由 galacean-toolkit 包提供(完成功能列表请查看engine-toolkit):

在同一项目中,请保证引擎核心包的版本一致和工具包的大版本保持一致,以 1.3.x 版本的引擎为例,需要配套使用 1.3.y 版本的工具包。

二方生态包

另外还有一些二方生态包,引入和使用方式和引擎工具包相同:

解释API
@galacean/engine-spineSpine 动画Doc
@galacean/engine-lottieLottie 动画Doc

二方生态包的版本依赖关系,请参照对应文档说明。

点击深入了解 Galacean 的版本管理

兼容性

Galacean Runtime 在支持 WebGL 的环境下运行,到目前为止,所有主流的移动端浏览器与桌面浏览器都支持这一标准。可以在 CanIUse 上检测运行环境的兼容性。

此外,Galacean Runtime 还支持在支付宝/淘宝小程序中运行,同时也有开发者在社区贡献了微信小程序/游戏的适配方案。对于一些需要额外考虑兼容性的功能模块,当前的适配方案如下:

模块兼容考虑具体文档
鼠标与触控PointerEvent兼容请参照 polyfill-pointer-event
PhysXWebAssembly在不支持 WebAssembly 的情况下,会降级为 JS 版本,略低于 WebAssembly 版本的性能与表现

开源共建

Galacean 渴望与你共建互动引擎,所有的开发流程,包括规划里程碑架构设计在内的信息,全部都公开在 GitHub 的项目管理中,你可以通过创建 issue提交 PR 参与到引擎的建设当中。如果你有疑问或者需要帮助,可以加入钉钉群或讨论区寻求帮助。

这篇文档对您有帮助吗?