diff --git a/Source/Engine/Terrain/TerrainPatch.cpp b/Source/Engine/Terrain/TerrainPatch.cpp index f986cf791..d51745e55 100644 --- a/Source/Engine/Terrain/TerrainPatch.cpp +++ b/Source/Engine/Terrain/TerrainPatch.cpp @@ -110,6 +110,8 @@ void TerrainPatch::Init(Terrain* terrain, int16 x, int16 z) TerrainPatch::~TerrainPatch() { + if (HasCollision()) + DestroyCollision(); #if TERRAIN_EDITING SAFE_DELETE(_dataHeightmap); for (int32 i = 0; i < TERRAIN_MAX_SPLATMAPS_COUNT; i++) @@ -117,12 +119,6 @@ TerrainPatch::~TerrainPatch() SAFE_DELETE(_dataSplatmap[i]); } #endif -#if TERRAIN_USE_PHYSICS_DEBUG - SAFE_DELETE_GPU_RESOURCE(_debugLines); -#endif -#if USE_EDITOR - SAFE_DELETE_GPU_RESOURCE(_collisionTrianglesBuffer); -#endif } RawDataAsset* TerrainPatch::GetHeightfield() const