MLMeshingSettings GetMeshingSettings() { var flags = MLMeshingFlags.IndexOrderCCW; if (computeNormals) { flags |= MLMeshingFlags.ComputeNormals; } if (requestVertexConfidence) { flags |= MLMeshingFlags.ComputeConfidence; } if (planarize) { flags |= MLMeshingFlags.Planarize; } if (removeMeshSkirt) { flags |= MLMeshingFlags.RemoveMeshSkirt; } if (meshType == MeshType.PointCloud) { flags |= MLMeshingFlags.PointCloud; } var settings = new MLMeshingSettings { flags = flags, fillHoleLength = fillHoleLength, disconnectedComponentArea = disconnectedComponentArea, }; return(settings); }
void UpdateSettings() { UpdateBatchSize(); var settings = GetMeshingSettings(); MeshingSettings.meshingSettings = settings; m_SettingsDirty = false; #if UNITY_EDITOR m_CachedSettings = settings; #endif }
/// <summary> /// Sets the Magic Leap Mesh settings based on the profile assigned. /// </summary> protected override void ReadProfile() { base.ReadProfile(); MagicLeapSpatialAwarenessMeshObserverProfile profile = ConfigurationProfile as MagicLeapSpatialAwarenessMeshObserverProfile; if (profile == null) { Debug.LogWarning($" Use the `MagicLeapSpatialAwarenessMeshObserverProfile` configuration to set Magic Leap specific meshing settings."); //Magic Leap Default Meshing Settings var defaultFlags = MLMeshingFlags.IndexOrderCCW; defaultFlags |= MLMeshingFlags.RemoveMeshSkirt; var defaultsettings = new MLMeshingSettings { flags = defaultFlags, fillHoleLength = 1, disconnectedComponentArea = .25f }; MeshingSettings.meshingSettings = defaultsettings; MeshingSettings.batchSize = 16; return; } //Magic Leap Meshing Settings var flags = MLMeshingFlags.IndexOrderCCW; if (profile.RemoveMeshSkirt) { flags |= MLMeshingFlags.RemoveMeshSkirt; } if (profile.RequestVertexConfidence) { flags |= MLMeshingFlags.ComputeConfidence; } if (profile.Planarize) { flags |= MLMeshingFlags.Planarize; } var settings = new MLMeshingSettings { flags = flags, fillHoleLength = profile.FillHoleLength, disconnectedComponentArea = profile.DisconnectedComponentArea }; MeshingSettings.meshingSettings = settings; MeshingSettings.batchSize = profile.BatchSize; }
void UpdateSettings() { DestroyAllMeshes(); UpdateBatchSize(); var settings = GetMeshingSettings(); MeshingSettings.meshingSettings = settings; MeshingSettings.density = density; m_SettingsDirty = false; #if UNITY_EDITOR m_CachedSettings = settings; m_CachedDensity = density; #endif }
public static void UnityMagicLeap_MeshingUpdateSettings(MLMeshingSettings newSettings) { }