docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class VolumeCamera

    Specifies the portion of the scene to render in a volume window. A volume window is similar to a standard computer window with the addition of a third dimension. Every volume camera has an associated volume window.

    Inheritance
    object
    Object
    Component
    Behaviour
    MonoBehaviour
    VolumeCamera
    Inherited Members
    MonoBehaviour.IsInvoking()
    MonoBehaviour.CancelInvoke()
    MonoBehaviour.Invoke(string, float)
    MonoBehaviour.InvokeRepeating(string, float, float)
    MonoBehaviour.CancelInvoke(string)
    MonoBehaviour.IsInvoking(string)
    MonoBehaviour.StartCoroutine(string)
    MonoBehaviour.StartCoroutine(string, object)
    MonoBehaviour.StartCoroutine(IEnumerator)
    MonoBehaviour.StartCoroutine_Auto(IEnumerator)
    MonoBehaviour.StopCoroutine(IEnumerator)
    MonoBehaviour.StopCoroutine(Coroutine)
    MonoBehaviour.StopCoroutine(string)
    MonoBehaviour.StopAllCoroutines()
    MonoBehaviour.print(object)
    MonoBehaviour.destroyCancellationToken
    MonoBehaviour.useGUILayout
    MonoBehaviour.didStart
    MonoBehaviour.didAwake
    MonoBehaviour.runInEditMode
    Behaviour.enabled
    Behaviour.isActiveAndEnabled
    Component.GetComponent(Type)
    Component.GetComponent<T>()
    Component.TryGetComponent(Type, out Component)
    Component.TryGetComponent<T>(out T)
    Component.GetComponent(string)
    Component.GetComponentInChildren(Type, bool)
    Component.GetComponentInChildren(Type)
    Component.GetComponentInChildren<T>(bool)
    Component.GetComponentInChildren<T>()
    Component.GetComponentsInChildren(Type, bool)
    Component.GetComponentsInChildren(Type)
    Component.GetComponentsInChildren<T>(bool)
    Component.GetComponentsInChildren<T>(bool, List<T>)
    Component.GetComponentsInChildren<T>()
    Component.GetComponentsInChildren<T>(List<T>)
    Component.GetComponentInParent(Type, bool)
    Component.GetComponentInParent(Type)
    Component.GetComponentInParent<T>(bool)
    Component.GetComponentInParent<T>()
    Component.GetComponentsInParent(Type, bool)
    Component.GetComponentsInParent(Type)
    Component.GetComponentsInParent<T>(bool)
    Component.GetComponentsInParent<T>(bool, List<T>)
    Component.GetComponentsInParent<T>()
    Component.GetComponents(Type)
    Component.GetComponents(Type, List<Component>)
    Component.GetComponents<T>(List<T>)
    Component.GetComponents<T>()
    Component.GetComponentIndex()
    Component.CompareTag(string)
    Component.CompareTag(TagHandle)
    Component.SendMessageUpwards(string, object, SendMessageOptions)
    Component.SendMessageUpwards(string, object)
    Component.SendMessageUpwards(string)
    Component.SendMessageUpwards(string, SendMessageOptions)
    Component.SendMessage(string, object)
    Component.SendMessage(string)
    Component.SendMessage(string, object, SendMessageOptions)
    Component.SendMessage(string, SendMessageOptions)
    Component.BroadcastMessage(string, object, SendMessageOptions)
    Component.BroadcastMessage(string, object)
    Component.BroadcastMessage(string)
    Component.BroadcastMessage(string, SendMessageOptions)
    Component.transform
    Component.gameObject
    Component.tag
    Object.GetInstanceID()
    Object.GetHashCode()
    Object.Equals(object)
    Object.InstantiateAsync<T>(T)
    Object.InstantiateAsync<T>(T, Transform)
    Object.InstantiateAsync<T>(T, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int)
    Object.InstantiateAsync<T>(T, int, Transform)
    Object.InstantiateAsync<T>(T, int, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion)
    Object.InstantiateAsync<T>(T, int, Transform, Vector3, Quaternion, CancellationToken)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>)
    Object.InstantiateAsync<T>(T, int, Transform, ReadOnlySpan<Vector3>, ReadOnlySpan<Quaternion>, CancellationToken)
    Object.Instantiate(Object, Vector3, Quaternion)
    Object.Instantiate(Object, Vector3, Quaternion, Transform)
    Object.Instantiate(Object)
    Object.Instantiate(Object, Scene)
    Object.Instantiate(Object, Transform)
    Object.Instantiate(Object, Transform, bool)
    Object.Instantiate<T>(T)
    Object.Instantiate<T>(T, Vector3, Quaternion)
    Object.Instantiate<T>(T, Vector3, Quaternion, Transform)
    Object.Instantiate<T>(T, Transform)
    Object.Instantiate<T>(T, Transform, bool)
    Object.Destroy(Object, float)
    Object.Destroy(Object)
    Object.DestroyImmediate(Object, bool)
    Object.DestroyImmediate(Object)
    Object.FindObjectsOfType(Type)
    Object.FindObjectsOfType(Type, bool)
    Object.FindObjectsByType(Type, FindObjectsSortMode)
    Object.FindObjectsByType(Type, FindObjectsInactive, FindObjectsSortMode)
    Object.DontDestroyOnLoad(Object)
    Object.DestroyObject(Object, float)
    Object.DestroyObject(Object)
    Object.FindSceneObjectsOfType(Type)
    Object.FindObjectsOfTypeIncludingAssets(Type)
    Object.FindObjectsOfType<T>()
    Object.FindObjectsByType<T>(FindObjectsSortMode)
    Object.FindObjectsOfType<T>(bool)
    Object.FindObjectsByType<T>(FindObjectsInactive, FindObjectsSortMode)
    Object.FindObjectOfType<T>()
    Object.FindObjectOfType<T>(bool)
    Object.FindFirstObjectByType<T>()
    Object.FindAnyObjectByType<T>()
    Object.FindFirstObjectByType<T>(FindObjectsInactive)
    Object.FindAnyObjectByType<T>(FindObjectsInactive)
    Object.FindObjectsOfTypeAll(Type)
    Object.FindObjectOfType(Type)
    Object.FindFirstObjectByType(Type)
    Object.FindAnyObjectByType(Type)
    Object.FindObjectOfType(Type, bool)
    Object.FindFirstObjectByType(Type, FindObjectsInactive)
    Object.FindAnyObjectByType(Type, FindObjectsInactive)
    Object.ToString()
    Object.name
    Object.hideFlags
    object.Equals(object, object)
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Unity.PolySpatial
    Assembly: Unity.PolySpatial.dll
    Syntax
    [Icon("Camera Gizmo")]
    [DisallowMultipleComponent]
    public class VolumeCamera : MonoBehaviour
    Remarks

    In bounded mode, a "volume camera" captures content within an oriented bounding box (OBB) and transforms this content to a "canonical volume," similar to the canonical view volume of a regular camera: a unit box centered at the origin. Typically, this content is then displayed on a host by a corresponding "volume renderer", by mapping this canonical volume out to the host volume renderer's own, distinct OBB. The effect is that 3D content within the volume camera's bounds is transformed, rotated, stretched and/or squashed to fill the volume renderer's bounds.

    In unbounded mode, everything works similar, except that the volume camera and volume renderer each define an unbounded 3-space rather than a bounded 3-space volume.

    In metal mode, most of the properties of the VolumeCamera are not used. Instead, the scene is rendered by the main scene camera (in stereo).

    You can only have one volume camera in unbounded or metal mode at the same time. You can have multiple bounded volume cameras in addition to a volume camera in unbounded or metal mode.

    Fields

    OpenWindowOnLoad

    If true, a window is automatically opened for this volume camera when loaded. If false, the window must be opened manually via OpenWindow().

    Declaration
    [Tooltip("If true, a window is automatically opened for this volume camera when loaded. If false, the window must be opened manually via OpenWindow().")]
    public bool OpenWindowOnLoad
    Field Value
    Type Description
    bool

    ViewpointChanged

    An event that is triggered when the user changes position, with respect to the volume's position. Granularity is limited to the 4 sides of the volume - left, right, forward, and back. The event is only triggered when the user is facing the volume.

    Declaration
    [Tooltip("An event that is triggered when the user's viewpoint of the volume changes.")]
    public UnityEvent<VolumeCamera.Viewpoint> ViewpointChanged
    Field Value
    Type Description
    UnityEvent<VolumeCamera.Viewpoint>

    WindowStateChanged

    An event that is triggered when this volume camera's window changes state. Changing states can mean window actions such as the window opening or the window becoming unfocused.

    Declaration
    [Tooltip("An event that is triggered when this volume camera's window changes state.")]
    public UnityEvent<VolumeCamera, VolumeCamera.WindowState> WindowStateChanged
    Field Value
    Type Description
    UnityEvent<VolumeCamera, VolumeCamera.WindowState>

    Properties

    CullingMask

    Only objects in the selected layers will be visible inside this Volume Camera.

    Declaration
    public LayerMask CullingMask { get; set; }
    Property Value
    Type Description
    LayerMask

    Dimensions

    Defines the (unscaled) size of the camera's bounding box. The box is centered at the position of the VolumeCamera’s transform.

    Declaration
    public Vector3 Dimensions { get; set; }
    Property Value
    Type Description
    Vector3
    Remarks

    The effective, world space dimensions of the bounding box are calculated by multiplying the Dimensions by the transform's scale.

    When you set the volume camera Mode to Bounded, the camera only displays GameObjects within the scaled bounding box. A bounding box is not used when you set the Mode to Unbounded.

    OutputDimensions

    The dimensions in meters of the actual output size of the volume camera. May be different than Dimensions, in which case the space described by Dimensions is scaled to fit the OutputDimensions.

    Declaration
    public Vector3 OutputDimensions { get; }
    Property Value
    Type Description
    Vector3

    ScaleWithWindow

    Determines whether content scales with the volume's output dimensions. Ignored if the volume camera is displayed in an Unbounded output.

    Declaration
    public bool ScaleWithWindow { get; set; }
    Property Value
    Type Description
    bool
    Remarks

    This toggle controls whether content will scale to fit within the volume. If false, objects will not scale with the output window. If this should result in an object larger than the volume's output dimensions, it will be subject to GPU clipping as normal.

    VolumeSpaceToWorldSpaceMatrix

    A matrix that translates from the unit cube at origin canonical volume space back into the world space of the volume camera.

    Declaration
    public Matrix4x4 VolumeSpaceToWorldSpaceMatrix { get; }
    Property Value
    Type Description
    Matrix4x4

    WindowConfiguration

    The output Volume Camera Window Configuration object for this volume camera, or None for default. Create new volume camera configurations via the Asset Create menu.

    Declaration
    public VolumeCameraWindowConfiguration WindowConfiguration { get; set; }
    Property Value
    Type Description
    VolumeCameraWindowConfiguration

    WindowFocused

    Returns true if a window that is showing the contents of this volume camera is focused.

    Declaration
    public bool WindowFocused { get; }
    Property Value
    Type Description
    bool

    WindowMode

    The mode this volume camera will display its content in, Bounded or Unbounded.

    Declaration
    public VolumeCamera.PolySpatialVolumeCameraMode WindowMode { get; }
    Property Value
    Type Description
    VolumeCamera.PolySpatialVolumeCameraMode

    WindowOpen

    Returns true if a window is open and showing the contents of this volume camera.

    Declaration
    public bool WindowOpen { get; }
    Property Value
    Type Description
    bool

    WorldSpaceToVolumeSpaceMatrix

    A matrix that translates from world space into the unit cube at origin canonical volume space.

    Declaration
    public Matrix4x4 WorldSpaceToVolumeSpaceMatrix { get; }
    Property Value
    Type Description
    Matrix4x4

    Methods

    CloseWindow()

    Request that the OS close the window that is showing the contents of this volume camera. Does nothing if the window is not open.

    Declaration
    public void CloseWindow()

    OpenWindow()

    Request that a window is opened to show the contents of this volume camera. Does nothing if the window is already open.

    Declaration
    public void OpenWindow()

    Events

    ImmersionChanged

    Called when the user interacts with the crown dial to change the immersion amount of an Unbounded VolumeCamera when the MR ImmersionStyle is set to Progressive. The values indicate the old and new immersion states, both with an initial value of 0.55 before the user interacts with the dial. If a parameter is null, then immersion is disabled.

    Declaration
    public static event Action<double?, double?> ImmersionChanged
    Event Type
    Type Description
    Action<double?, double?>
    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)