Changelog
Web SDK version changelog
v5.4.3 - 2023/09/21
Fixed:
- background segmentation regression.
v5.4.2 - 2023/09/15
Fixed:
- Shutdown crash.
touchEvent
handling on mobile platforms.
v5.4.1 - 2023/08/17
Reverted:
- Reduced the initial size of deepar.js file from 1MB to 200kb. DeepAR Web will now lazy-load additional modules when it needs them.
v5.4.0 - 2023/08/11
Added
- DeepAR now takes in
previewElement
parameter at initialization. That is an HTML element like<div>
which will be used for AR preview placement and sizing. It is intended to be used instead ofcanvas
parameter which is now deprecated. This approach is now used so users do not have to manually crete and manage the canvas. - New method:
getCanvas()
which returnes the underlying canvas used for rendering.
Changed
- Improved background segmentation performance.
- [BREAKING CHANGE] Improved video recording. Videos are now produced in mp4 format that is compatible with the most devices. Audio capture from microphone is now available as well. The
startVideoRecording()
function is now async and returnsPromise<void>
. Before it was a plain function that returnedvoid
. - Reduced the initial size of deepar.js file from 1MB to 200kb. DeepAR Web will now lazy-load additional modules when it needs them.
- The
touchOccurred()
function is now deprecated. DeepAR will now track the touches on the preview out-of-the-box.
Fixed
- Freezing that occurred when the background segmentation effects were loaded for the first time.
- Frozen camera on iOS Safari when using
startCamera()
.
v5.3.0 - 2023/07/17
Added
- glTF transmission support.
- Background blur and background replacement API.
- Mute/unmute all the sounds coming from DeepAR.
- HDR textures support.
Changed
- Improved foot and wrist tracking.
- Audio can now be played from multiple animation controllers at the same time. Previously, only one sound could be active.
Fixed
- DeepAR would sometimes crash on shutdown.
- Unloading effect from the unkwnown slot could break the currently loaded effect.
- Crash caused by effects with scripting.
- Audio not playing if part of initial node in animation controller.
v5.2.0 - 2023/05/23
Added
- Wrist tracking.
- Chrome extension support. Get in touch with us for more info.
CameraPermissionDenied
error is now thrown when DeepAR requires camera from the browser, but the permission is denied.
Changed
- Removed the polygon count limit in the scene which was ~100k before.
- Improved rendering performance with regard to mesh instances.
Fixed
- Simple pendulum direction not consistent for front and back camera.
- Sound not playing if part of the first state.
- Crashing when passing null to changeParameter API for the
component
parameter.
v5.1.1 - 2023/03/31
- Fix front camera problems with beauty filters.
- Fix camera sync issues.
- Fix meshes using bones (but not face bones) disappearing when face not visible.
v5.1.0 - 2023/03/24
- Added scripting interop API.
- Changed
startCamera()
can now be called again withoutstopVideo()
. - Fix 2D face landmarks not being mirrored properly.
- Fix multiple calles to
changeParameterTexture
crashes the app. - Fix blend-shapes are inverted on effects using 2D face landmarks like eyes and lips.
- Fix changing video sources scrambles up the effect textures.
v5.0.0
- Completely new modern and user-friendly API. See migrating to v5
- Improved error handling.
- Reduced foot tracking initialization time and improved performance.
switchEffect()
now resolves after the effect is loaded and all ML models are loaded. This mainly concerns switching effects with background segmentation or foot tracking which have somewhat longer first initialization time.- Now using WebGL2 canvas context for rendering instead of WebGL.
- Fix non power of 2 textures not working.
- Fix reduced depth precision when using postprocessing or render textures.
- Fix eye position not working.
v4.1.0
- Updated the foot tracking API:
- Added the
initializeFootTracking
method. Accepts a callback that is triggered when foot tracking is initialized. - Added the
onFeetTracked
callback which gets called when feet are tracked.
- Added the
- Greatly improved foot tracking's accuracy.
v4.0.3
- Fixed foot tracking when changing the video feed.
- Render error message in case of too many polygons in effect.
- Clean up logging.
v4.0.2
- Fixed foot tracking not working.
- Added texture size uniform that is updated every frame for every texture.
- In shaders it is accessible with
TEXTURE2D_SIZE(sampler_name)
macro.
- In shaders it is accessible with
v4.0.1
- Updated the Scripting API:
- Added the Face Position component class.
- Added trigger events and functions.
- Fixed
Debug.renderText()
default color parameters.
- Added MIME type parameter for video recording.
v4.0.0
- SDK is now written in TypeScript and bundles appropriate
.d.ts
files with classes, types, methods and documentation. - SDK is now available on NPM
npm install deepar
. - Performance improvements.
- 40% smaller JavaScript file and 20% smaller WebAssembly file.
- New API:
setOffscreenRenderingEnabled
- Force rendering on canvas even when tab is not focused.
- Fix memory leak in
processFrameRawPixels
. - Fix caching
u_modelNormal
uniform when using the same material on multiple mesh renderers. More details: https://forum.deepar.ai/t/pbr-shader-web-sdk/71/16 - Breaking changes:
- DeepAR is now a class and is called with new keyword
let deepAR = new DeepAR({ ... })
. - Constructor parameters:
canvasWidth
andcanvasHeight
- Passing these parameters has no effect anymore. In previous versions of SDK, these parameters would resize the canvas. You could change the canvas size withsetCanvasSize()
method. In new SDK, DeepAR will adapt to the canvas size. So you just need to set the size of the canvas. If canvas is resized, DeepAR will pick it up automatically.numberOfFaces
- This parameter has no effect anymore. DeepAR will track minimum number of faces according to the current configuration of loaded effects.segmentationInfoZip
- Path to the segmentation (background removal) model. This parameter is now changed tosegmentationConfig.modelPath
.deeparWasmPath
- Path to thedeepar.wasm
file.
- Callbacks
- You can provide callbacks in the constructor of the
DeepAR
class in thecallbacks
parameter. - Add, change or remove callbacks via
DeepAR.callbacks
property.
- You can provide callbacks in the constructor of the
- DeepAR is now a class and is called with new keyword
v3.4.5
- Add
setFaceDetectionSensitivity
function. - Add scripting console log API.
v3.4.4
- Introducing foot tracking as a beta* feature!
- Allows you to easily create a shoe try-on app using the DeepAR Web SDK.
- *Foot position component available only in DeepAR Studio 4.0-beta.
- Breaking API changes:
- Removed the
libPath
parameter. - Consequently,
segmentationInfoZip
should contain the full relative path to segmentation.zip.
- Removed the
- Added new Dynamic UVs options in SDK and Studio.
- For dynamic UVs you can choose between
face
andreal
options. face
option's behaviour is the same as it was before - UVs are adjusted for sampling the person’s face from camera texture.real
option adjusts the UVs so that the camera texture is sampled based on the real positions of the mesh vertices.
- For dynamic UVs you can choose between
- Fixed dynamic UVs not working for nodes that are not in face space.
- Dynamic UVs now work for everything:
- Nodes in orthographic layers.
- Nodes in perspective layers.
- Nodes in face space.
- Nodes in face space with parent or child node transformations.
- Nodes not in face space.
- Dynamic UVs now work for everything:
- Fixed undefined symbols in the
FaceData
struct inonFaceTracked
callback function. - Improved segmentation performance.
v3.4.3
- Fix
landmark2D
camera mirror bug - Fix
faceRect
empty bug
v3.4.2
- Greatly improved face tracking performance (up to 100%).
- The
numberOfFaces
parameters is now removed when initializing DeepAR as we can determine the number of faces required in the runtime.
v3.4.1
- Fix for switch effect with path and face parameter not working.
v3.3.0
- Fix crash on shutdown.
- New particle system feature
v3.2.0
- Improved touch handling.
v3.1.3
- No changes on Web SDK
v3.1.2
- Web recording
v3.1.1
- Bugfix in
processImage(image)
where the image didn't display properly when loading some image formats and changing resolutions. - Fixed scripting subsystem resource leaks
- General refactoring and bugfixes
v3.1.0
- Want to have more control over physics components in runtime? You can now enable/disable entire physics with
enablePhysics
method or show/hide physics collidersshowColliders
method. Also, you can change any physics component parameter through our ChangeParameter API - General refactoring and bugfixes
v3.0.0
- New API reference pages
- News features: physics and scripting
- Core Engine optimisations and refactor
v2.4
- Improved background segmentation
v2.2.1
- Web background segmentation added
moveGameObject
API method added (check API docs for more detail)- exposed
fireTrigger
API method to trigger custom animation state triggers - Fixed
setVideoElement
call where the main processing loop was not started after the call - Stability and bugfixes
v2.2.0
Major upgrade.
- Added ability to process a single image in addition to the camera stream
- Added ability to change bool and texture parameters to
changeParameter
API - Bugfixes and stability issues
v2.0.0
- Major upgrade
- New segmentation model
- Tracking improvements
- Bugfixes and optimizations
v1.4.6 - 28/02/2020
- Fixed issue with numberOfFaces less than 4
v1.4.5 - 09/10/2019
- Get face data for each face
- Enable multi face tracking during the initialization
v1.4.4 - 04/10/2019
- Change transform API
v1.3.2 - 31/01/2019
- External camera
v1.3.1 - 08/01/2019
- Multi face tracking
setCanvasSize
function to reset the viewport size
v1.3 - 02/01/2019
- Added onFaceTracked
v1.2.5 - 05/11/2018
- Added audio playback
v1.2.4 - 18/10/2018
- Improved API and documentation
- Transition to Web Assembly