Release date: 18.04.2023
 Release info: Major Release
This is a major update for VisionLib which adds:
TrackingAnchor is now universal to all features.This release includes major interface changes. To update existing scenes, please consult the Migrating From 2.x to 3.0.
Unity versions below 2020.3 LTS are no longer supported as of this release.
Thanks to all our users for your valuable feedback!
TrackingAnchor component. This component is now the default method to add models for tracking. TrackingAnchors support all features, including MultiModelTracking and AutoInit. For details see the corresponding documentation page.GameObjectPoseInteraction component for manipulation of GameObject poses via mouse/touch inputs during runtime.InitPoseInteraction component. This component is added to a GameObject with a TrackingAnchor. It interprets interactions via the GameObjectPoseInteraction as changes to the init pose of the tracking model represented by the TrackingAnchor.ARFoundation or ImageInjection.textureColorSensitivity > 0 to use the texture for tracking. Use the ModelTrackingSetup example scene to find a suitable textureColorSensitivity value.TrackingAnchor to copy the license feature of all its tracking models.enabled property to the anchor definition, which is supplied via the tracking configuration file or the createAnchor command. This is set to true by default. You can set it to false to create an anchor in a disabled state -disabled anchors don't count toward the limit of anchors.perCorrespondency property to the showLineModel parameter, which allows color-coded visualization of the tracking state of every single correspondence used.TrackingAnchor in your scene's hierarchy.| old | new | 
|---|---|
| myInitData.binz.arkitwd | myInitData_worldMap.arkitwd | 
| myInitData.binz.arkitwd.simPose | myInitData_worldMapFromModelTransform.xml | 
Minify > Release is enabled in Unity player settings.JNI DETECTED ERROR IN APPLICATION: JNI RegisterNatives called with pending exception java.lang.ClassNotFoundException: org.instantreality.mini.Platform.DynamicModelTracking to ModelInjection.allowedNumberOfFramesSLAMPredictionObjectVisible now has the default value of 180.extendibleTracking is activated, VisionLib predicts the pose of the object in the world via the SLAM transform. This keeps tracking "alive" – i.e. prevents the transition from status "critical" to "lost" while the SLAM-predicted object location is inside the camera's field of view. The allowedNumberOfFramesSLAMPredictionObjectVisible limits the number of frames for which purely SLAM pose predictions may keep tracking alive. To deactivate this feature – i.e. to keep tracking alive indefinitely based on SLAM only – set allowedNumberOfFramesSLAMPredictionObjectVisible to -1 in the corresponding tracking configuration file.allowedNumberOfFramesSLAMPredictionObjectVisible was set to 45 in all HoloLens example scenes.poseInverseConditionNumberMin from 0.007 to -1. This change reduces the number of falsely rejected good pose estimations. It does, however, increase the likelihood of acceptance for ambiguous pose estimations. In some cases, this can cause tracking glitches such as the model drifting along parallel edges. To restore the old behavior – e.g. if you encounter said glitches after the update – set the value to 0.007 manually.metaioLineModelURI.lineModelURI instead.metaio, including the XML-based format. Please use type visionlib instead.project_dir, local_storage_dir, etc.). Update the schemes in your projects by replacing underscores with hyphens.IntrinsicData.vlWorker_GetImageByNameSync without replacement.usePoseFiltering.poseFilteringSmoothness instead. This parameter defines the smoothness of the pose filter. Setting the value greater than 0 turns on the filter.showLineModelTracked and showLineModelTrackedColor.showLineModelCritical and showLineModelCriticalColor.showLineModelLost and showLineModelLostColor.showLineModelTrackedInvalid.laplaceThreshold and normalThreshold separately for the AutoInit configuration. The values are now always extracted from the general configuration of the tracker.VLCamera.prefab now uses Multi Model Tracking as default Coordinate System Adjustment in the TrackingCamera. If you are using a ModelTracker instead of a MultiModelTracker change this to Single Model Tracking.PlaneConstrainedMode component must now be placed on the same GameObject as a TrackingAnchor.PlaneConstrainedMode can now only be used with Multi Model Tracking setups.TrackingState.TrackingObject to TrackingState.Anchor to better represent it as the counterpart to the TrackingAnchor.SynchronousTrackingManager no longer works with trackers of the type ModelTracker. Please adapt your existing tracking configurations to use a tracker of the type MultiModelTracker instead. The examples that use the SynchronousTrackingManager (i.e. ImageInjection, ARFoundation and MagicLeap Example) have been adapted accordingly.WorkSpaceManager is no longer responsible for displaying the AutoInit learning progress. Add the new AutoInitProgressBar component instead.WorkSpaceManager was removed. You no longer need a WorkSpaceManager with a TrackingAnchor.id of ModelDeserializationResultupdateCount of BinaryDataDescriptortype of ModelDataDescriptorModelTransform.MultiplyLeft. Please use the * operator instead.anchorExists command which checks whether an anchor with the given name exists.ModelPartsTracking scene from the examples.ARFoundation 2. You no longer have to set ENABLE_ARFOUNDATION_4 - this is now set by default.availableCameras from Visometry.VisionLib.SDK.Core.API.DeviceInfo.IntrinsicData. All mandatory variables are now required immediately.HoloLens without our Unity SDK. In this case, you have to flip the Y and Z axis of all model poses you are setting in VisionLib.availableCameras from the result of vlWorker_GetDeviceInfo().| old | new | 
|---|---|
| myInitData.binz.lineModels.binz | myInitData_lineModels.binz | 
| old | new | 
|---|---|
| myInitData.binz_anchorName | myInitData_anchorName.binz | 
| myInitData.binz_anchorName.lineModels.binz | myInitData_anchorName_lineModels.binz | 
imageSource.loadParametersFromFile and imageSource.saveParametersToFile. These attributes were replaced by json-commands with the same names. See UEye Device Command Reference.