ARAssembly Class¶
Description¶
AR组件的组装体。它实现了一种对所有EasyAR Sense组件的典型组装。继承这个类并重载部分可以实现更定制化的组装。
+-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .-- .--+
| .
. +---------------------------------------------------------------+ |
| | | .
. | + -> ObjectTracker - - - - + | |
| v ' ' | .
. +--> i2FAdapter --> fbFrameFork - - > ImageTracker - - - + ' | |
| | ' ' | .
v | v v | |
FrameSource --> (FrameRecorder) --> iFrameThrottler --> iFrameFork --> i2OAdapter ------------------------------------> oFrameJoin --> oFrameFork --> oFrameBuffer ~~> o
' ^ ^
' ' '
+ - - - - - - - - - - - - - - - - - > SparseSpatialMap - + '
' '
+ - - - - - - - - - - - - - - - - - > SurfaceTracker - - - -+
'
+ - - - - - - - - - - - - - - - - - > DenseSpatialMap ~ ~ > o
'
+ - - - - - - - - - - - - - - - - - > CloudRecognizer ~ ~ > o
Enums¶
public enum ARAssembly.AssembleMode |
组装模式。 |
Fields¶
Camera¶
- C#
public Camera Camera
现实环境中相机设备在虚拟世界中对应的 Camera ,其投影矩阵和位置都将于真实相机对应。
如果 ARSession.AssembleMode == ARAssembly.AssembleMode.Auto ,在组装时会设为 Camera .main。
CameraRoot¶
- C#
public Transform CameraRoot
用于AR渲染的所有 Camera 的根节点的 Transform 。
如果 ARSession.AssembleMode == ARAssembly.AssembleMode.Auto ,在组装时会设为 ARAssembly.Camera 的 Transform 。
RenderCameras¶
- C#
public List< RenderCameraController > RenderCameras
如果 ARSession.AssembleMode == ARAssembly.AssembleMode.Auto ,在组装时会从 ARSession 的 GameObject 的所有子节点中寻找并获取 RenderCameraController 。
FrameSource¶
- C#
public FrameSource FrameSource
Frame数据源。
如果 ARSession.AssembleMode == ARAssembly.AssembleMode.Auto ,在组装时会从 ARSession 的 GameObject 的所有子节点中寻找并获取 FrameSource 。
FrameRecorder¶
- C#
public FrameRecorder FrameRecorder
输入帧录制器。
如果 ARSession.AssembleMode == ARAssembly.AssembleMode.Auto ,在组装时会从 ARSession 的 GameObject 的所有子节点中寻找并获取 FrameSource 。
FrameFilters¶
- C#
public List< FrameFilter > FrameFilters
FrameFilter 的列表。
如果 ARSession.AssembleMode == ARAssembly.AssembleMode.Auto ,在组装时会从 ARSession 的 GameObject 的所有子节点中寻找并获取 FrameFilter 。
Properties¶
Ready¶
- C#
public bool Ready { get; }
组装体可以使用。
RequireWorldCenter¶
- C#
public bool RequireWorldCenter { get; }
组装体是否需要 WorldRootController 。
OutputFrame¶
- C#
public Optional< OutputFrame > OutputFrame { get; }
输出帧。
ExtraBufferCapacity¶
- C#
public int ExtraBufferCapacity { get; set; }
额外需要的设备缓冲容量。如果需要保留OutputFrame/InputFrame或InputFrame中的image超过渲染的一帧,需要增加1。
Display¶
- C#
public IDisplay Display { get; }
内部使用。Assembly使用的显示设备信息。
Methods¶
Dispose¶
- C#
public virtual void Dispose()
销毁资源。
ResetBufferCapacity¶
- C#
public void ResetBufferCapacity()
重置缓冲的容量。
GetBufferRequirement¶
- C#
protected int GetBufferRequirement()
获取当前需要的缓冲容量。
GetFrameFilterCount¶
- C#
protected int GetFrameFilterCount()
获取指定 FrameFilter 的数量。