Class XREnvironmentProbeSubsystem
Defines an interface for interacting with environment probe functionality for creating realistic lighting and environment texturing in AR scenes.
Inheritance
Inherited Members
Namespace: UnityEngine.XR.ARSubsystems
Syntax
public abstract class XREnvironmentProbeSubsystem : TrackingSubsystem<XREnvironmentProbe, XREnvironmentProbeSubsystemDescriptor>, ISubsystem
Constructors
XREnvironmentProbeSubsystem()
Constructs an XREnvironmentProbeSubsystem.
Do not create this directly.
Call Create
on an XREnvironmentProbeSubsystemDescriptor obtained from the SubsystemManager
.
Declaration
public XREnvironmentProbeSubsystem()
Properties
automaticPlacement
Specifies whether the AR session should automatically place environment probes in the scene.
Declaration
public bool automaticPlacement { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
|
Remarks
If both manual and automatic placement of environment probes are supported, manually placed environment
probes may be specified via
Exceptions
Type | Condition |
---|---|
NotSupportedException | Thrown when setting this value to |
environmentTextureHDR
Specifies whether the environment textures should be returned as HDR textures.
Declaration
public bool environmentTextureHDR { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
|
Methods
CreateProvider()
Must create an implementation of XREnvironmentProbeSubsystem.Provider, the provider-specific implementation of this subsystem.
Declaration
protected abstract XREnvironmentProbeSubsystem.Provider CreateProvider()
Returns
Type | Description |
---|---|
XREnvironmentProbeSubsystem.Provider |
GetChanges(Allocator)
Declaration
public override TrackableChanges<XREnvironmentProbe> GetChanges(Allocator allocator)
Parameters
Type | Name | Description |
---|---|---|
Allocator | allocator |
Returns
Type | Description |
---|---|
TrackableChanges<XREnvironmentProbe> |
Overrides
OnDestroyed()
Destroys the subsystem and any internal state.
Declaration
protected override sealed void OnDestroyed()
Overrides
OnStart()
Starts the subsystem. If automaticPlacement is true
, environment probes will be created automatically.
Declaration
protected override sealed void OnStart()
Overrides
OnStop()
Stops the subsystem. This does not remove existing environment probes, but it stops automatically placing them, and manually placed probes will not be updated until OnStart() is called again.
Declaration
protected override sealed void OnStop()
Overrides
Register(XREnvironmentProbeSubsystemCinfo)
Registers a subsystem implementation based on the given subystem parameters.
Declaration
public static bool Register(XREnvironmentProbeSubsystemCinfo environmentProbeSubsystemCinfo)
Parameters
Type | Name | Description |
---|---|---|
XREnvironmentProbeSubsystemCinfo | environmentProbeSubsystemCinfo | The parameters defining the environment probe functionality implemented by the subsystem provider. |
Returns
Type | Description |
---|---|
Boolean |
|
Exceptions
Type | Condition |
---|---|
ArgumentException | Thrown when the values specified in the
|
RemoveEnvironmentProbe(TrackableId)
Asynchronously removes the environment probe matching the trackable ID from the AR session.
Declaration
public bool RemoveEnvironmentProbe(TrackableId trackableId)
Parameters
Type | Name | Description |
---|---|---|
TrackableId | trackableId | Trackable ID of the environment probe to be removed from the AR session. |
Returns
Type | Description |
---|---|
Boolean |
|
Remarks
RemoveEnvironmentProbe
may be used to remove both manually-placed and automatically-placed
environment probes if the implementation supports such removals, as indicated by the descriptor properties
supportsRemovalOfManual and
supportsRemovalOfAutomatic.
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown when the environment probe subsystem is not running and this method is called to an add environment probe. |
NotSupportedException | Thrown for platforms that do not support removal of the type of environment probe. |
TryAddEnvironmentProbe(Pose, Vector3, Vector3, out XREnvironmentProbe)
Tries to create an environment probe.
Declaration
public bool TryAddEnvironmentProbe(Pose pose, Vector3 scale, Vector3 size, out XREnvironmentProbe environmentProbe)
Parameters
Type | Name | Description |
---|---|---|
Pose | pose | The position and rotation at which to create the environment probe. |
Vector3 | scale | The scale at which to create the environment probe. |
Vector3 | size | The size (dimensions) of the environment probe to create. |
XREnvironmentProbe | environmentProbe | If successful, populated with the newly created environment probe. Otherwise, it will contain default values. |
Returns
Type | Description |
---|---|
Boolean |
|
Exceptions
Type | Condition |
---|---|
InvalidOperationException | Thrown when the environment probe subsystem is not running and this method is called to an add environment probe. |
NotSupportedException | Thrown for platforms that do not support manual placement of environment probes. |