- WIP: Node Material (NEED DOC OR SAMPLES) (Deltakosh)
- WIP: Node material editor (NEED OR AND VIDEOS) (Deltakosh / TrevorDev)
- WIP: WebGPU support (NEED DOC OR SAMPLES) (Sebavan)
- .basis texture file format support Doc (TrevorDev)
- WIP: Recast navigation mesh and crowd of moving agents Demo (CedricGuillemet)
- Classes decoupling ending up with smaller bundle sizes Blog (Deltakosh)
- Babylon.js controls Doc (Sebavan / Deltakosh)
- WebXR updates:
- SpritePackedManager extends SpriteManager so that a sprite sheet with different size sprites can be used (JohnK)
- MultiPickSprite and multiPickSpriteWithRay added to sprites (JohnK)
- Added support for dual shock gamepads (Deltakosh)
- Support Vive Focus 3Dof controller (TrevorDev)
- Planar positioning support for GizmoManager (Balupg)
- Individual gizmos can now be enabled/disabled (Balupg)
- Unify preparation of instance attributes. Added
MaterialHelper.PushAttributesForInstances
(MarkusBillharz) - Added support for PBR irradiance map
- Added ability to set render camera on utility layer instead of using the latest active camera (TrevorDev)
- Move normalizeToUnitCube to transformNode instead of abstract mesh and add predicate to exclude sub objects when scaling (TrevorDev)
- Method to check if device orientation is available (TrevorDev)
- Added support for sound sprites Doc (Deltakosh)
- Display Oculus Quest controller when using a Quest in WebVR (TrevorDev)
- Added startAndReleaseDragOnPointerEvents property to pointerDragBehavior which can be set to false for custom drag triggering (TrevorDev)
- Added optional picking predicate to pointerDragBehavior for filtering affected meshes (Exolun)
- Effect renderer to render one or multiple shader effects to a texture (TrevorDev)
- Added url parameters to web request modifiers (PierreLeBlond)
- Added
VRExperienceHelper.exitVROnDoubleTap
(Deltakosh) - Added
Scene.getTextureByUniqueID
(aWeirdo) - Added support for 180 VR videos in
VideoDome
(RaananW) - Added optional parameter to use Euler angles in planeRotationGizmo (CedricGuillemet)
- Morph targets now can morph UV channel as well (Deltakosh)
- Added MorphTarget support to the DepthRenderer, GeometryBufferRenderer and OutlineRenderer (MarkusBillharz)
- Added preprocessors for shaders to improve how shaders are compiled for WebGL1/2 or WebGPU (Deltakosh)
- Added enterPointerlock and exitPointerlock (Separated from enterFullscreen) (aWeirdo)
- Added support for
vertexSource
andfragmentSource
parameters toShaderMaterial
(Deltakosh)
- Added support for Euler edition only for angles (can be turned off in the new inspector settings) (Deltakosh)
- Added an option to ignore backfaces for picking (can be turned on and off in the new inspector settings) (Deltakosh)
- Added support for
ShadowGenerator
(Deltakosh) - Added support for scene normalization (Deltakosh)
- Added support for morph targets (Deltakosh)
- Added context menu to add
SSAORenderingPipeline
andSSAO2RenderingPipeline
(Deltakosh) - Added support for texture creation and assignments per material (Deltakosh)
- Added support for occlusion properties (Deltakosh)
- Texture channels are now displayed in grayscale (Deltakosh)
- Ambiant and metallic maps are displayed correctly on PBR material even when using ORM packed texture (Deltakosh)
- Added support for inspectable strings (Deltakosh)
- Added
Tools.CreateScreenshotAsync
andTools.CreateScreenshotUsingRenderTargetAsync
(mehmetoguzderin) - Added
Color3.toHSV()
,Color3.toHSVToRef()
andColor3.HSVtoRGBToRef()
(Deltakosh) - Added
ShadowGenerator.onAfterShadowMapRenderObservable
andShadowGenerator.onAfterShadowMapMeshRenderObservable
(Deltakosh) - Added support for side by side and top bottom images in the
PhotoDome
(Deltakosh) - Added playground ts-local (TypeScript support for local playground) (pjoe)
- Added RGBD Texture tools Sebavan
- Added
TransformNode.instantiateHierarchy()
which try to instantiate (or clone) a node and its entire hiearchy (Deltakosh) - Added new CreateTiledPlane and CreateTiledBox (JohnK)
- Added absolute scaling and rotation getters (haroldma)
- Added
BILLBOARDMODE_USE_POSITION
flag to billboards allowing use of camera positioning instead of orientation for mesh rotation (delaneyj)
- Update Ammo.js library to support global collision contact callbacks (MackeyK24)
- Update Ammo.js library to allow native capsule shape impostors (MackeyK24)
- Update Ammo.js library to allow your own broadphase overlapping pair cache (MackeyK24)
- Update Ammo.js library and AmmoJS plugin to support ellipsoid (CedricGuillemet)
- Added support for non-float accessors in animation data for glTF loader. (bghgary)
- Support loading cube data in the .basis loader (TrevorDev)
- Load glTF extras into BJS metadata (pjoe)
- Added
ShaderMaterial.setColor4Array
(JonathanTron) - Added
ShaderMaterial.setArray4
(JonathanTron) - Added
scene.environmentIntensity
to control the IBL strength overall in a scene (Sebavan) - Added support of image processing for
WaterMaterial
(julien-moreau)
- Added interface for argument
size
of screenshot methods (Dok11) - Implementation usage of precision in combination height and width params (Dok11)
- Added
ISoundOptions.skipCodecCheck
to makeSound
more flexible with URLs (nbduke) - Added
Scene.audioListenerPositionProvider
property, to enable setting custom position of audio listener (Foxhoundn)
- Added
Ray.intersectsAxis
to translate screen to axis coordinates without checking collisions (horusscope)
- Added
disableMobilePrompt
option to InputText for OculusQuest(and other android base VR devices) (shinyoshiaki) - Added
Button.delegatePickingToChildren
to let buttons delegate hit testing to embedded controls (Deltakosh) - Added
Container.maxLayoutCycle
andContainer.logLayoutCycleErrors
to get more control over layout cycles (Deltakosh) - Added
StackPanel.ignoreLayoutWarnings
to disable console warnings when controls with percentage size are added to a StackPanel (Deltakosh) - Added
_getSVGAttribs
functionality for loading multiple svg icons from an external svg file via icon id.(lockphase)
- Added moveAlong function to cast a segment on mavmesh (CedricGuillemet)
- Added a note on shallow bounding of getBoundingInfo (tibotiber)
- Fixed Textblock line spacing evaluation when linespacing > 0 (Deltakosh)
- Fixed Xbox One gamepad controller button schemes (MackeyK24)
- Added support for
AnimationGroup
serialization (Drigax) - Removing assetContainer from scene will also remove gui layers (TrevorDev)
- A scene's input manager not adding key listeners when the canvas is already focused (Poolminer)
- Runtime animation
goToFrame
when going back in time now correctly triggers future events when reached (zakhenry) - Fixed bug in
Ray.intersectsTriangle
where the barycentric coordinatesbu
andbv
being returned is actuallybv
andbw
. (bghgary) - Do not call onError when creating a texture when falling back to another loader (TrevorDev)
- Context loss should not cause PBR materials to render black or instances to stop rendering (TrevorDev)
- Only cast pointer ray input when pointer is locked in webVR (TrevorDev)
- Fix Right Hand coordinates with directional lights and shadows, hemispheric lights and spot lights (CedricGuillemet)
- Avoid using default utility layer in gizmo manager to support multiple scenes (TrevorDev)
- Fix bug when adding and removing observers in quick succession (sable)
- Cannon and Ammo forceUpdate will no longer cause an unexpected exception (TrevorDev)
- Loading the same multi-material twice and disposing one should not impact the other (TrevorDev)
- GLTF exporter should no longer duplicate exported texture data (Drigax)
- Avoid exception when disposing of Ammo cloth physics (TrevorDev)
- Make planeDragGizmo usable on its own (TrevorDev)
- Fix useObjectOrienationForDragging for pointerDragBehavior when using a single axis drag (TrevorDev)
- Fix VR button not positioning correctly in canvas (haroldma)
- Fix check for material needing alpha blending in OutlineRenderer (mkmc)
- Fixed: scene's input manager's detachControl doesn't remove a wheel event listener (RamilKadyrov)
- Fixed Solid Particle System particle's idx and idxInShape initialization (RamilKadyrov)
- Added in ArcRotateCamera.storeState to save targetScreenOffset, in restoreState to restore it (RamilKadyrov)
- Fixed
CubeTexture
to keep customfilesList
when serializing/parsing (julien-moreau) - Fixed
StandardRenderingPipeline
to properly dispose post-processes from attached cameras (julien-moreau) - Fixed
VolumetricLightScattering
post-process to use a custom vertex shader instead of the depth vertex shader. (julien-moreau)
- Setting mesh.scaling to a new vector will no longer automatically call forceUpdate (this should be done manually when needed) (TrevorDev)
Tools.ExtractMinAndMaxIndexed
andTools.ExtractMinAndMax
are now ambiant functions (available onBABYLON.extractMinAndMaxIndexed
andBABYLON.extractMinAndMax
) (Deltakosh)Tools.QueueNewFrame
was removed in favor ofEngine.QueueNewFrame
(Deltakosh)