/// <summary> /// Unloads a given MeshCluster from the scene. Unloaded Clusters do not take part in sound processing. /// </summary> public void UnloadMeshCluster(SoundToolKitMeshCluster meshCluster) { if (meshCluster != null && meshCluster.Model != null && SoundToolKitManager.Instance != null) { SoundToolKitManager.Instance.StkAudioEngine.Scene.RemoveModel(meshCluster.Model); } meshCluster.OnMeshesModified -= ReloadMeshCluster; meshCluster.ClearInternalModel(); }
internal void ReloadMeshCluster(SoundToolKitMeshCluster meshCluster) { var scene = SoundToolKitManager.Instance.StkAudioEngine.Scene; meshCluster.ClearSerializedData(); if (meshCluster.Model != null) { scene.RemoveModel(meshCluster.Model); meshCluster.ClearInternalModel(); } if (meshCluster.AcousticMeshNames.Any()) { meshCluster.CreateInternalModel(); scene.AddModel(meshCluster.Model); } }