public void GenerateMeshTerrain() { _objects = new List <ObjectData>(); for (int i = 0; i <= MeshTerrainMeshSourceList.Count - 1; i++) { if (MeshTerrainMeshSourceList[i].MeshRenderer.GetComponent <MeshFilter>().sharedMesh == null) { continue; } ObjectData o = new ObjectData(MeshTerrainMeshSourceList[i].MeshRenderer, (int)MeshTerrainMeshSourceList[i].TerrainSourceID); if (o.IsValid) { _objects.Add(o); } } BVH.Build(ref _objects, out _nodes, out Tris, out _finalPrims); BVH.BuildLbvhData(_nodes, _finalPrims, out MeshTerrainData.lNodes, out MeshTerrainData.lPrims); MeshTerrainData.Bounds = CalculateTerrainBounds(); #if UNITY_EDITOR EditorUtility.SetDirty(MeshTerrainData); #endif //GenerateCellCoverage(); CreateNativeArrays(); VegetationStudioManager.RefreshTerrainArea(TerrainBounds); }
// ReSharper disable once UnusedMember.Local void OnDisable() { _initDone = false; if (AutoAddToVegegetationSystem && Application.isPlaying) { VegetationStudioManager.RemoveTerrain(gameObject); } else { VegetationStudioManager.RefreshTerrainArea(TerrainBounds); } }
// ReSharper disable once UnusedMember.Local void OnEnable() { _initDone = true; //SetTerrainPosition(); if (AutoAddToVegegetationSystem && Application.isPlaying) { VegetationStudioManager.AddTerrain(gameObject, false); } else { VegetationStudioManager.RefreshTerrainArea(TerrainBounds); } }
// ReSharper disable once UnusedMember.Local void OnEnable() { _debugMaterial = Resources.Load("MeshTerrainDebugMaterial", typeof(Material)) as Material; _initDone = true; if (AutoAddToVegegetationSystem && Application.isPlaying) { VegetationStudioManager.AddTerrain(gameObject, false); } else { VegetationStudioManager.RefreshTerrainArea(TerrainBounds); } }
//// ReSharper disable once UnusedMember.Local void OnEnable() { // if (!Heights.IsCreated) LoadHeightData(); //if (_nativeManagedFloatArray == null) LoadHeightData(); RefreshSplatMaps(); _initDone = true; if (AutoAddToVegegetationSystem && Application.isPlaying) { AddTerrainToVegetationSystem(); } else { VegetationStudioManager.RefreshTerrainArea(TerrainBounds); } }
public void RefreshTerrainArea() { VegetationStudioManager.RefreshTerrainArea(TerrainBounds); }
public void RefreshTerrain(Bounds bounds) { VegetationStudioManager.RefreshTerrainArea(bounds); VegetationStudioManager.ClearCache(bounds); }