docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class VirtualCameraDevice

    A device used to control a virtual camera.

    Inheritance
    object
    VirtualCameraDevice
    Implements
    ITimedDataSource
    Namespace: Unity.LiveCapture.VirtualCamera
    Assembly: Unity.LiveCapture.VirtualCamera.dll
    Syntax
    [AddComponentMenu("")]
    [RequireComponent(typeof(FocusPlaneRenderer))]
    [DisallowMultipleComponent]
    public class VirtualCameraDevice : CompanionAppDevice<IVirtualCameraClient>, ITimedDataSource
    Remarks

    The virtual camera mimics the experience of using a real camera in a Unity scene. The connected client can control most of the state, such as the camera pose and lens settings, but other features like autofocus need to be computed in the editor as it needs to query the scene. The render from the virtual camera in the editor can be streamed to the client to give visual feedback of the camera state, similar to a camera viewfinder. A VirtualCameraActor and a IVirtualCameraClient must be assigned before the device is useful. The actor is needed to store live or evaluated playback state and affect the scene.

    Properties

    Actor

    Gets the VirtualCameraActor currently assigned to this device.

    Declaration
    public VirtualCameraActor Actor { get; set; }
    Property Value
    Type Description
    VirtualCameraActor

    The assigned actor, or null if none is assigned.

    BufferSize

    Declaration
    public int BufferSize { get; set; }
    Property Value
    Type Description
    int

    CameraBody

    The CameraBody of the current device.

    Declaration
    public CameraBody CameraBody { get; }
    Property Value
    Type Description
    CameraBody

    FrameRate

    Declaration
    public FrameRate FrameRate { get; }
    Property Value
    Type Description
    FrameRate

    Id

    Declaration
    public string Id { get; }
    Property Value
    Type Description
    string

    IsSynchronized

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

    Lens

    The Lens of the current device.

    Declaration
    public Lens Lens { get; set; }
    Property Value
    Type Description
    Lens

    LensAsset

    The LensAsset of the current device.

    Declaration
    public LensAsset LensAsset { get; set; }
    Property Value
    Type Description
    LensAsset

    LensIntrinsics

    The LensIntrinsics of the current device.

    Declaration
    public LensIntrinsics LensIntrinsics { get; }
    Property Value
    Type Description
    LensIntrinsics

    MaxBufferSize

    Declaration
    public int? MaxBufferSize { get; }
    Property Value
    Type Description
    int?

    MinBufferSize

    Declaration
    public int? MinBufferSize { get; }
    Property Value
    Type Description
    int?

    Origin

    The position and rotation of the world's origin.

    Declaration
    public Pose Origin { get; }
    Property Value
    Type Description
    Pose

    Pose

    The position and rotation of the current device in world coordinates.

    Declaration
    public Pose Pose { get; }
    Property Value
    Type Description
    Pose

    PresentationOffset

    Declaration
    public FrameTime PresentationOffset { get; set; }
    Property Value
    Type Description
    FrameTime

    Synchronizer

    Declaration
    public ISynchronizer Synchronizer { get; set; }
    Property Value
    Type Description
    ISynchronizer

    Methods

    GetAssetName()

    Gets the name used for the take asset name.

    Declaration
    protected override string GetAssetName()
    Returns
    Type Description
    string

    The name of the asset.

    IsReady()

    Indicates whether a device is ready for recording.

    Declaration
    public override bool IsReady()
    Returns
    Type Description
    bool

    true if ready for recording; otherwise, false.

    LiveUpdate()

    Declaration
    public override void LiveUpdate()

    OnClientAssigned()

    The device calls this method when a new client is assigned.

    Declaration
    protected override void OnClientAssigned()

    OnClientUnassigned()

    The device calls this method when the client is unassigned.

    Declaration
    protected override void OnClientUnassigned()

    OnDisable()

    This function is called when the behaviour becomes disabled.

    Declaration
    protected override void OnDisable()

    OnEnable()

    This function is called when the object becomes enabled and active.

    Declaration
    protected override void OnEnable()

    OnRecordingChanged()

    The device calls this method when the recording state has changed.

    Declaration
    protected override void OnRecordingChanged()

    OnRegisterLiveProperties(IPropertyPreviewer)

    The device calls this method when a live performance starts and properties are about to change.

    Declaration
    protected override void OnRegisterLiveProperties(IPropertyPreviewer previewer)
    Parameters
    Type Name Description
    IPropertyPreviewer previewer

    The IPropertyPreviewer to use to register live properties.

    OnSlateChanged(ISlate)

    The device calls this method when the slate has changed.

    Declaration
    protected override void OnSlateChanged(ISlate slate)
    Parameters
    Type Name Description
    ISlate slate

    The ISlate that changed.

    OnValidate()

    Declaration
    protected virtual void OnValidate()

    PresentAt(Timecode, FrameRate)

    Declaration
    public TimedSampleStatus PresentAt(Timecode timecode, FrameRate frameRate)
    Parameters
    Type Name Description
    Timecode timecode
    FrameRate frameRate
    Returns
    Type Description
    TimedSampleStatus

    TryGetBufferRange(out FrameTime, out FrameTime)

    Declaration
    public bool TryGetBufferRange(out FrameTime oldestSample, out FrameTime newestSample)
    Parameters
    Type Name Description
    FrameTime oldestSample
    FrameTime newestSample
    Returns
    Type Description
    bool

    UpdateClient()

    Called to send the device state to the client.

    Declaration
    public override void UpdateClient()

    UpdateDevice()

    Declaration
    public override void UpdateDevice()

    Write(ITakeBuilder)

    Declaration
    public override void Write(ITakeBuilder takeBuilder)
    Parameters
    Type Name Description
    ITakeBuilder takeBuilder

    Implements

    ITimedDataSource
    In This Article
    Back to top
    Copyright © 2025 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)