documentation

Release 20.6.1

Version Info

Release date: 10.06.2020
Release info: General Release

General

This is a major update for VisionLib which adds:

  • Significant performance updates for HoloLens
  • The AutoInit feature on HoloLens
  • The fieldOfView parameter which improves tracking of small objects on HoloLens 2. For more details on this feature, please refer to HoloLens Optimizations.

Thank you to all our users for giving feedback.

Features

General

  • Added a warning that will be issued, if the bounding box of the given models is larger then 10 m or smaller then 1 cm, to help you set the correct metric.
  • PosterTracking will now return a quality metric between 0 (bad tracking) and 1 (good tracking).

Unity

  • Added the example scene HoloLensAutoInitTracking for AutoInit on HoloLens.
  • Added the voice commands Wide Field of View and Narrow Field of View to the HoloLens example scenes. Use them to test which setting fits best for your tracking target size.

HoloLens

  • Added the input source parameter fieldOfView with the values wide (default) and narrow to be able to optimize the tracking of small objects. This is especially effective on HoloLens 2.
  • Added the input source parameter useColor. If both tracker and input don't use color (setting "useColor": false), the performance on HoloLens increases significantly.

Enhancements / Bugfixes

General

  • We optimized the VisionLib code and managed to reduced the size of the binaries; especially for iOS and Android.
  • Changed the default value for the lineSearchLengthInitRelative parameter of the modelTracker from 0.03125 to 0.05.
  • Fixed bug in the start command of ImageRecorder that prevented recording.
  • Fixed a bug which caused the computation overhead of drawing the line model to remain effective after disabling the showLineModel parameter during runtime.

Unity

  • Updated the functionality and visualization of the AutoInit progress bar.
  • Updated the functionality of informative VisionLib notifications.
  • To improve the performance on HoloLens example scenes, the debug image is not displayed by default anymore and showLineModel is disabled. Both can be re-enabled on runtime using the voice command Show Debug Image.
  • Changed the voice commands of the HoloLens Image Recorder example scene to Begin Capturing and Stop Capturing.
  • Renamed the inspector label of VLInitCameraBehaviour.overwriteOnLoad to Use Pose From Tracking Config to make the parameter easier to understand.
  • Added the example poster as PDF to the repository to match the reference size more precisely when testing this example.
  • Cleaned up the example tracking configurations (.vl-files) by removing entries that match their default values.
  • Fixed a bug, which could sometimes cause a Unity crash.

HoloLens

  • Renamed hololensModelTracker to holoLensModelTracker. The old spelling is now deprecated.
  • Discontinued the support of custom intrinsic calibrations for HoloLens devices. They now always use the calibration that is provided by the HoloLens API.

iOS

  • An unwanted and deprecated dependency has been removed (UIWebView), that prevented applications that use vlSDK to be successfully submitted to the Apple App Store.

Android

  • AutoFocus is now enabled if ARCore is used.

macOS

  • Fixed a crash, which occurred in a macOS standalone build after loading a tracking configuration with InitData and/or AutoInit.

Interface Changes

General

  • The result of the createTracker command callback has changed. Previously, it only returned warnings arising from the given tracking configuration. These warnings have been moved to a separate warnings object inside the result object. Additionally, the deviceType and the trackerType are returned in separate corresponding elements.
  • Removed "device" parameter support for several devices. Use "deviceID" instead.

Unity

  • Removed support for flipCoordinateSystemHandedness in VLWorkerBehaviour. For updating your Unity scene, please refer to the Migration Guide - 180° Flip section.
  • After starting the tracker, the VLWorkerBehaviour now contains the type of the tracker and the device.
  • The VLTrackedObjectBehaviour will not invoke a tracking state change to just lost anymore, when the object hasn't been tracked before.

Native

  • The functions vlAbstractApplicationWrapper_GetHostID and vlAbstractApplicationWrapper_GetBundleID have been deprecated, because they unnecessarily required a vlAbstractApplicationWrapper_t*. Please use vlGetHostId and vlGetBundleId instead.
  • The function vlAbstractApplicationWrapper_GetTrackerType has been deprecated, because they use insecure access to internal objects. The type of tracker and device are now returned in the callback of the createTracker command.
  • Added vlSDKUtil_retrievePhysicalPath function for resolving an URI to a physical path on disk.
  • The setAttribute command of the MultiModelTracker will now set the attribute of all anchors to the given value.
  • The getAttribute command of the MultiModelTracker will now return the attribute value of all anchors if they consent to one. If they have different values for the attribute, the string AMBIGUOUS will be returned.
  • Added commands setAttributeSeparately and getAttributeSeparately to set and get an attribute for each anchor separately.
  • vlSDKUtils_set will now create all required folders for writing a file if necessary and possible.

Others

Licensing Changes

  • Adjusted the behaviour of HoloLens licenses to match the current license agreement.

Documentation Changes

  • Added a page with helpful information on how to optimize VisionLib Tracking on HoloLens: HoloLens Optimizations.