SparseSpatialMapController Class

Description

在场景中由 SparseSpatialMap 跟踪的地图的 MonoBehaviour


Classes

public class SparseSpatialMapController.SparseSpatialMapInfo

稀疏地图信息。

public abstract class SparseSpatialMapController.SourceData

创建target的数据。

public class SparseSpatialMapController.MapManagerSourceData

创建map的MapManager来源。


Properties

PointCloudRenderer

C#

public SparseSpatialMapPointCloudRenderer PointCloudRenderer { get; }

点云渲染器。

Info

C#

public SparseSpatialMapController.SparseSpatialMapInfo Info { get; }

地图信息,仅在 MonoBehaviour .Start之后可用。

PointCloud

C#

public List< Vector3 > PointCloud { get; }

点云数据。仅在 TargetController.TargetFound 之后可用。

Source

C#

public SparseSpatialMapController.SourceData Source { get; set; }

创建map的数据来源。在 MonoBehaviour .Start前修改才有效。

Tracker

C#

public SparseSpatialMapTrackerFrameFilter Tracker { get; set; }

加载target的 SparseSpatialMapTrackerFrameFilter 。如果设为null,map将会被从之前设置的MapWorker中卸载。可随时修改,加载只会在session运行时发生。

IsDirectlyTracked

C#

public bool IsDirectlyTracked { get; }

目标是否被直接跟踪。

ActiveController

C#

public ActiveController ActiveController { get; }

GameObject .activeSelf控制器。

MonoBehaviour .enabled为false可关闭控制。

IsTracked

C#

public bool IsTracked { get; }

目标是否被跟踪。


Events

TargetFound

C#

public event Action TargetFound

找到跟踪目标的事件。

TargetLost

C#

public event Action TargetLost

丢失跟踪目标的事件。


Methods

HitTest

C#

public List< Vector3 > HitTest( Vector2 pointInView)

在当前点云中进行Hit Test,得到距离相机从近到远一条射线上的n(n>=0)个位置坐标。 pointInView 需要被归一化到[0, 1]^2。

仅在 SparseSpatialMapController.IsDirectlyTracked 为true时可用。