FrameSource Class

Description

抽象frame源,在组装时使用,提供算法所需的frame输入数据。


MonoBehaviour Messages

protected virtual void Awake()

protected virtual void OnEnable()

protected virtual void OnDisable()


Properties

Type

C#

public virtual abstract Optional< InputFrameSourceType > Type { get; }

Frame source类型,一般在设备创建之后才可获取。

IsAvailable

C#

public virtual abstract Optional<bool> IsAvailable { get; }

当前frame source是否可用。

如果数值等于null,需要调用 FrameSource.CheckAvailability ,数值将在 Coroutine 结束后可以访问。这个属性会在 ARComponentPicker 选择frame source的时候使用。

AvailableCenterMode

C#

public virtual IReadOnlyList< ARSession.ARCenterMode > AvailableCenterMode { get; }

该frame source可以使用的中心模式。

Camera

C#

public virtual Camera Camera { get; set; }

在一个 ARSession 中被该frame source使用的 Camera

每种frame source都有自己的方法来检查camera是否可用,设置不可用的camera将会被拒绝。这个属性会在 ARComponentPicker 选择frame source时用来判断frame source是否可用。在这个过程中,如果数值没有设置,一些frame source会从场景中active的物体中自动选择可以使用的 Camera 。你可以在session start前设置可用的 Camera 。如果这个frame source被 ARSession 选用,这个数值将在session ready后无法修改。

Origin

C#

public virtual GameObject Origin { get; }

ARSession 的原点,如果frame source可以输出运动跟踪数据。

每种运动跟踪frame source都有自己的方法来设置包含特定组件的原点物体。如果原点未设置,一些frame source会从场景中active的物体中自动选择可以使用的物体或创建一个新的物体。


Methods

IsCustomCamera

C#

public static bool IsCustomCamera(FrameSource source)

Frame source 是否是自定义相机。

所有用户定义的frame source都是自定义相机。AR Engine、Nreal 及 ARFoundation的支持也是通过自定义实现。

使用定义相机时,个人版每次启动只能使用100秒。

CheckAvailability

C#

public virtual System.Collections.IEnumerator CheckAvailability()

FrameSource.IsAvailable 等于null时用于检查frame source是否可用的 Coroutine