what's new.md 6.4 KB

4.1.0

Major updates

Optimizations

Updates

General

  • 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
  • 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)

Engine

  • 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)

Inspector

  • 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 and SSAO2RenderingPipeline (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)

Tools

  • Added Color3.toHSV(), Color3.toHSVToRef() and Color3.HSVtoRGBToRef() (Deltakosh)
  • Added ShadowGenerator.onAfterShadowMapRenderObservable and ShadowGenerator.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)

Meshes

  • Added new CreateTiledPlane and CreateTiledBox (JohnK)

Physics

  • 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)

Loaders

  • Added support for non-float accessors in animation data for glTF loader. (bghgary)
  • Support loading cube data in .basis loader (TrevorDev)

Materials

Sounds

  • Added ISoundOptions.skipCodecCheck to make Sound more flexible with URLs (nbduke)

Bug fixes

  • 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 coordinates bu and bv being returned is actually bv and bw. (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)
  • 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)

Breaking changes

  • Setting mesh.scaling to a new vector will no longer automatically call forceUpdate (this should be done manually when needed) (TrevorDev)