Class XRCameraSubsystemDescriptor
Specifies the functionalities supported by a provider of the XRCameraSubsystem.
Provider implementations must derive from XRCameraSubsystem.Provider
and may override virtual class members.
Inheritance
Implements
Inherited Members
Namespace: UnityEngine.XR.ARSubsystems
Assembly: Unity.XR.ARSubsystems.dll
Syntax
public sealed class XRCameraSubsystemDescriptor : SubsystemDescriptorWithProvider<XRCameraSubsystem, XRCameraSubsystem.Provider>, ISubsystemDescriptor
Properties
supportsAverageBrightness
Indicates whether the provider implementation can provide a value for XRCameraFrame.averageBrightness.
Declaration
public bool supportsAverageBrightness { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation can provide average brightness. Otherwise, false. |
supportsAverageColorTemperature
Indicates whether the provider implementation can provide a value for XRCameraFrame.averageColorTemperature.
Declaration
public bool supportsAverageColorTemperature { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation can provide average camera temperature. Otherwise, false. |
supportsAverageIntensityInLumens
Indicates whether the provider implementation can provide a value for XRCameraFrame.averageIntensityInLumens.
Declaration
public bool supportsAverageIntensityInLumens { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation can provide average intensity in lumens. Otherwise, false. |
supportsCameraConfigurations
Indicates whether the provider implementation supports camera configurations.
If false, the get
accessor for
XRCameraSubsystem.currentConfiguration may return
null, and the set
accessor must throw a NotSupportedException.
Declaration
public bool supportsCameraConfigurations { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation supports camera configurations. Otherwise, false. |
supportsCameraGrain
Indicates whether the provider implementation can provide a value for XRCameraFrame.cameraGrain.
Declaration
public bool supportsCameraGrain { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation can provide a camera grain texture. Otherwise, false. |
supportsCameraImage
Indicates whether the provider implementation can provide camera images. If false, XRCameraSubsystem.TryAcquireLatestCpuImage must throw a NotSupportedException.
Declaration
public bool supportsCameraImage { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation can provide camera images. Otherwise, false. |
supportsCameraTorchMode
Indicates whether the provider implementation is capable of supporting camera torch mode. Not all cameras have a torch. Use DoesCurrentCameraSupportTorch() to check your device's currently active camera.
Declaration
public bool supportsCameraTorchMode { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation supports camera torch mode. Otherwise, false. |
supportsColorCorrection
Indicates whether the provider implementation can provide a value for XRCameraFrame.colorCorrection.
Declaration
public bool supportsColorCorrection { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation can provide color correction. Otherwise, false. |
supportsDisplayMatrix
Indicates whether the provider implementation can provide a value for XRCameraFrame.displayMatrix.
Declaration
public bool supportsDisplayMatrix { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation can provide a display matrix. Otherwise, false. |
supportsExifData
Indicates whether the provider implementation supports EXIF data.
Declaration
public bool supportsExifData { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation supports EXIF data. Otherwise, false. |
supportsFaceTrackingAmbientIntensityLightEstimation
Indicates whether the provider implementation supports ambient intensity light estimation while face tracking is enabled. If false, XRCameraFrame.hasAverageBrightness and XRCameraFrame.hasAverageIntensityInLumens must be false while face tracking is enabled.
Declaration
public bool supportsFaceTrackingAmbientIntensityLightEstimation { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation supports ambient intensity while face tracking is enabled. Otherwise, false. |
supportsFaceTrackingHDRLightEstimation
Indicates whether the provider implementation supports HDR light estimation while face tracking is enabled.
Declaration
public bool supportsFaceTrackingHDRLightEstimation { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation supports HDR light estimation while face tracking is enabled. Otherwise, false. |
supportsFocusModes
Indicates whether the provider implementation supports the ability to set the camera's focus mode.
If false, the set
accessor for
XRCameraSubsystem.autoFocusRequested will have no effect.
Declaration
public bool supportsFocusModes { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation supports focus modes. Otherwise, false. |
supportsImageStabilization
Indicates whether the provider implementation supports the ability to set the camera's
Image Stabilization mode. The supported status might take time to determine. If the method
delegate returns Unsupported, the set
accessor for
XRCameraSubsystem.imageStabilizationRequested
will have no effect.
Declaration
public Supported supportsImageStabilization { get; }
Property Value
Type | Description |
---|---|
Supported | Supported if the implementation supports Image Stabilization modes, Unknown if support is still being determined. Otherwise, Unsupported. |
supportsProjectionMatrix
Indicates whether the provider implementation can provide a value for XRCameraFrame.projectionMatrix.
Declaration
public bool supportsProjectionMatrix { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation can provide a projection matrix. Otherwise, false. |
supportsTimestamp
Indicates whether the provider implementation can provide a value for XRCameraFrame.timestampNs.
Declaration
public bool supportsTimestamp { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation can provide a timestamp. Otherwise, false. |
supportsWorldTrackingAmbientIntensityLightEstimation
Indicates whether the provider implementation supports ambient intensity light estimation while world tracking. If false, XRCameraFrame.hasAverageBrightness and XRCameraFrame.hasAverageIntensityInLumens must be false while world tracking.
Declaration
public bool supportsWorldTrackingAmbientIntensityLightEstimation { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation supports ambient intensity while world tracking. Otherwise, false. |
supportsWorldTrackingHDRLightEstimation
Indicates whether the provider implementation supports HDR light estimation while world tracking.
Declaration
public bool supportsWorldTrackingHDRLightEstimation { get; }
Property Value
Type | Description |
---|---|
bool | true if the implementation supports HDR light estimation while world tracking. Otherwise, false. |
Methods
Register(Cinfo)
Registers a camera subsystem implementation based on the given subsystem parametersㄝ and validates that the id and providerType properties are properly specified.
Declaration
public static void Register(XRCameraSubsystemDescriptor.Cinfo cinfo)
Parameters
Type | Name | Description |
---|---|---|
XRCameraSubsystemDescriptor.Cinfo | cinfo | The parameters that define how to initialize the descriptor. |
Exceptions
Type | Condition |
---|---|
ArgumentException | Thrown when the values specified in the XRCameraSubsystemDescriptor.Cinfo parameter are invalid. Typically, this happens when required parameters are null or empty or types that do not derive from the required base class. |