SparseSpatialMapController Class¶
Description¶
在场景中控制 SparseSpatialMap 生成的地图的 MonoBehaviour 。
Map info的数据会单独加载,加载会在session成功启动后发生,生命周期中只会完整加载一次,如加载到一半session停止,将在下次session启动后再次加载。
Enums¶
public enum SparseSpatialMapController.ActiveControlStrategy |
GameObject .active的控制策略。 |
public enum SparseSpatialMapController.DataSource |
地图数据来源类型。 |
Classes¶
public class SparseSpatialMapController.SparseSpatialMapInfo |
稀疏地图信息。 |
public class SparseSpatialMapController.MapManagerSourceData |
创建map的MapManager来源。 |
public class SparseSpatialMapController.ParticleParameter |
渲染点云粒子的参数。 |
MonoBehaviour Messages¶
private void Awake() |
private void Start() |
private void OnDestroy() |
Fields¶
PointCloudParticleSystem¶
- C#
public ParticleSystem PointCloudParticleSystem
渲染点云的 ParticleSystem 。
ActiveControl¶
- C#
public SparseSpatialMapController.ActiveControlStrategy ActiveControl
GameObject .active的控制策略。如果你打算自己控制 GameObject .active或是有其它组件在控制 GameObject .active,需要设为 SparseSpatialMapController.ActiveControlStrategy.None 。
SourceType¶
- C#
public SparseSpatialMapController.DataSource SourceType
Map数据来源。在 MonoBehaviour .Start前设置有效。
MapManagerSource¶
- C#
public SparseSpatialMapController.MapManagerSourceData MapManagerSource
创建map的MapManager来源。在 SparseSpatialMapController.SourceType == SparseSpatialMapController.DataSource.MapManager 的时候有效。在 MonoBehaviour .Start前设置有效。
MapInfoSource¶
- C#
public SparseSpatialMapController.SparseSpatialMapInfo MapInfoSource
创建map的MapInfo来源。在 SparseSpatialMapController.SourceType == SparseSpatialMapController.DataSource.MapInfo 的时候有效。在 MonoBehaviour .Start前设置有效。
Properties¶
MapInfo¶
- C#
public SparseSpatialMapController.SparseSpatialMapInfo MapInfo { get; }
地图信息。可以在MapInfoAvailable event之后访问。
MapWorker¶
- C#
public SparseSpatialMapWorkerFrameFilter MapWorker { get; set; }
加载target的 SparseSpatialMapWorkerFrameFilter 。如果设为null,map将会被从之前设置的MapWorker中卸载。可随时修改,加载只会在session运行时发生。
PointCloudParticleParameter¶
- C#
public SparseSpatialMapController.ParticleParameter PointCloudParticleParameter { get; set; }
渲染点云粒子的参数。
PointCloud¶
- C#
public List< Vector3 > PointCloud { get; }
点云数据。
ShowPointCloud¶
- C#
public bool ShowPointCloud { get; set; }
显示或隐藏点云。
IsLocalizing¶
- C#
public bool IsLocalizing { get; }
当前map是否在定位中。
Events¶
MapInfoLoad¶
- C#
public event Action<bool> MapInfoLoad
Map info 数据加载完成(不是加载到tracker中)。
MapLocalized¶
- C#
public event Action MapLocalized
Map 定位到的事件。
MapStopLocalize¶
- C#
public event Action MapStopLocalize
Map停止定位的事件。
Methods¶
HitTest¶
在当前点云中进行Hit Test,得到距离相机从近到远一条射线上的n(n>=0)个位置坐标。 pointInView 需要被归一化到[0, 1]^2。