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)]
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> |