What’s New in Oasis Engine v0.7? Explore the Latest Graphics, Physics, and Animation Features
Version 0.7 of the open‑source Oasis Engine introduces a suite of enhancements—including a new text renderer, ClearCoat PBR material, dynamic PhysX colliders, expanded BlendShape support, HDR skybox loading, keyboard interaction, and API refinements—plus comprehensive documentation and example updates for developers.
Graphics Updates
Added a text renderer that supports system fonts, size, color, bold, italic, multi‑line and alignment. The renderer can also use custom shaders for effects such as KTV subtitles.
Improved PBR material with ClearCoat layer; set via
material.clearCoat = 1.0;and additional textures for roughness, normal, etc.
Added highlight anti‑aliasing to reduce sharp specular edges at low roughness.
Added AO map UV channel switching; set
material.occlusionTextureCoord = TextureCoordinate.UV1; material.occlusionTextureCoord = TextureCoordinate.UV1;HDR Loader
New HDR loader allows loading HDR textures directly as skybox backgrounds.
engine.resourceManager.load<TextureCube>({
type: AssetType.HDR,
url: "***.hdr"
}).then((texture) => {
skyMaterial.textureCubeMap = texture;
skyMaterial.textureDecodeRGBM = true;
});Texture2DArray
Introduced Texture2DArray for data textures without consuming multiple GPU texture units.
RenderTarget Optimization
RenderTarget now uses generic
Texturefor color and depth textures, simplifying extensions.
Physics Updates
Integrated dynamic colliders powered by PhysX.js, with fixed‑time simulation steps and a new
onPhysicsUpdatescript hook.
import { WebGLEngine } from "oasis-engine";
import { PhysXPhysics } from "@oasis-engine/physics-physx";
const engine = new WebGLEngine("canvas");
PhysXPhysics.initialize().then(() => {
engine.physicsManager.initialize(PhysXPhysics);
engine.run();
});Interaction Updates
Added keyboard interaction APIs; example: Flappy Bird can be played with the space key.
class KeyScript extends Script {
onUpdate() {
const { inputManager } = this.engine;
if (inputManager.isKeyDown(Keys.Space)) {
// space key pressed this frame
}
}
}Animation Updates
BlendShape animation count increased, now unlimited via float‑texture implementation. Added animation reverse playback via
animator.speed = -1; animator.speed = -1;Transform API Improvements
Single‑axis components can be modified directly, e.g.,
transform.position.y += 0.1; transform.position.y += 0.1;Documentation and Examples
Documentation reorganized by feature modules; new examples include text KTV effect, ClearCoat, HDR loader, physics attractor, compound, and select.
Graphics: text renderer, ClearCoat, HDR loader
Physics: PhysX attractor, compound, select
Roadmap
Upcoming v0.8 will add character controllers, physics constraints, continued text renderer optimization, and new effect features.
Alipay Experience Technology
Exploring ultimate user experience and best engineering practices
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.