CameraDeviceBaseBehaviour Class

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

boolHorizontalFlip (since 1.3.0)

Public Fields

CameraDevice.DeviceCameraDeviceType
floatCameraFPS
Vector2CameraSize
boolCaptureWhenStart
CameraDeviceDevice

Public Functions

voidClose()
voidOpenAndStart()
boolStartCapture()
boolStopCapture()

Public Events

event Action<CameraDeviceBaseBehaviour, bool>DeviceStart

Overwritten MonoBahaviour Functions

protected virtual voidOnDestroy()
protected virtual voidStart()

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场景内物体的连接和数据流向,也可以通过更改CameraDeviceType来改变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之后被调用的事件。