Galacean Logo
English
English

Galacean Engine v0.6 Release

Bo Kou
November 19, 20215 min read

Suddenly, like a spring breeze, thousands of pear trees bloom. After two months of effort, from autumn to winter, Galacean Engine has finally ushered in the release of version 0.6.

  • The new version adds an offline baking toolkit, enabling users to achieve high-quality PBR rendering effects faster and better;
  • Enhanced the powerful PhysX physics system, with significant improvements in both functionality and performance compared to the previous version;
  • Added an input system, addressing the engine's shortcomings in interactive features and greatly reducing the amount of code needed to write interactive functions;
  • Plus other small but delightful feature refinements and updates...

What are you waiting for? Come and try it out!

Rendering System

Added offline baking toolkit. In the previous PBR art workflow, both developers and art developers found it difficult to get started with the entire rendering process due to the complex concepts of PBR and the fragmentation of art resources like IBL baking and diffuse spherical harmonics baking. Therefore, we developed an offline baking toolkit and integrated it into the editor and glTF Viewer. By uploading to the editor, you can bind environment maps, and processes like IBL offline baking and diffuse spherical harmonics baking will be automatically handled. Even if you are a beginner, you can easily get started. Additionally, we have implemented offline baking, HDR rendering, and color space correction on the rendering side, making the PBR rendering effects more realistic than before.

editor.gif

Since the editor is not yet open, developers using the engine directly can use the glTF Viewer, dragging HDRI maps into the glTF Viewer to get the baked results.

gltf-viewer-mini.gif

Physics System

Added physics system. Introduced PhysX compiled by WebAssembly as the underlying physics system and designed a multi-backend architecture. Therefore, we made a reasonable BreakingChange adjustment to the physics components. Under one set of interfaces, we implemented Physics-Lite (lightweight version, not dependent on PhysX, simple functionality) and Physics-PhysX (advanced version, capable of complex physical effects) two physics packages. The former is based on the legacy physics system from version 0.5, and the latter is based on PhysX 4.1, compatible with both heavy and light physical scenes. Developers only need to configure during engine initialization, and do not need to worry about which backend physics package is used during subsequent development. Besides the interface refactoring, Physics-Lite has also been upgraded functionally, supporting the combination of multiple ColliderShape. In the future, we will mainly develop Physics-PhysX and moderately enhance the functionality of Physics-Lite to support lightweight applications.

The editor is also fully adapted to the latest physics components, adding a UI list function to add multiple ColliderShape in the same collider:

截屏2021-11-08 下午12.54.54.png

Detailed interface design and architecture can be found in the Wiki (https://github.com/galacean/engine/wiki/Physical-system-design). In the future, we will release a series of technical articles introducing PhysX and the architecture of physical components on platforms like our official account, including "Physics Part Two: Multi-backend and Component Architecture Design" and "Physics Part Three: Implementing Lightweight Collision Detection Algorithm Package".

Input System

New Input System. This system has been a long-missing part of the engine's functionality. Previously, developers reported that the code for implementing interactions like clicks was quite cumbersome. The brand new input system in v0.6 will significantly reduce the amount of code needed to write interactive features. It supports Pointer type events, bridging the gap between mouse and touch events, and can meet common interaction needs such as clicks and drags. Additionally, it adds responses to interaction events in the lifecycle functions of script components, simplifying the cost of registering input events. Mouse wheel (Wheel) and keyboard (Keyboard) events will be supported in future versions.

inupt.gif

Other Updates

Engine Features

  • The animation system has added state machine scripts, allowing developers to easily write their own business logic at the start/update/end of animation states.
  • PrimitiveMesh has added the createCapsule() method, allowing for quick and easy creation of capsules.
  • The pixel reading interfaces getPixelBuffer() for Texture2D, RenderColorTexture, and RenderColorTexture have added the miplevel parameter, allowing you to specify the texture level to read pixels from.
  • The Camera.render() method has added the miplevel parameter, allowing you to specify the texture level to render.
  • glTF parsing of ModelMesh now supports more UV channels and vertex colors.
  • Animator has added getCurrentAnimatorState(), allowing you to get the current animation state being played.
  • Sprite has added a clone function.
  • Quaternion has added the rotateAxisAngle() method.
  • SkyBox material has added support for RGBM HDR encoding format.
  • Engine input parameters have added color space configuration, defaulting to linear space.
  • Direct lighting has been changed to physical units, i.e., divided by PI. If you find that previous scenes appear darker, this is normal. You can try adding an HDR environment map.

For more details, see the Change Log: https://github.com/galacean/engine/releases/tag/v0.6.0

Editor Features

  • The asset panel has added a directory tree feature, supporting asset drag-and-drop movement.
1636025957114-48bf100a-7849-4131-aecf-5fbb757036ab.gif
  • Optimized Gizmo user experience.
  • Added script component name optimization.
  • Completed the integration of the Swift project.
  • Fixed several bugs and optimized the experience.

Preview of Version 0.7

  • Physics: Further explore the features of the PhysX physics engine, expand the methods of DynamicCollider to support rigid body motion, and add components such as rigid body constraints and character controllers.
  • Textures: Integrate and refactor the structure of textures, and add features such as Texture arrays.
  • Text: Add a 2D text system to further complete the functional loop and 2D capabilities.

In Conclusion

We welcome everyone to star our GitHub repository. You can also follow our subsequent v0.7 plans at any time, and you can raise your needs and issues in issues. Developers can join our DingTalk group to discuss and explore some issues with us:

Galacean Logo
Make fantastic web apps with the prospective
technologies and tools.
Copyright © 2025 Galacean
All rights reserved.