ARKitFrameSource Class¶
Description¶
在场景中控制ARKit相机设备( ARKitCameraDevice )的 MonoBehaviour ,在Unity环境下提供功能扩展。
这个frame source是一种运动跟踪设备,在 ARSession 中会输出运动数据。
Fields¶
DesiredFocusMode¶
- C#
public ARKitCameraDeviceFocusMode DesiredFocusMode
期望的对焦模式,在 ARKitFrameSource.DeviceOpened 事件或OnEnable前修改才有效。
注意:受硬件或系统限制,对焦开关在一些设备上可能无效。
Properties¶
enabled¶
- C#
public bool enabled { get; set; }
ARSession 运行时开始/停止采集视频流数据。在session启动后, MonoBehaviour .enabled为true时才会开始采集。
Opened¶
- C#
public bool Opened { get; }
相机是否打开。
SupportedSize¶
- C#
public List< Vector2Int > SupportedSize { get; }
当前设备支持的所有图像大小。仅在 ARKitFrameSource.Opened 为true时可用。
SupportedFrameRate¶
- C#
public List<double> SupportedFrameRate { get; }
当前设备支持的所有帧率。仅在 ARKitFrameSource.Opened 为true时可用。
Size¶
- C#
public Vector2Int Size { get; set; }
当前图像大小。仅在 ARKitFrameSource.Opened 为true时可用。
set会使用 ARKitFrameSource.SupportedSize 中数值最接近的大小。
如果在 FrameRecorder 录制过程中修改了图像大小,录制数据将停止更新,需要关闭之后重新录制。
FrameRate¶
- C#
public double FrameRate { get; set; }
设备的当前帧率。仅在 ARKitFrameSource.Opened 为true时可用。
set会使用 ARKitFrameSource.SupportedFrameRate 中数值最接近的大小。
DesiredSize¶
- C#
public Optional< Vector2Int > DesiredSize { get; set; }
期望的相机图像大小,在 ARKitFrameSource.DeviceOpened 事件前修改才有效。
会使用 ARKitFrameSource.SupportedSize 中数值最接近的大小。未设置将使用默认值。
DesiredFrameRate¶
- C#
public Optional<double> DesiredFrameRate { get; set; }
期望的相机图像帧率,在 ARKitFrameSource.DeviceOpened 事件前修改才有效。
会使用 ARKitFrameSource.SupportedFrameRate 中数值最接近的大小。未设置将使用默认值。
CameraCandidate¶
- C#
public Camera CameraCandidate { get; set; }
ARKitFrameSource.Camera 的备选,仅当未使用Unity XR Origin时有效,如未设置会使用Camera.main。
Events¶
DeviceOpened¶
- C#
public event Action<bool, PermissionStatus , string> DeviceOpened
设备打开的事件,bool值表示是否成功。
DeviceClosed¶
- C#
public event Action DeviceClosed
设备关闭的事件。
Methods¶
Open¶
- C#
public void Open()
打开设备。如果未手动调用 ARKitFrameSource.Open 和 ARKitFrameSource.Close , ARSession 启动后会自动 ARKitFrameSource.Open 。
Close¶
- C#
public void Close()
关闭设备。