Release 0.8.8
This release features runtime GLTF loading, a powerful feature that enables loading NFTs (non-fungible tokens) at runtime, allows integrating 3D avatar services and WebXR input profiles to show exactly the right controller model for a user.
Additionally, Wonderland Engine apps can now be made installable to homescreen or desktop as progressive web apps (PWA) with one click in Project Settings.
We once again optimized performance even further and fixed some bugs, expecially with the PhysX integration.
Changelog
Editor
- Implement progressive web app generation setting in Project Settings
- Implement progressive web app icon scaling
- Enable anti-aliasing for physx and object visualizations
- Added “Project Settings > Runtime > visualizePhysX”
- Added optional support for tangents in meshes
- Added optional support for vertex colors in meshes
- Added setting to control Cross-Origin-Embedder-Policy header for web server
- Added support for loading tangents of meshes
- Added scaling to PhysX triangle mesh and convex mesh shapes
- Fixed materials not recompiled after pipeline changed
- Fixed textures incorrectly loaded identically named images in scenes
- Fixed PhysX triangle mesh and convex mesh cooking failures
- Fixed PhysX triangle mesh appearing scrambled in some cases
- Fixed PhysX errors not displayed in console
- Fixed crash on very long log messages
Runtime
- Added service worker and precache for progressive web app installation
- Added GLTF/GLB loading at runtime
- Added PhysX visualization at runtime
- Fixed a race condition causing loading to fail in rare occasions
- Fixed large delta times caused by switching away from browser tab
Engine
- Fixed performance of text updates slowly degrading with every update
- Fixed text not updating when alignment or justification changes
- Fixed skinning issues when mixing meshes with single and secondary join id attributes
- Optimized upload of skinning transforms to GPU
- Added normal mapping support to Phong shader
- Fixed PhysX rigid bodies sometimes not following parents or objects
- Add support for experimental
XRFrame.predictedDisplayTime
for smoother animations and physics where supported
JS API
- Added
WL.scene.append()
to load .glb and .gltf files at runtime - Fixed ids of objects spawned with
WL.scene.addObjects()
null
after callingWL.Object.destroy()
- Fixed access to some
WL.Material
properties - Added
WL.Texture.updateSubImage()
to update only a subregion of a texture - Fixed
active: false
not taking effect inWL.Object.addComponent
with native types - Fixed
WL.Object.translateWorld()
not computing world transform for dirty transforms - Fixed objects created with
WL.Scene.addObject()
not set dirty if parented
Components
- video-texture: enable
crossOrigin
when loading the video - howler-audio-source: stop audio when switching scene
- two-joint-ik-solver: improve stability and add optional helper parameter
- target-framerate: Added component to update the XRSession’s target framerate
Last Update: September 17, 2021