Update (August 1, 2018):
We’re announcing Structure SDK (iOS) 0.8.1 - a follow-up maintenance update to Structure SDK (iOS) 0.8. Thank you to community members who identified a few things that only required quick fixes.
Fixed a bug with
STDepthFrameand now developers can correctly access
Fixed an issue with
StructureUnityARpackages where sample scenes would display a “Tracking Lost” Message.
Updated the sample apps with new camera intrinsic conventions to fix an issue where STColorFrame was reported with a height and width of 0.
- Please note, If
AVCaptureConnection.cameraIntrinsicMatrixDeliveryEnabledis not used for newer devices, you will see the following exception thrown:
*** Terminating app due to uncaught exception AVCameraCalibration, reason: We want to use AV Intrinsics, but we're not getting them! Make sure that you have set conn.cameraIntrinsicsMatrixDeliveryEnabled = YES on the AVCaptureConnection object (before you commit the AVCaptureSession configuration). ***
- For more details, please see line 145-153 in the ViewController+Camera.mm file within the Scanner sample project.
- Please note, If
- Mesh export creates MTL + OBJ even when there is no texture to export
We’re pleased to announce the release of Structure SDK (iOS) 0.8!
This is our second major update for 2018 with a focus on the newly enhanced tracker capabilities including new scene-specific tracking options that adds turntable support!
With one additional line of code, Structure SDK (iOS) 0.8 allows you to easily configure your own Structure Sensor application to allow for objects to be scanned while the Structure Sensor is stationary, such as when the object is on a turntable.
Structure SDK 0.8 also includes the following enhancements:
- Fixed exporting issue where the meshes were imported upside down or Y-side down.
- Sample Apps are now all currently using
- Added the ability to see camera intrinsics through
- Added an easy way to see which SDK version is currently being used with
- Added the ability for scene-specific tracking options in
For a full list of changes in this update, please see the Full Release Notes further below.
Full Release Notes
New and Legacy Trackers
Through our rigorous tests, the new tracker has been shown that this improves tracking in most cases.
To make things easy the improved tracking capabilities are automatically turned on, so there is nothing that you need to do extra to see these improvements with your application.
Legacy (pre 0.8.0) tracking behavior can be specified by setting
YES in the tracker options.
Scene specific Tracking options and Turntable Support
We’ve added a new key to
STTrackerSceneTypeObjectOnTurntable specifically to enable turn table support.
We have also added
STTrackerSceneTypeRooms as options to use for this key.
Below are two examples of objects scanned on a turntable. The first example shows the quality of a scan with the key
STTrackerSceneTypeObject, while the second shows the quality of a scan with the key
For a video example of scanning with turntable support enabled versus scanning with turntable support disabled, please have a look here.
New Export Key to Enable Y-up Mesh View
You are now able to export meshes in the more natural way with X is right, Y is up, and Z is inward. This makes it much easier to edit your scans when exported into a 3D Graphics Program, like MeshLab.
kSTMeshWriteOptionUseXRightYUpConventionKey = YES:
Viewed in Meshlab
- Improved trackers are now available. Legacy (pre 0.8.0) tracking behavior can be specified by setting
YESin the tracker options.
STIntrinsicsare now available in the public SDK. These can be called on
STDepthFrameobjects by calling
kSTMeshWriteOptionUseXRightYUpConventionKeyto be able to export meshes with the convention that X is right, Y is up, and Z is inward, which is a more natural way to view meshes (they are normally X right, Y down, Z outwards). Note that this is still a right-handed coordinate frame.
- All sample apps (sans the unity ones, of which the UI is controlled in the Unity settings) now use
autolayout. All the applications can be converted to work on iPhone displays, however, may require some work to do so.
- Adds a function
currentSDKVersion(void)to the SDK, which allows users to query what version of the SDK they are currently using. It returns a struct with four members
(Major, Minor, Patch, version)which give the major number, minor number, patch number, and version string of a given SDK release.
- Adds a key to
kSTTrackerSceneTypeKey. This allows for scene-specific tracker settings. Currently supports three modes:
STTrackerSceneTypeRooms. The key defaults to
STTrackerSceneTypeObject.This text will be hidden