Class MLSpatialMapper
Monobehaviour representing the Magic Leap Spatial mapper
Inherited Members
Namespace: UnityEngine.XR.MagicLeap
Syntax
[AddComponentMenu("AR/Magic Leap/ML Spatial Mapper")]
[DisallowMultipleComponent]
public sealed class MLSpatialMapper : MonoBehaviour
Properties
batchSize
How many meshes to update per batch. Larger values are more efficient, but have higher latency.
Declaration
public int batchSize { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
computeNormals
When enabled, the system will compute the normals for the triangle vertices.
Declaration
public bool computeNormals { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
currentMeshType
The current mesh type being surfaced by the subsystem provider.
Declaration
public MLSpatialMapper.MeshType currentMeshType { get; }
Property Value
Type | Description |
---|---|
MLSpatialMapper.MeshType |
density
Getter/Setter for the density property
Declaration
public float density { get; set; }
Property Value
Type | Description |
---|---|
Single |
disconnectedComponentArea
Any component that is disconnected from the main mesh and which has an area less than this size will be removed.
Declaration
public float disconnectedComponentArea { get; set; }
Property Value
Type | Description |
---|---|
Single |
fillHoleLength
Boundary distance (in meters) of holes you wish to have filled.
Declaration
public float fillHoleLength { get; set; }
Property Value
Type | Description |
---|---|
Single |
levelOfDetail
TODO: Remove as this is no longer valid
Declaration
[Obsolete("Replaced by density")]
public MLSpatialMapper.LevelOfDetail levelOfDetail { get; set; }
Property Value
Type | Description |
---|---|
MLSpatialMapper.LevelOfDetail |
meshIdToGameObjectMap
A Dictionary
which maps mesh ids to their GameObject
s.
Declaration
public Dictionary<MeshId, GameObject> meshIdToGameObjectMap { get; }
Property Value
Type | Description |
---|---|
Dictionary<MeshId, GameObject> |
meshParent
The parent transform for generated meshes.
Declaration
public Transform meshParent { get; set; }
Property Value
Type | Description |
---|---|
Transform |
meshPrefab
Get or set the prefab which should be instantiated to create individual mesh instances. May have a mesh renderer and an optional mesh collider for physics.
Declaration
public GameObject meshPrefab { get; set; }
Property Value
Type | Description |
---|---|
GameObject |
meshQueueSize
Controls the number of meshes to queue for generation at once. Larger numbers will lead to higher CPU usage.
Declaration
public uint meshQueueSize { get; set; }
Property Value
Type | Description |
---|---|
UInt32 |
meshType
Whether to generate a triangle mesh or point cloud points. TODO: Remove this method
Declaration
[Obsolete("Replaced by requestedMeshType and currentMeshType")]
public MLSpatialMapper.MeshType meshType { get; set; }
Property Value
Type | Description |
---|---|
MLSpatialMapper.MeshType |
planarize
When enabled, the system will planarize the returned mesh (planar regions will be smoothed out).
Declaration
public bool planarize { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
pollingRate
How often to check for updates, in seconds. More frequent updates will increase CPU usage.
Declaration
public float pollingRate { get; set; }
Property Value
Type | Description |
---|---|
Single |
removeMeshSkirt
When enabled, the mesh skirt (overlapping area between two mesh blocks) will be removed. This field is only valid when the Mesh Type is Blocks.
Declaration
public bool removeMeshSkirt { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
requestedMeshType
Request Magic Leap to generate a triangle mesh or point cloud points.
Declaration
public MLSpatialMapper.MeshType requestedMeshType { get; set; }
Property Value
Type | Description |
---|---|
MLSpatialMapper.MeshType |
requestVertexConfidence
When enabled, the system will generate confidence values for each vertex, ranging from 0-1.
Declaration
public bool requestVertexConfidence { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
See Also
Methods
DensityToLevelOfDetail(Single)
Step the Level of detail to Minimum, Medium and Maximum
Declaration
public static MLSpatialMapper.LevelOfDetail DensityToLevelOfDetail(float density)
Parameters
Type | Name | Description |
---|---|---|
Single | density | float input value |
Returns
Type | Description |
---|---|
MLSpatialMapper.LevelOfDetail |
DestroyAllMeshes()
Destroy all mesh GameObject
s created by this MLSpatialMapper.
The meshIdToGameObjectMap will also be cleared.
Declaration
public void DestroyAllMeshes()
LevelOfDetailToDensity(MLSpatialMapper.LevelOfDetail)
Convert a LevelOfDetail to a float, ranged between 0 and 1
Declaration
public static float LevelOfDetailToDensity(MLSpatialMapper.LevelOfDetail lod)
Parameters
Type | Name | Description |
---|---|---|
MLSpatialMapper.LevelOfDetail | lod | Level of detail |
Returns
Type | Description |
---|---|
Single | Float value between 0 and 1 |
RefreshAllMeshes()
'Refresh' all known meshes (meshes that are in meshIdToGameObjectMap). This will force all meshes to be regenerated with the current settings.
Declaration
public void RefreshAllMeshes()
RefreshMesh(MeshId)
'Refresh' a single mesh. This forces the mesh to be regenerated with the current settings.
Declaration
public void RefreshMesh(MeshId meshId)
Parameters
Type | Name | Description |
---|---|---|
MeshId | meshId | The |
TryGetConfidence(MeshId, List<Single>)
Retrieve the confidence values associated with a mesh. Confidence values range from 0..1. requestVertexConfidence must be enabled.
Declaration
public bool TryGetConfidence(MeshId meshId, List<float> confidenceOut)
Parameters
Type | Name | Description |
---|---|---|
MeshId | meshId | The unique |
List<Single> | confidenceOut | A |
Returns
Type | Description |
---|---|
Boolean | True if confidence values were successfully retrieved for the mesh with id |
See Also
Events
meshAdded
An event which is invoked whenever a new mesh is added
Declaration
public event Action<MeshId> meshAdded
Event Type
Type | Description |
---|---|
Action<MeshId> |
meshRemoved
An event which is invoked whenever an existing mesh is removed.
Declaration
public event Action<MeshId> meshRemoved
Event Type
Type | Description |
---|---|
Action<MeshId> |
meshUpdated
An event which is invoked whenever an existing mesh is updated (regenerated).
Declaration
public event Action<MeshId> meshUpdated
Event Type
Type | Description |
---|---|
Action<MeshId> |