Google. XR. 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 Defines possible modes for ARCore Cloud Anchors. |
CloudAnchorState{
|
enum Describes the current state of a ARCloudAnchor . |
CloudReferenceState{
|
enum
Deprecated.
Please use CloudAnchorState instead. Deprecated version of CloudAnchorState . |
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. |
TerrainAnchorState{
|
enum Describes the current terrain anchor state of a ARGeospatialAnchor . |
VpsAvailability{
|
enum Describes the result of checking VPS availability at specific location. |
Classes |
|
---|---|
Google. |
Extensions to AR Foundation's ARAnchorManager class. |
Google. |
The |
Google. |
Deprecated version of |
Google. |
ARCore Extensions, this script allows an app to specify and provide access to AR Foundation object instances that should be used by ARCore Extensions. |
Google. |
The |
Google. |
Holds settings that are used to configure the ARCore Extensions. |
Google. |
Configuration to record camera and sensor data from an ARCore session. |
Google. |
Provides localization in Earth-relative coordinates. |
Google. |
The |
Google. |
Provides access to session playback functionality. |
Google. |
Provides access to session recording functionality. |
Google. |
Provides access to information about the current ARCore Extensions package runtime. |
Google. |
A specific interruptible promise to check the VPS availability using the given location by initializing a query with a remote service, used in coroutines to poll |
Google. |
Extensions to AR Subsystem's XRCameraConfiguration struct. |
Google. |
Extensions to AR Subsystem's XRCameraFrame struct. |
Structs |
|
---|---|
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 Track. |
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
CloudAnchorState
CloudAnchorState
Describes the current state of a ARCloudAnchor
.
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 Cloud Anchor service 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 Cloud Anchor service. |
|
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 Cloud because of an invalid authentication. Check Project Settings > XR Plug-in Management > ARCore Extensions for a valid authentication strategy. |
|
Resolving failed because the ARCore Cloud Anchor service 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 Cloud for their API key from the Google Developers Console. |
|
The Cloud Anchor is not ready to use. |
|
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. |
CloudReferenceState
CloudReferenceState
Deprecated version of CloudAnchorState
.
Deprecated. Please use CloudAnchorState instead.
Properties | |
---|---|
|
Hosting failed because the server could not successfully process the dataset for the given Reference Point. The developer should try again after the devices has gathered more data from the environment. |
|
The ARCore Cloud Anchor service 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 Cloud Anchor service. |
|
A hosting or resolving task for this Reference Point 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 or unauthorized API key in the manifest, or because there was no API key present in the manifest. |
|
Resolving failed because the ARCore Cloud Anchor service could not find the provided Cloud Anchor Id. |
|
The Reference Point 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 Reference Point 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 Cloud for their API key from the Google Developers Console. |
|
The cloud reference point is not ready to use. |
|
A hosting or resolving task for this Reference Point has completed successfully. |
|
A hosting or resolving task is in progress for this Reference Point. Once the task completes in the background, the Reference Point will get a new state after the next update. |
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. For more details, see Share AR experiences with Cloud Anchors.
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.CheckVpsAvailability(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.
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 |
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
TerrainAnchorState
TerrainAnchorState
Describes the current terrain anchor state of a ARGeospatialAnchor
.
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 Terrain anchor or is not ready to use. |
|
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. |
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. |