Class AREnvironmentProbeManager
This class creates, maintains, and destroys environment probe GameObject components as the
XREnvironmentProbeSubsystem provides updates from environment probes as they are detected in the
environment.
Inheritance
Inherited Members
Namespace: UnityEngine.XR.ARFoundation
Assembly: Unity.XR.ARFoundation.dll
Syntax
[DisallowMultipleComponent]
[DefaultExecutionOrder(-2147483647)]
[HelpURL("https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@4.2/api/UnityEngine.XR.ARFoundation.AREnvironmentProbeManager.html")]
public sealed class AREnvironmentProbeManager : ARTrackableManager<XREnvironmentProbeSubsystem, XREnvironmentProbeSubsystemDescriptor, XREnvironmentProbeSubsystem.Provider, XREnvironmentProbe, AREnvironmentProbe>
Properties
automaticPlacement
A property of the environment probe subsystem that, if enabled, automatically generates environment probes for the scene. This method is obsolete. Use automaticPlacementRequested or automaticPlacementEnabled instead.
Declaration
[Obsolete("Use automaticPlacementRequested or automaticPlacementEnabled instead. (2020-01-16)")]
public bool automaticPlacement { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
|
automaticPlacementEnabled
true if automatic placement is enabled on the subsystem.
Declaration
public bool automaticPlacementEnabled { get; }
Property Value
| Type | Description |
|---|---|
| bool |
automaticPlacementRequested
If enabled, requests automatic generation of environment probes for the scene.
Declaration
public bool automaticPlacementRequested { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
|
debugPrefab
Specifies a debug Prefab that will be attached to all environment probes.
Declaration
public GameObject debugPrefab { get; set; }
Property Value
| Type | Description |
|---|---|
| GameObject | A debug Prefab that will be attached to all environment probes. |
Remarks
Setting a debug Prefab allows for these environment probes to be more readily visualized but is not
required for normal operation of this manager. This script will automatically create reflection probes for
all environment probes reported by the XREnvironmentProbeSubsystem.
environmentTextureFilterMode
Specifies the texture filter mode to be used with the environment texture.
Declaration
public FilterMode environmentTextureFilterMode { get; set; }
Property Value
| Type | Description |
|---|---|
| FilterMode | The texture filter mode to be used with the environment texture. |
environmentTextureHDR
Specifies whether the environment textures should be returned as HDR textures.
Declaration
[Obsolete("Use environmentTextureHDRRequested or environmentTextureHDREnabled instead. (2020-01-16)")]
public bool environmentTextureHDR { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
|
environmentTextureHDREnabled
Queries whether environment textures will be provided with high dynamic range.
Declaration
public bool environmentTextureHDREnabled { get; }
Property Value
| Type | Description |
|---|---|
| bool |
environmentTextureHDRRequested
Get or set whether high dynamic range environment textures are requested.
Declaration
public bool environmentTextureHDRRequested { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
gameObjectName
The name of the GameObject for each instantiated AREnvironmentProbe.
Declaration
protected override string gameObjectName { get; }
Property Value
| Type | Description |
|---|---|
| string |
Overrides
Methods
AddEnvironmentProbe(Pose, Vector3, Vector3)
Creates a new environment probe at pose with scale and size
if supported by the subsystem. Use the descriptor's
supportsManualPlacement property to determine support for this feature. If successful, a new
GameObject with an AREnvironmentProbe is created
immediately; however, the provider might not report the environment probe as added until a future frame. Check the
status of the probe by inspecting its
pending property.
Declaration
[Obsolete("Add an environment probe using AddComponent<AREnvironmentProbe>(). (2020-10-06)")]
public AREnvironmentProbe AddEnvironmentProbe(Pose pose, Vector3 scale, Vector3 size)
Parameters
| Type | Name | Description |
|---|---|---|
| Pose | pose | The position and rotation at which to create the new environment probe. |
| Vector3 | scale | The scale of the new environment probe. |
| Vector3 | size | The size (dimensions) of the new environment probe. |
Returns
| Type | Description |
|---|---|
| AREnvironmentProbe | A new AREnvironmentProbe if successful, otherwise |
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | Thrown if this manager is not enabled |
| InvalidOperationException | Thrown if this manager has no subsystem. |
| NotSupportedException | Thrown if manual placement is not supported by this subsystem.
Check for support on the descriptor's
|
GetEnvironmentProbe(TrackableId)
Attempts to find the environment probe matching the trackable ID currently in the scene.
Declaration
public AREnvironmentProbe GetEnvironmentProbe(TrackableId trackableId)
Parameters
| Type | Name | Description |
|---|---|---|
| TrackableId | trackableId | The trackable ID of an environment probe to search for. |
Returns
| Type | Description |
|---|---|
| AREnvironmentProbe | Environment probe in the scene matching the |
GetPrefab()
Gets the prefab that should be instantiated for each AREnvironmentProbe. May be null.
Declaration
protected override GameObject GetPrefab()
Returns
| Type | Description |
|---|---|
| GameObject | The prefab that should be instantiated for each AREnvironmentProbe. |
Overrides
OnBeforeStart()
Enables the environment probe functionality by registering listeners for the environment probe events, if
the XREnvironmentProbeSubsystem exists, and enabling environment probes in the AR subsystem manager.
Declaration
protected override void OnBeforeStart()
Overrides
OnCreateTrackable(AREnvironmentProbe)
Invoked when an AREnvironmentProbe is created.
Declaration
protected override void OnCreateTrackable(AREnvironmentProbe probe)
Parameters
| Type | Name | Description |
|---|---|---|
| AREnvironmentProbe | probe | The AREnvironmentProbe that was just created. |
Overrides
OnDestroy()
Destroys any game objects created by this environment probe manager for each environment probe, and clears the mapping of environment probes.
Declaration
protected override void OnDestroy()
Overrides
OnTrackablesChanged(List<AREnvironmentProbe>, List<AREnvironmentProbe>, List<AREnvironmentProbe>)
Invoked when the base class detects trackable changes.
Declaration
protected override void OnTrackablesChanged(List<AREnvironmentProbe> added, List<AREnvironmentProbe> updated, List<AREnvironmentProbe> removed)
Parameters
| Type | Name | Description |
|---|---|---|
| List<AREnvironmentProbe> | added | The list of added AREnvironmentProbe. |
| List<AREnvironmentProbe> | updated | The list of updated AREnvironmentProbe. |
| List<AREnvironmentProbe> | removed | The list of removed AREnvironmentProbe. |
Overrides
RemoveEnvironmentProbe(AREnvironmentProbe)
Remove an existing environment probe. Support for this feature is provider-specific. Check for support with
the descriptor's
supportsRemovalOfManual and supportsRemovalOfAutomatic properties.
Declaration
[Obsolete("Call Destroy() on the AREnvironmentProbe component to remove it. (2020-10-06)")]
public bool RemoveEnvironmentProbe(AREnvironmentProbe probe)
Parameters
| Type | Name | Description |
|---|---|---|
| AREnvironmentProbe | probe | The environment probe to remove |
Returns
| Type | Description |
|---|---|
| bool |
|
Exceptions
| Type | Condition |
|---|---|
| InvalidOperationException | Thrown if this manager is not enabled. |
| InvalidOperationException | Thrown if
subsystem is |
| ArgumentNullException | Thrown if |
| InvalidOperationException | Thrown if the environment probe was manually placed, but removal of manually placed probes is not supported. You can check for this case with placementType and the descriptor's 'supportsRemovalOfManual` property. |
| InvalidOperationException | Thrown if the environment probe was automatically placed, but removal of automatically placed probes is not supported.
You can check for this case with placementType and the
descriptor's
|
Events
environmentProbesChanged
Invoked once per frame with lists of environment probes that have been added, updated, and removed since the last frame.
Declaration
public event Action<AREnvironmentProbesChangedEvent> environmentProbesChanged
Event Type
| Type | Description |
|---|---|
| Action<AREnvironmentProbesChangedEvent> |