NrealFrameSource Class

Description

在场景中将Nreal的输出连接到EasyAR输入的自定义frame source。通过EasyAR Sense的自定义相机功能提供Nreal支持。

这个frame source是一种运动跟踪设备,在 ARSession 中会输出运动数据。

为了使用这个frame source, Nreal SDK For Unity 是必需的。你需要根据官方文档配置Nreal SDK For Unity。

在可用性检查中, NrealFrameSource.CameraRig 是需要的,如果没有事先设置,会自动从场景物体中选择。


MonoBehaviour Messages

protected override void Awake()

protected override void OnEnable()

protected override void OnDisable()

protected override void OnDestroy()

protected virtual void OnApplicationPause(bool pause)


Fields

EnableColorInput

C#

public bool EnableColorInput

是否使用彩色图像作为frame输入。彩色图像在需要录制彩色eif文件的时候可以使用。所有EasyAR算法都不需要使用彩色图像。


Properties

IsAvailable

C#

public override Optional<bool> IsAvailable { get; }

当前frame source是否可用。

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

CameraRig

C#

public NRKernal.NRHMDPoseTracker CameraRig { get; set; }

Nreal CameraRig。

WorldRoot

C#

public WorldRootController WorldRoot { get; set; }

相机运动的相对物体,如果没设置,将会自动从场景中获取或生成。

Origin

C#

public override GameObject Origin { get; }

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

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

AvailableCenterMode

C#

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

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

ReceivedFrameCount

C#

public int ReceivedFrameCount { get; protected set; }

从设备获取到的帧计数。通常在debug中使用。如果这个数值停止增长,通常是硬件问题,某些设备(比如Nreal)重新插拔可能能解决。

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后无法修改。


Methods

CheckAvailability

C#

public override System.Collections.IEnumerator CheckAvailability()

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