Class ThreeDofCameraDeviceFrameSource
- Namespace
- easyar
- Assembly
- EasyAR.Sense.dll
Controls the MonoBehaviour for the 3DOF camera device (ThreeDofCameraDeviceFrameSource) in the scene, providing functional extensions within the Unity environment.
This frame source is a 3DOF rotation tracking device that outputs rotation data in the ARSession.
public class ThreeDofCameraDeviceFrameSource : FrameSource
- Inheritance
-
ThreeDofCameraDeviceFrameSource
- Inherited Members
Fields
DesiredFocusMode
The desired focus mode. Modifications are only effective before the DeviceOpened event or OnEnable.
Note: Due to hardware or system limitations, the focus switch may be ineffective on some devices.
public ThreeDofCameraDeviceFocusMode DesiredFocusMode
Properties
Camera
Providedonlywhencreatinganewframesource.ItisaccessedonlyduringtheAssembleprocessof
Ondesktopdevicesorphones,thiscameracorrespondstothe
protected override Camera Camera { get; }
CameraCandidate
Alternative to Camera, only effective when Unity XR Origin is not used. Uses Camera.main if not set.
public Camera CameraCandidate { get; set; }
CameraFrameStarted
Providedonlywhencreatinganewframesource.Itisaccessedthroughouttheentirelifecycleof
Whetherthecameraframehasstartedinput.
protected override bool CameraFrameStarted { get; }
DesiredSize
Desired camera image size. Modifications are only effective before the DeviceOpened event.
Uses the size closest to the value in SupportedSize. If not set, the default value is used.
public Optional<Vector2Int> DesiredSize { get; set; }
DeviceCameras
Providedonlywhencreatinganewframesource.Itisaccessedwhen
Thedevicecamerathatprovidesthecameraframedata.Ifthecameraframedataisprovidedbymultiplecameras,thelistshouldincludeallofthem.
Ensurethatthevalueiscorrectwhen
protected override List<FrameSourceCamera> DeviceCameras { get; }
Display
Providedonlywhencreatinganewframesource.ItisaccessedonlyduringtheAssembleprocessof
Providesdisplaysysteminformation.Youcanuse
protected override IDisplay Display { get; }
FrameRateRange
Frame rate range. Only available when Opened is true.
public Vector2 FrameRateRange { get; }
IsAvailable
Providedonlywhencreatinganewframesource.ItisaccessedonlyduringtheAssembleprocessof
Whetherthecurrentframesourceisavailable.
Ifthevalueisnull,
protected override Optional<bool> IsAvailable { get; }
IsCameraUnderControl
Providedonlywhencreatinganewframesource.ItisaccessedonlyduringtheAssembleprocessof
Whenthevalueistrue,thesessionwillupdatethecamera'stransformandrenderthecameraimage.
Whencreatingaheadsetextension,itshouldbefalse.Youshouldhavefullcontroloverthe3Dcamerainthescene.Youshouldhandlecamerarendering,especiallyinVSTmode.
protected override bool IsCameraUnderControl { get; }
IsHMD
Providedonlywhencreatinganewframesource.ItisaccessedonlyduringtheAssembleprocessof
Whetherthecurrentframesourceisaheadset.Ifitisaheadset,diagnosticinformationwillbedisplayedona3Dboardinfrontofthecamera.
Someframefiltersmayoperatedifferentlyonthedevice.
protected override bool IsHMD { get; }
Opened
Whetherthecameraisopen.
public bool Opened { get; }
Size
Current image size. Only available when Opened is true.
Set uses the size closest to the value in SupportedSize.
If the image size is modified during FrameRecorder recording, recorded data will stop updating; recording needs to be restarted after closing.
public Vector2Int Size { get; set; }
SupportedSize
All supported image sizes for the current device. Only available when Opened is true.
public List<Vector2Int> SupportedSize { get; }
enabled
Starts/stopscollectingvideostreamdataduring
public bool enabled { get; set; }
Methods
Close()
Closethedevice.
public void Close()
OnSessionStart(ARSession)
Providedonlywhencreatinganewframesource.ItisaccessedonlyduringtheStartSessionprocessof
Handlessessionstartupifthisframesourcehasbeenassembledinto
protected override void OnSessionStart(ARSession session)
Parameters
session
OnSessionStop()
Providedonlywhencreatinganewframesource.Itisaccessedduring
Handlessessionstopifthisframesourcehasbeenassembledinto
protected override void OnSessionStop()
Open()
Opens the device. If Open() and Close() are not called manually, ARSession will automatically call Open() after startup.
public void Open()
Events
DeviceClosed
Theeventfordeviceclosing.
public event Action DeviceClosed
DeviceOpened
Theeventfordeviceopening,whereabooleanvalueindicateswhetheritwassuccessful.
public event Action<bool, PermissionStatus, string> DeviceOpened