CameraDeviceBaseBehaviour Class

Inherits: DeviceAbstractBehaviour

Description

CameraDeviceBaseBehaviour是在AR场景中控制CameraDevice的component。

它包含AR链条的入口, OpenAndStart 。

下面这段代码演示了在后置camera在使用并且跟踪也在进行中的情况下,如何动态切换成前置camera。

ARBuilder.Instance.CameraDeviceBehaviours[0].Close();
ARBuilder.Instance.CameraDeviceBehaviours[0].CameraDeviceType = CameraDevice.Device.Front;
ARBuilder.Instance.CameraDeviceBehaviours[0].OpenAndStart();

Public Properties

bool HorizontalFlip (since 1.3.0)

Public Fields

CameraDevice.Device CameraDeviceType float CameraFPS Vector2 CameraSize bool CaptureWhenStart CameraDevice Device

Public Functions

void Close() void OpenAndStart() bool StartCapture() bool StopCapture()

Public Events

event Action<CameraDeviceBaseBehaviour, bool> DeviceStart

Overwritten MonoBahaviour Functions

protected virtual void OnDestroy() protected virtual void Start()

CameraDevice.Device CameraDeviceType

需要打开的设备。它必须在调用OpenAndStart之前被设上才会有效。

float CameraFPS

Camera帧率。它必须在调用OpenAndStart之前被设上才会有效。

Vector2 CameraSize

Camera大小。它必须在调用OpenAndStart之前被设上才会有效。

bool HorizontalFlip (since 1.3.0)

水平翻转标志。如果设置,camera图像相对默认状态会水平翻转。

bool CaptureWhenStart

是否在MonoBehaviour.Start调用的时候打开设备并开始捕获图像。如果为false,你必须调用OpenAndStart来启动整个 AR工作链。

CameraDevice Device

CameraDevice物体。你可以通过Device获得更加高级的控制。详见 CameraDevice

void Close()

关闭camera,整个AR链条将会停止。你可以使用 bind 调用来修改AR场景内物体的连接和数据流向,也可以通过更改CameraDevic eType来改变camera设备。调用OpenAndStart来重新启动整个场景。

void OpenAndStart()

打开类型为CameraDeviceType的设备并立即开始捕获图像。详见 CameraDevice.Open 以及 CameraDevice.Start

这是整个AR场景的起始点。在调用这个方法之前,除了ImageTargetBaseBehaviour.Bind以外的所有连接(所有 bind 调用)必须已经完成。它会使用 bind 方法所建立的连接来启动整个AR场景。

bool StartCapture()

开始捕获图像。详见 CameraDevice.Start

bool StopCapture()

停止捕获图像。所有连接和配置将保持不变。详见 CameraDevice.Stop

event Action<CameraDeviceBaseBehaviour, bool> DeviceStart

OpenAndStart之后被调用的事件。