Releases: stereolabs/zed-unity
Releases · stereolabs/zed-unity
ZED Plugin for Unity v3.0.1
3.0.1
- Bug Fixes:
- Fixes an issue when saving meshes where default culture is set to use comma notation for decimals (Thanks to @kaszim)
- Fixes Black screen with Unity 2019.3 in Forward. Removed RenderPipeline tag not supported anymore.
- Fixes texture in spatial mapping not drawn in live.
- Added ZEDLayersManager.cs . This script creates on load all the layers needed by the plugin.
- Fixes for 2018 unity version (drawProceduralNow was not existing in previous version).
- Moved MR Calibration app to Tools folder.
ZED Plugin for Unity v3.0.0
-
Features:
- Added object detection module from ZED SDK 3.0.
- Updated with API rework from SDK 3.0.
- Added utils function in ZEDCamera.cs to save image, depth and point cloud: (Those functions are wrapped from ZED SDK C++ functions)
ZEDCamera.SaveCurrentImageInFile()
ZEDCamera.SaveCurrentDepthInFile()
ZEDCamera.SaveCurrentPointCloudInFile()
- Update Layer system for rendering and AR planes to a single layer used (layer 30).
- Merge Windows and Linux compatibility branches into a single one.
-
Bug Fixes:
- Fixed display issue with spatial mapping (display/hide mesh was not working).
- Fixed camera position when SVO is looping back and initial position is estimated. It was previously reset to identity, now it uses the detected position.
- Fixed Mesh flip when saved into .obj file.
-
Compatibility:
- Compatible with ZED SDK 3.0, CUDA 9.0, 10.0 and 10.2 on Windows and Linux
ZED Plugin for Unity v2.8.3
2.8.3
- Bug Fixes:
- Fix potential compile issue with Oculus SDK
- Fix MR headset latency correction when headset does not containes "windows" in their names
- Merge PR to fix CreateTrackedObjectPrefab (Thanks to @Abrahamh08)
ZED Plugin for Unity v2.8.2
2.8.2
-
Features:
- Added OpenCV ArUco marker detection sample scene. If you've also imported the OpenCV for Unity package from the Asset Store, you can place objects in 3D where ArUco-stlye markers are detected.
- Added brand new Mixed Reality calibration app as a sample scene. You can now calibrate the ZED with a tracked object for mixed reality VR capture, all from within the Unity editor.
-
Improvements:
- Added Max Depth Range and Confidence Threshold options in ZEDManager's Advanced Settings
- Added option to disable IMU prior setting in ZEDManager's Advanced Settings
- Changed how meshes scanned with the Spatial Mapping feature were saved, to avoid them being flipped on the Z axis when re-imported
- Added option to set which side of the ZED (left or right) that ZEDRenderingPlane retrieves. This also solved an issue where the right camera in the ZED_Rig_Stereo prefab would display the left feed when not in AR pass-through mode
-
Bug Fixes:
- Fixed a crash that would happen if two ZEDManagers were set to use the same Camera ID
- Fixed ZED_Rig_Stereo sometimes not outputting an image to the Game window in newer versions of Unity
- Fixed ZED_GreenScreen prefab setting that caused the output to be displayed in only half the screen
- Fixed depth values being incorrect for occlusion when using OpenGL instead of DirectX
ZED Plugin for Unity v2.8.1
2.8.1
-
Improvements:
- Updated ZEDControllerTracker:
- Added input support for SteamVR plugin 2.0 and greater
- Added ZEDControllerTracker_DemoInputs, which inherits from ZEDControllerTracker, but with generic button/axis check functions
- These functions work whether using SteamVR or Oculus Unity plugins
- Several scripts in Example scenes are now simplified to call these functions instead of having plugin-specific code.
- Removed limit on how long ZEDManager would attempt to connect to the ZED camera - previously 10 seconds
- ZEDTransformController, used to move object like the Planetarium and Movie Screen in example scenes, now takes into account the Reposition At Start feature added to ZEDManager in 2.8
- Shader properties that are retrieved or modified more than once per scene now have their property IDs cached, saving lookups
- ZEDManager can now be used outside of the included prefabs, and is more flexible when determining if it's in "stereo" mode (like the ZED_Rig_Stereo prefab) for loading AR pass-through features.
- ZEDManager's process for closing cameras when the scene closes is now more stable
- Updated ZEDControllerTracker:
-
Bug Fixes:
- Fixed ZEDControllerTracker's latency compensation feature moving the controller incorrectly when using ZED in third person
- Fixed non-rendering Camera objects not getting properly disposed at scene close, causing performance issues after running scene in editor repeatedly
- Camera Brightness adjustment now works in deferred rendering (Global Shader value)
- Fixed #ZED_OCULUS compiler directive not getting activated when newer Oculus package is imported
- Fixed newer Oculus package causing #ZED_STEAM_VR compiler directive getting activated when importing Oculus package. This would also happen when importing the OpenVR package in Unity 2019
- Fixed ZEDControllerTracker not updating Oculus Touch controller position if only one controller is connected
- Fixed ZEDSupportFunctions.GetForwardDistanceAtPixel not properly accounting for screen size
- Fixed "ZED Disconnected" error message not being locked to the headset when using ZED_Rig_Stereo
- Fixed Planetarium example scene being way too dark in deferred rendering
- Fixed plugin not recognizing Dell VISOR or Lenovo Explorer WMR headsets when using them in SteamVR, or any WMR controllers at all.
- Updated video stream link in Movie Screen example scene as the old video link was taken down (same video, new host)
- Fixed SVO Loop feature not working when real-time mode is enabled
- Fixed Multicam crash if both cameras share the same CAMERA_ID
ZED Plugin for Unity v2.8
2.8.0
-
Features:
- Added Multi ZED Rig support:
- Complete refactoring of the wrapper and plugin to change singleton implementation into multi instance support. The maximum number of instance is limited to 4 cameras.
- Each ZEDManager now has a ZED_CAMERA_ID to define its own camera ID.
- All static events in ZEDManager have been replaced by "local" events to make them specific to a rig/camera. Example: OnZEDReady
- Added ZEDManager.GetInstance(sl.ZED_CAMERA_ID) static function to access the ZEDManager in a external script without having the ZEDManager as a parameter of the script. Note that the user must check the return value of this function since it can be null.
- Added ZEDManager.GetInstances() to list all ZEDManagers in the scene.
- Spatial Mapping module and Camera settings module have been moved to ZEDManager to simplify their use in a multi or single ZED configuration.
- Added MultiCam example to show how to use 2 ZEDs in a single application.
- Overhauled many scripts to take advantage of multiple cameras when possible. For example, projectiles in the Drone Shooter sample can collide with the world seen by any camera.
- Added Streaming module from ZED SDK 2.8:
- Input : You can now receive a video stream from a ZED over the network, and process it locally. Do this by setting ZEDManager's Input Type to "Stream" in the Inspector, and specify the IP/Port configuration of the sender.
- Output : To broadcast a stream, set the ZED's Input Type to USB or SVO, and open the "Streaming" section further down. Specify the codec/streaming configuration if necessayr and check "Enable Streaming Output".
- You can adjust camera settings from a receiving PC, allowing you to control an entire scene from a single device.
- Added initial camera position estimation option to ZEDManager:
- If EnableTracking is activated, estimateInitialPosition will simply activate the TrackingParameters::set_floor_as_origin to estimate the floor position, and therefore the camera position, during tracking initialization.
- If EnableTracking is not used, estimateInitialPosition will try to detect the floor planes multiple times and compute an average camera position from the floor position.
- Pose smoothing added to spatial memory feature, so pose corrections no longer appear as "jumps."
- Added manually turning the ZED's LED light on and off, to be used for debugging. See ZEDCameraSettings.
- Added option in ZEDManager's Advanced Settings to grey out the skybox when the scene starts. This was done automatically before to avoid affecting AR lighting, but can be disabled for greenscreen use.
- Added Multi ZED Rig support:
-
Improvements:
- Removed ZED rigs' dependence on layers:
- Previously, the "frame" quads in each ZED rig (including the hidden AR rig) were assigned their own layer, and all other cameras had this layer removed from their culling mask. This made it so no camera would see a frame meant for another eye, but left fewer layers available to the user and made the cameras' culling masks impossible to set from the Inspector.
- Frames now use the HideFromWrongCamera script to prevent rendering to the wrong cameras without the use of layers. Cameras in ZED_Rig_Mono and ZED_Rig_Stereo can have their culling masks set freely.
- The hidden AR camera rig still uses a single "AR layer", customizable in ZEDManager's Advanced Settings, so that it can see the frame without seeing any other objects. This was done as an alternative to drawing the quad with Graphics.Draw, which would make it difficult for newer users to understand.
- Moved all SVO features from ZEDSVOManager (now deprecated) to ZEDManager:
- Read an existing SVO by setting Input Type to "SVO" and specifying a file.
- Record a new SVO by opening the "Recording" section. You now need to press "Start Recording" from the editor or call ZEDCamera.EnableRecording() in a script (and ZEDCamera.DisableRecording() to stop).
- Planes detected by the ZED no longer drawn with a hidden camera, allowing them to be drawn at the same time as a spatial mapping wireframe.
- ZEDPlaneDetectionManager can now have "Visible in Scene" disabled and "Visible in Scene" enabled at the same time.
- Removed ZED rigs' dependence on layers:
-
Bug Fixes:
- Fixed bug that overwrites camera position if user set one before starting the scene (when tracking is not activated).
- Fixed latency compensation in ZEDControllerTracker causing the ZED to drift infinitely when a ZED rig was a child of it.
- Fixed normally-hidden AR rig not appearing in the Hierarchy on start if "Show Final AR Rig" was enabled before runtime.
- Fixed app taking a long time to close if closed while a ZED was still initializing.
- Fixed asteroids in Planetarium sample only being drawn to layer 8.
-
Compatibility:
- Compatible with ZED SDK 2.8, CUDA 9.0 and 10.0.
- Updated controller scripts to work with the new SteamVR Unity plugin v2.0, so long as its Action system has not been activated.
ZED Plugin for Unity v2.7
New Features
- Fixed Rift/Vive controller drift when using ZED's tracking instead of the HMD's.
- Changed the previously hard-coded layers the ZED plugin used (8-11) to be adjusted in the Inspector, and set them to 28-31 by default.
- Added toggle box to reveal a camera rig used for final HMD output, normally hidden, for advanced users.
- Added toggle boxes for the fade-in effect when the ZED initializes, and setting the ZED rig Gameobject to
DontDestroyOnLoad
on start. - Changed greenscreen config file loading so that it will work in a build when placed in a Resources folder, and changed default save path accordingly.
- Clarified error messages from playing SVOs in loop mode with tracking enabled.
Compatibility
- Compatible with ZED SDK 2.7, CUDA 9.0 or 10.0, Unity 5.6.1 to 2017.4
ZED Plugin for Unity v2.6
New Features
- Add WindowsMR support through SteamVR Only (Beta).
- Fixed overwriting old mesh textures when Spatial mapping button is used while Save Mesh is checked.
- Forced pause state to false when stating a scan in case it's been left in a pause state from a previous scan.
- Fixed restart (not) required when changing post-processing settings.
- Fixed repetitive UI error when not using the plugin in VR mode in ZEDControllerTracker.cs. [ssue #21 reported on github].
- Simplified changing near and far planes in camera projection matrix.
- Fixed error messages when a wrong SVO path was provided for record or read.
Documentation
- Full rework of comments in source code.
Compatibility
- Compatible with ZED SDK 2.6, CUDA 9.0 or 9.2, Unity 5.6.1 to 2017.4
ZED Plugin for Unity v2.5
New Features
- Added USB Headset detection function in non-play mode.
- Improved tracking status with "Camera not tracked" status if no headset connected and camera tracking is disabled
- Added ZEDControllerTracker and several example-specific scripts for intelligently positioning controller objects depending on whether you're using the Oculus/SteamVR plugins or not.
Examples
- Added Drone Shooter example.
This example reproduces the ZEDWorld drone demo app. Drones will spawn in your environment, fly around and shoot at you. Dodge or block the lasers and shoot back to blow them up. With the Oculus Integration or SteamVR plugin installed, you can fire the lasers from your controllers. Explore to see how to implement projectiles and randomly-spawning enemies without pre-scanning your environment. - Added Movie Screen example.
This example reproduces the ZEDWorld movie demo app. Put a movie screen anywhere in your environment and scale it any size you want. Move it with your keyboard or a VR controller. - Added Simple Plane Detection example.
Press and hold the space bar to identify flat planes where you can place a Bunny object. Release to have the bunny land on the plane with proper physics. - Added VR Only Plane Detection.
Use your controller to place a bunny, and a baseball bat will appear in your hand. Hit the bunny and see how far you can get it to fly. - Updated Planetarium example with new controls; you can now move and scale the solar system with a VR controller if the Oculus/SteamVR plugins are installed.
- Updated GreenScreen example to use new ZEDControllerTracker script.
It now finds the tracked object the ZED is attached to more reliably.
Compatibility
- Compatible with ZED SDK 2.5, CUDA 9.0 or 9.2, Unity 5.6.1 to 2017.4
ZED Plugin for Unity v2.4.1
Features
- Add Full IMUData access to get angular velocity and linear acceleration through ZEDCamera.GetInternalIMUData() function.
Examples
- Modified Dark room sample into a AR "night club" light show to show how to use ZED Manager's camera brightness settings and ZEDLight script.
- Update Object Placement sample and doc.
Bug Fixes
- Fix ZEDManager's camera brightness settings through scripting.
- Fix Normal and Center on plane's detection. Refactor ZEDPlaneGameObject as MonoBehavior.
- Fix ZED Rig Mono image when game is built due to rendering path.
- Fix crash when moving SVO playback playhead.
- Fix Camera settings spamming errors due to pluginIsReady value not set.
- Fix loading screen blank on left eye at specific rotations (180deg).
- Fix Depth occlusion setting in Rig mono.
- Fix greenscreen wrong config file that breaks the GreenScreen example if not found.
- Remove "Restart Camera" when changing Depth occlusions as it was not needed.
Compatibility
- Add Vive Pro support as VR headset (not with the Vive's cameras).
- Compatible with ZED SDK 2.4.1, CUDA 9.0 or 9.1.