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 ModelDeserializationResult
updateCount
of BinaryDataDescriptor
type
of ModelDataDescriptor
ModelTransform.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.