ARCoreExtensions
Summary
Enumerations |
|
---|---|
CameraConfigDepthSensorUsage{
|
enum Type of hardware depth sensor usage for a camera config, such as a time-of-flight (ToF) sensor. |
CameraConfigFacingDirection{
|
enum Facing direction options for camera config. |
CameraConfigStereoCameraUsage{
|
enum Stereo Camera usage options. |
CameraConfigTargetFps{
|
enum The camera frame rate filter for the currently selected camera. |
CloudAnchorMode{
|
enum Describes the desired behavior of the ARCore Cloud Anchor API. |
CloudAnchorState{
|
enum Result status of a Cloud Anchor hosting or resolving operation. |
EarthState{
|
enum Describes the current state of Earth localization. |
FeatureMapQuality{
|
enum Indicates the quality of feature points seen by ARCore in the preceding few seconds from a given camera Pose . |
FeatureSupported{
|
enum Indicates whether a feature or capability is supported on the device. |
GeospatialMode{
|
enum Describes the desired behavior of the ARCore Geospatial API. |
PlaybackResult{
|
enum Results from attempting to set playback dataset filepath. |
PlaybackStatus{
|
enum Describes the current playback status. |
PromiseState{
|
enum Describes state of an async operation. |
RecordingResult{
|
enum Results from recording methods. |
RecordingStatus{
|
enum Describes the current recording status. |
RooftopAnchorState{
|
enum Describes the Rooftop anchor state of an synchronous operation launched by ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync(this ARAnchorManager, double,
double, double, UnityEngine.Quaternion) . |
SemanticLabel{
|
enum Defines the labels the Scene Semantics API is able to detect and maps human-readable names to per-pixel semantic labels. |
SemanticMode{
|
enum Describes the desired behavior of Scene Semantics. |
StreetscapeGeometryMode{
|
enum Describes the desired behavior of the Geospatial Streetscape Geometry API. |
StreetscapeGeometryQuality{
|
enum Describes the quality of the mesh data. |
StreetscapeGeometryType{
|
enum Describes the type of a Streetscape Geometry. |
TerrainAnchorState{
|
enum Describes the result of a Terrain anchor resolving operation. |
VpsAvailability{
|
enum Describes the result of checking VPS availability at specific location. |
Structs |
|
---|---|
Google. |
Event arguments for the |
Google. |
Describes a specific location, elevation, and compass heading relative to Earth. |
Google. |
Definition of a track to record on. |
Google. |
Data that was recorded to an external |
Namespaces |
|
---|---|
Google. |
|
Google. |
Enumerations
CameraConfigDepthSensorUsage
CameraConfigDepthSensorUsage
Type of hardware depth sensor usage for a camera config, such as a time-of-flight (ToF) sensor.
Properties | |
---|---|
DoNotUse
|
Indicates that ARCore will not attempt to use a hardware depth sensor, such as a time-of-flight sensor (or ToF sensor), even if it is present. Most commonly used to filter camera configurations when the app requires exclusive access to the hardware depth sensor outside of ARCore, for example to support 3D mesh reconstruction. Available on all ARCore supported devices. |
|
Indicates that a hardware depth sensor, such as a time-of-flight sensor (or ToF sensor), must be present on the device, and the hardware depth sensor will be used by ARCore. Not supported on all devices. |
CameraConfigFacingDirection
CameraConfigFacingDirection
Facing direction options for camera config.
Properties | |
---|---|
|
Back-facing (world) camera is enabled. Available on all ARCore supported devices. |
|
Front-facing (selfie) camera is enabled. See ARCore supported devices for available camera configs by device. To limit distribution of your app to only devices that have a front-facing camera, use uses-feature with |
CameraConfigStereoCameraUsage
CameraConfigStereoCameraUsage
Stereo Camera usage options.
Properties | |
---|---|
DoNotUse
|
ARCore will not attempt to use a stereo camera, even if one is present. Valid on all ARCore supported devices. |
|
A stereo camera is present on the device and will be used by ARCore. Not available on all ARCore supported devices. |
CameraConfigTargetFps
CameraConfigTargetFps
The camera frame rate filter for the currently selected camera.
Properties | |
---|---|
|
Target 30fps camera capture frame rate. Available on all ARCore supported devices. |
|
Target 60fps camera capture frame rate. Increases power consumption and may increase app memory usage. See the ARCore supported devices page for a list of devices that currently support 60fps. |
CloudAnchorMode
CloudAnchorMode
Describes the desired behavior of the ARCore Cloud Anchor API.
The Cloud Anchors API uses feature maps to persist an anchor throughout sessions and across devices. See the Cloud Anchors developer guide for more information.
The default value is CloudAnchorMode.Disabled
. Use ARCoreExtensionsConfig.CloudAnchorMode
to set the desired mode.
Properties | |
---|---|
|
The Cloud Anchor API is disabled. Calling This is the default value. |
|
The Cloud Anchor API is enabled.
Using this mode requires your app to do the following:
Use |
CloudAnchorState
CloudAnchorState
Result status of a Cloud Anchor hosting or resolving operation.
Properties | |
---|---|
|
Hosting failed because the server could not successfully process the dataset for the given Cloud Anchor. The developer should try again after the devices has gathered more data from the environment. |
|
The ARCore API was unreachable. This can happen because of a number of reasons. The device may be in airplane mode or does not have a working internet connection. The request sent to the server could have timed out with no response, there could be a bad network connection, DNS unavailability, firewall issues, or anything that could affect the device's ability to connect to the ARCore API. |
|
A hosting or resolving task for this Cloud Anchor has completed with an internal error. The app should not attempt to recover from this error. |
|
The app cannot communicate with the ARCore API because of an invalid authentication. Check Project Settings > XR Plug-in Management > ARCore Extensions for a valid authentication strategy. |
|
Resolving failed because the ARCore API could not find the provided Cloud Anchor Id. |
|
The Cloud Anchor could not be acquired because the ARCore Extensions package used to host the Cloud Anchor was older than and incompatible with the version being used to acquire it. |
|
The Cloud Anchor could not be resolved because the ARCore Extensions package used to host the Cloud Anchor was newer than and incompatible with the version being used to acquire it. |
|
The application has exhausted the request quota alloted to the given API key. The developer should request additional quota for the ARCore API for their API key from the Google Cloud Developers Console. |
|
Not a valid value for a Cloud Anchor hosting or resolving operation. |
|
A hosting or resolving task for this Cloud Anchor has completed successfully. |
|
A hosting or resolving task is in progress for this Cloud Anchor. Once the task completes in the background, the Cloud Anchor will get a new state after the next update.
Deprecated.
Not returned by async methods - replaced by |
EarthState
EarthState
Describes the current state of Earth localization.
When AREarthManager.EarthTrackingState
does not become UnityEngine.XR.ARSubsystems.TrackingState.Tracking
, EarthState
may contain the cause of this failure.
Properties | |
---|---|
|
Earth localization is enabled, and has not encountered any problems. Check |
|
Failed to acquire Earth. This is returned when the current session is initializing Geospatial functionalities. This state should not be active for more than a few frames. |
|
Earth localization has been disabled on this session. All |
|
Earth localization has encountered an internal error. The app should not attempt to recover from this error. Please see application logs for additional information. |
|
The authorization provided by the application is not valid.
|
|
The package is older than the supported version. |
|
The application has exhausted the quota allotted to the given Google Cloud project. The developer should request additional quota for the ARCore API for their project from the Google Cloud Console. |
|
Failed to find a valid ARCore session. This is returned when the session is not active or not fully initialized, see |
FeatureMapQuality
FeatureMapQuality
Indicates the quality of feature points seen by ARCore in the preceding few seconds from a given camera Pose
.
A higher quality indicates that a Cloud Anchor hosted at the current time, with the current set of recently seen feature points, is generally easier to resolve more accurately. See the Cloud Anchors developer guide for more information.
Properties | |
---|---|
|
The quality of feature points seen from the pose in the preceding few seconds is likely sufficient for ARCore to successfully resolve a Cloud Anchor with a high degree of accuracy. |
|
The quality of feature points seen from the pose in the preceding few seconds is low. This state indicates that ARCore will likely have more difficulty resolving the Cloud Anchor. Encourage the user to move the device, so that the desired position of the Cloud Anchor to be hosted is seen from different angles. |
|
The quality of feature points seen from the pose in the preceding few seconds is likely sufficient for ARCore to successfully resolve a Cloud Anchor, although the accuracy of the resolved pose will likely be reduced. Encourage the user to move the device, so that the desired position of the Cloud Anchor to be hosted is seen from different angles. |
FeatureSupported
FeatureSupported
Indicates whether a feature or capability is supported on the device.
Properties | |
---|---|
|
The feature or capability is supported. |
|
Support is unknown. This could be because support is still being determined. |
|
The feature or capability is not supported. |
GeospatialMode
GeospatialMode
Describes the desired behavior of the ARCore Geospatial API.
The Geospatial API uses a combination of Google's Visual Positioning System (VPS) and GPS to determine the geospatial pose.
The Geospatial API is able to provide the best user experience when it is able to generate high accuracy poses. However, the Geospatial API can be used anywhere, as long as the device is able to determine its location, even if the available location information has low accuracy.
- In areas with VPS coverage, the Geospatial API is able to generate high accuracy poses. This can work even where GPS accuracy is low, such as dense urban environments. Under typical conditions, VPS can be expected to provide positional accuracy typically better than 5 meters and often around 1 meter, and a rotational accuracy of better than 5 degrees. Use
AREarthManager.CheckVpsAvailabilityAsync(double, double)
to determine if a given location has VPS coverage. - In outdoor environments with few or no overhead obstructions, GPS may be sufficient to generate high accuracy poses. GPS accuracy may be low in dense urban environments and indoors.
A small number of ARCore supported devices do not support the Geospatial API. Use AREarthManager.IsGeospatialModeSupported(GeospatialMode)
to determine if the current device is supported. Affected devices are also indicated on the ARCore supported devices page.
When the Geospatial API and the Depth API are enabled, output images from the Depth API will include terrain and building geometry when in a location with VPS coverage. See the Geospatial Depth Developer Guide for more information.
The default value is GeospatialMode.Disabled
. Use ARCoreExtensionsConfig.GeospatialMode
to set the desired mode.
Properties | |
---|---|
|
The Geospatial API is disabled. When a configuration with ARCore Extensions will not request location permissions. |
|
The Geospatial API is enabled, and Using this mode requires your app do the following:
Location is tracked only while For more information, see documentation on the Geospatial API on Google Developers. This mode is not compatible with the Not all devices support this mode, use When the Geospatial API and the Depth API are enabled, output images from the Depth API will include terrain and building geometry when in a location with VPS coverage. See the Geospatial Depth Developer Guide for more information. |
PlaybackResult
PlaybackResult
Results from attempting to set playback dataset filepath.
Properties | |
---|---|
|
Playback failed. |
|
The session was not paused when setting the playback dataset. |
|
Operation is unsupported with the current session. |
OK
|
The request completed successfully. |
|
The call to Try calling it again in the next frame. Note:
|
PlaybackStatus
PlaybackStatus
Describes the current playback status.
Properties | |
---|---|
|
Playback has finished successfully. The session is waiting on the final frame of the dataset. To resume a live camera feed or play another dataset, pause the session, call |
IO
|
Playback has stopped due to an error. |
|
The session is not playing back a dataset. |
OK
|
Playback is in process without issues. |
PromiseState
PromiseState
RecordingResult
RecordingResult
Results from recording methods.
Properties | |
---|---|
|
When using When using |
|
When using When using |
|
IO or other general failure. |
OK
|
The request completed successfully. |
|
The call to Try calling it again in the next frame. Note:
|
RecordingStatus
RecordingStatus
RooftopAnchorState
RooftopAnchorState
Describes the Rooftop anchor state of an synchronous operation launched by ARAnchorManagerExtensions.ResolveAnchorOnRooftopAsync(this ARAnchorManager, double,
double, double, UnityEngine.Quaternion)
.
Obttained by ResolveAnchorOnRooftopResult.RooftopAnchorState
.
Properties | |
---|---|
|
A resolving task for this Rooftop anchor has completed with an internal error. The app should not attempt to recover from this error. |
|
The app cannot communicate with the ARCore Cloud because of an invalid authentication. Check Project Settings > XR Plug-in Management > ARCore Extensions for a valid authentication strategy. |
|
There is no rooftop or terrain information at this location, such as the center of the ocean. |
|
Not a valid value for a Rooftop anchor operation. |
|
A resolving task for this Rooftop anchor has completed successfully. |
SemanticLabel
SemanticLabel
Defines the labels the Scene Semantics API is able to detect and maps human-readable names to per-pixel semantic labels.
See the Scene Semantics Developer Guide for more information.
Use ARSemanticManager.TryGetSemanticTexture(ref Texture2D)
to obtain an image containing these pixels and ARSemanticManager.TryGetSemanticConfidenceTexture(ref Texture2D)
, and ARSemanticManager.GetSemanticLabelFraction(SemanticLabel)
to query what percentage of the image contains these pixels.
Properties | |
---|---|
|
Pixels of buildings, including houses, garages, etc. Includes all structures attached to the building, such as signs, solar panels, scaffolding, etc. |
|
Pixels of general temporary and permanent objects and obstacles, including street signs, traffic signs, free-standing business signs, billboards, poles, mailboxes, fire hydrants, street lights, phone booths, bus stop enclosures, cones, parking meters, animals, etc. |
|
Pixels of humans, including pedestrians and bicycle/motorcycle riders. |
|
Pixels of drivable surfaces for vehicles, including paved, unpaved, dirt, driveways, crosswalks, etc. |
|
Pixels of sidewalks for pedestrians and cyclists, including associated curbs. |
Sky
|
Pixels of the open sky, including clouds. Thin electrical wires in front of the sky are included, but leaves/vegetation are not included. |
|
Pixels of structures that are not buildings, including fences, guardrails, stand-alone walls, tunnels, bridges, etc. |
|
Pixels of walkable vegetation areas, including grass, soil, sand, mountains, etc. In contrast, 'tree' specifies non-walkable vegetation, like trees and bushes. |
|
Pixels of non-walkable vegetation, like trees and shrubs. In contrast, 'terrain' specifies walkable vegetation, like grass. |
|
Pixels with no semantic label available in the API output. |
|
Pixels of vehicles, including cars, vans, buses, trucks, motorcycles, bicycles, trains, etc. |
|
Pixels of ground surfaces covered by water, including lakes, rivers, etc. |
SemanticMode
SemanticMode
Describes the desired behavior of Scene Semantics.
Scene Semantics uses a machine learning model to label each pixel from the camera feed with a SemanticLabel
. See the Scene Semantics Developer Guide for more information.
The Scene Semantics API is currently able to distinguish between outdoor labels specified by SemanticLabel
. Usage indoors is currently unsupported and may yield unreliable results.
A small number of ARCore supported devices do not support the Scene Semantics API. Use ARSemanticManager.IsSemanticModeSupported(SemanticMode)
to query for support for Scene Semantics. Affected devices are also indicated on the ARCore supported devices page.
The default value is SemanticMode.Disabled
.
Properties | |
---|---|
|
The Scene Semantics API is disabled. Calls to This is the default mode. |
|
The Scene Semantics API is enabled. Calls to |
StreetscapeGeometryMode
StreetscapeGeometryMode
Describes the desired behavior of the Geospatial Streetscape Geometry API.
The Streetscape Geometry API provides polygon meshes of terrain, buildings, and other structures in a radius surrounding the device. See the Streetscape Geometry Developer Guide for additional information.
When Streetscape Geometry is enabled, ARStreetscapeGeometryManager
can be used.
The Streetscape Geometry API requires both StreetscapeGeometryMode
to be set to StreetscapeGeometryMode.Enabled
and GeospatialMode
to be set to GeospatialMode.Enabled
.
The default value is StreetscapeGeometryMode.Disabled
. Use ARCoreExtensionsConfig.StreetscapeGeometryMode
to set the desired mode.
Properties | |
---|---|
|
The Streetscape Geometry API is disabled. This is the default mode. |
|
The Streetscape Geometry API is enabled.
Use |
StreetscapeGeometryQuality
StreetscapeGeometryQuality
Describes the quality of the mesh data.
The values correspond to the levels of detail (LOD) defined by the CityGML 2.0 standard.
Obtained by ARStreetscapeGeometry.quality
.
Properties | |
---|---|
|
The The building contains empty space above any angled roofs. |
|
The The geometry will closely follow simple angled roofs. Chimneys and roof vents on top of roofs will poke outside of the mesh. |
|
The quality of the geometry is not defined, e.g. when the |
StreetscapeGeometryType
StreetscapeGeometryType
Describes the type of a Streetscape Geometry.
Obtained by ARStreetscapeGeometry.streetscapeGeometryType
.
Properties | |
---|---|
|
This geometry represents a building. |
|
This geometry represents the ground or floor. |
TerrainAnchorState
TerrainAnchorState
Describes the result of a Terrain anchor resolving operation.
Properties | |
---|---|
|
A resolving task for this Terrain anchor has completed with an internal error. The app should not attempt to recover from this error. |
|
The app cannot communicate with the ARCore Cloud because of an invalid authentication. Check Project Settings > XR Plug-in Management > ARCore Extensions for a valid authentication strategy. |
|
There is no terrain info at this location, such as the center of the ocean. |
|
Not a valid value for a Terrain anchor operation. |
|
A resolving task for this Terrain anchor has completed successfully. |
|
A resolving task is in progress for this Terrain anchor. Once the task completes in the background, the Terrain anchor will get a new state after the next update.
Deprecated.
Not returned by async methods. Replaced by |
VpsAvailability
VpsAvailability
Describes the result of checking VPS availability at specific location.
Properties | |
---|---|
|
VPS is available at the requested location. |
|
An internal error occurred while determining availability. |
|
The external service could not be reached due to a network connection error. |
|
An authorization error occurred when communicating with the Google Cloud ARCore API. See Enable the Geospatial API for troubleshooting steps. |
|
Too many requests were sent. |
|
VPS is not available at the requested location. |
|
The request to the remote service is not yet completed, so the availability is not yet known, or the AR Subsystem is not ready yet. |