// Use this for initialization void Start() { collectedPoints = new Dictionary <IndexedVector3, Color>(); options = new ParallelOptions(); options.MaxDegreeOfParallelism = maxThreadNum; converter.SetupPointScaning(filePath); meshesRoot = new GameObject(); meshesRoot.transform.parent = transform; baker.SetUp(meshesRoot.transform); ChunkedMeshesManager chunkedMeshesManager = meshesRoot.AddComponent <ChunkedMeshesManager>(); chunkedMeshesManager.chunkSize = arranger.ChunkSize; chunkedMeshesManager.chunksParent = meshesRoot; chunkedMeshesManager.indexedObjects = new IndexedGameObjects(); converter.processUp += ConverterProcessUp; converter.allProcessUp += ConverterAllProcessUp; collector.finishCollectingProcess += CollectingProcessUp; arranger.finishArranging += ArrangingProcessUp; arranger.finishProcess += ChunkingProcessUp; slicer.finishProcess += SlicerProcessUp; cuber.finish += CubingProcessUp; baker.finishBaking += MeshesBaked; saver.finishSaving += MeshesSaved; CallConverterProcess(); }
void MeshesBaked(object sender, MeshBaker.FinishBakingArgs args) { stateNow = State.CallSave; chunkedMeshes.Clear(); ChunkedMeshesManager chunkedMeshesManager = meshesRoot.GetComponent <ChunkedMeshesManager>(); chunkedMeshesManager.indexedObjects.Update(cubingProcessingIndex, new List <GameObject>(args.gameObjects)); CallPointsToCube(); }