Skip to content

Latest commit

 

History

History
96 lines (64 loc) · 7 KB

File metadata and controls

96 lines (64 loc) · 7 KB
order 0
title Overview
label Basics

Galacean Engine is a web-first, mobile-first, open-source real-time interactive solution, built with a component-based architecture and written in Typescript. It includes features such as Rendering, Physics, Animation, Interaction, and XR. It also provides a comprehensive visual online editor with a complete workflow to help you create stunning 2D/3D interactive applications in the browser. It mainly consists of two parts:

  • Editor: An online web interactive creation platform Editor
  • Runtime: A web-first, mobile-first high-performance interactive runtime Runtime, rich non-core features and business logic customization features Toolkit, and a series of secondary ecosystem packages.

Editor

Galacean Editor is an online web interactive creation platform. It helps you quickly create, edit, and export an interactive project. You can quickly upload assets, edit materials, adjust lighting, and create entities through the Galacean Editor to create complex scenes.

The overall process of creating an interactive project using the editor:

flowchart LR
   A[Create Project] --> B[Create Assets] --> B[Build Scene] --> C[Write Scripts] --> Export
Loading

The editor allows better collaboration between technical and artistic team members. You can quickly start the development of your first project through business templates on the editor homepage.

Runtime

Core functionalities are provided by Galacean Runtime, while advanced non-core and business logic customization features are provided by Galacean Toolkit. You can browse various engine examples online through the browser.

Core Packages

Includes the following sub-packages:

Package Description Related Documentation
@galacean/engine Core architecture logic and core functionalities API
@galacean/engine-physics-lite Lightweight physics engine Doc
@galacean/engine-physics-physx Full-featured physics engine Doc
@galacean/engine-shader-compiler Galacean Shader compiler Doc
@galacean/engine-xr XR logic package Doc
@galacean/engine-xr-webxr WebXR backend Doc
@galacean/engine-ui UI Doc

You can install it via NPM:

npm install --save @galacean/engine

Then import and use it in your project:

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

Toolkit

Non-core functionalities and business logic customization features are provided by the galacean-toolkit package (for a complete list of features, please check engine-toolkit):

Package Description API
@galacean/engine-toolkit-controls Controllers Doc
@galacean/engine-toolkit-framebuffer-picker Framebuffer Picker Doc
@galacean/engine-toolkit-stats Engine Stats Panel Doc
......

In the same project, please ensure that the core engine package version is consistent and the major version of the toolkit is consistent. For example, with version 1.3.x of the engine, you need to use version 1.3.y of the toolkit.

Secondary Ecosystem Packages

There are also some secondary ecosystem packages, which are introduced and used in the same way as the engine toolkit:

Package Description API
@galacean/engine-spine Spine Animation Doc
@galacean/engine-lottie Lottie Animation Doc

For version dependencies of secondary ecosystem packages, please refer to the corresponding documentation.

Click to learn more about Galacean's version management

Compatibility

Galacean Runtime runs in environments that support WebGL. So far, all major mobile and desktop browsers support this standard. You can check the compatibility of the runtime environment on CanIUse.

For some functional modules that require additional compatibility considerations, the current adaptation solutions are as follows:

Module Compatibility Considerations Specific Documentation
Mouse and Touch PointerEvent For compatibility, please refer to polyfill-pointer-event
PhysX WebAssembly In environments that do not support WebAssembly, it will degrade to the JS version, with slightly lower performance and performance compared to the WebAssembly version

Open Source Collaboration

Galacean is eager to collaborate with you to build an interactive engine. All development processes, including planning, milestones, and architecture design, are publicly available in GitHub's project management. You can participate in the construction of the engine by creating an issue and submitting a PR. If you have any questions or need help, you can join the DingTalk group or seek help in the discussion area.