In the latest editor version, we have not only completely changed the interface style but also added many exciting features and widgets. Although the interface has been completely refreshed, upon closer observation, you will find that familiar functions such as the sidebar, node tree, assets, etc., are still retained! Our latest design aims to provide you with a more modern visual experience and a more efficient workflow. At the same time, we continue toGalacean v1.2 Official R focus on improving the editor's ease of use, which means you can more conveniently operate the editor through a combination of keyboard and mouse. Whether it's selecting colors, menus, or adjusting values, we provide support for both keyboard and mouse operations.
We have also redesigned the code editor. In the past, the code editor limited us to using only the @galacean/engine
package for script development online, not supporting the import of other packages. This made it very difficult for us to write large features. The new code editor allows you to easily import third-party packages. Simply enter the package name, select the version, click import, and you can quickly import the third-party package into the workspace and provide code hinting functionality, it's that simple!
Additionally, the new code editor provides a floating simulator to offer scene preview functionality, giving you a more flexible coding experience. Using the toolbar on the simulator, you can find more debugging features, such as opening scene statistics or editing script parameters within the scene.
Add a variety of project templates covering interactive 2D/3D content, model showcases, animation effects, and other common business scenarios. With just one click to select a template, you can achieve plug-and-play, greatly simplifying the project startup process, eliminating the need to build from scratch!
The new version supports writing Shader code in the editor. You can create custom Shader assets using ShaderLab syntax and bind them to specific materials. This allows you to not only use built-in PBR, BlinnPhong, and Unlit materials in the editor but also quickly create custom materials, greatly enhancing creative freedom. You can also easily implement multi-pass functionality using ShaderLab, specifying different rendering states, Uniform variables, etc., in each pass. Below is a thin film interference effect implemented based on ShaderLab:
The new version introduces the engine's native special effects system - the Particle Renderer. This high-performance GPU particle renderer can process millions of particles per frame, creating cool effects and simulating fluid motion. By adding a particle component in the editor, you can immediately experience the effects on the scene.
The Particle Renderer currently supports multiple modules such as emission, color throughout the lifecycle, rotation, size, and texture sheet animation. The editor also includes panels for editing numerical values and color randomness, allowing you to change parameters and preview in real-time by dragging. For more details, see the documentation.
To simplify the complexity of scene baking, we have consolidated ambient light and baking-related configurations into the scene panel and enabled automatic baking by default. You only need to adjust settings such as sky background and intensity, and the editor will automatically perform offline baking to produce the corresponding results.
We have also added more configuration support for the scene's shadow panel. For example, you can now configure each interval in the two/four-level cascaded shadows. We have also added a fade function (Shadow Fade) at the Shadow Distance to make the shadows fade more smoothly without a sudden disappearance.
We have adopted the community's demand to add anisotropy, allowing you to control light extending along a custom tangent direction by adjusting the anisotropy strength, rotation angle, and texture in PBR materials. This simulates the effect of anisotropic light reflection on objects like CDs and hair.
The camera has added the capability to obtain depth texture, which can be accessed in shaders through the camera_DepthTexture
texture property to access scene depth data. This capability can be used to achieve soft particles, water surface edge transitions, and some post-processing effects. See documentation.
The camera has also added the functionality of opaque texture, which allows accessing the rendered content of non-transparent objects in the scene through the camera_OpaqueTexture
texture property in shaders. This capability enables effects like spatial distortion, water surface refraction, and frosted glass. See documentation.
The new capability of custom view matrix can be achieved by setting viewMatrix
. To reset back to using Transform to calculate the view matrix, you can call resetViewMatrix()
.
// Set custom view matrix
const customViewMatrix = new Matrix();
Matrix.lookAt(
new Vector3(0, 0, 0),
new Vector3(0, -1, 1),
new Vector3(0, 1, 0),
customMatrix
);
camera.viewMatrix = customMatrix;
// Rest viewMatrix to the world matrix of the entity transform
camera.resetViewMatrix();
The new version supports incremental modification of models, allowing for secondary editing of uploaded glTF and FBX models, including modifying model Entity properties, adding/removing components, and adding/removing child Entities. For example, it can achieve the functionality of attaching particles to an Entity controlled by animations.
Added Meshopt compression, which can compress geometric data of models such as meshes and animations by approximately 50%, significantly reducing the size of project models. The editor export project supports one-click activation, see documentation.
Added PrimitiveMesh asset, greatly reducing the size of basic mesh resources and allowing for easy adjustment of mesh configuration parameters.
The milestone has been enhanced by dynamically loading glTF models through Script, with the AssetPromise
adding progress-related callback functions onTaskComplete
and onTaskDetail
. The glTFLoader also inherits from this class, allowing us to easily access the loading progress of each event and the loading progress of a specific URL.
Additionally, the loaded GLTFResource
has been adjusted to template resources, and the usage has been adjusted to create an instantiated Entity
object that can be added to the scene by calling the instantiateSceneRoot()
method, making it easier for ResourceManager
to manage glTF resources. See documentation.
engine.resourceManager
.load("glTF's URL")
.then((glTF: GLTFResource) => {
// Instantiate glTF root
const root = glTF.instantiateSceneRoot();
// Add root to scene
scene.addRootEntity(root);
});
The new version of the animation editor now supports editing animations for components, materials, and other properties, and can also add animations to glTF/FBX models using the incremental modification feature. In addition, the animation editor has made some usability updates, such as automatically adding properties in recording mode, supporting viewing animation data in models, and adding monitoring for node and animation segment matching.
The engine core has added an XR system, integrating WebXR, allowing you to quickly create AR/VR projects with Galacean. It not only supports anchor tracking, plane tracking, image tracking, collision detection, and other practical functions but also allows you to obtain real-time status of any device (headsets, controllers, etc.). Additionally, the 1.2 version editor comes with a built-in XR template, enabling you to create a template in the editor -> build locally -> preview on mobile to preview XR projects on your mobile device. See documentation.
Add group administrator WeChat: Namidairo001 and note "galacean join group"