diff --git a/Source/Editor/Windows/Assets/CollisionDataWindow.cs b/Source/Editor/Windows/Assets/CollisionDataWindow.cs
index 4b10be943..8fa32f890 100644
--- a/Source/Editor/Windows/Assets/CollisionDataWindow.cs
+++ b/Source/Editor/Windows/Assets/CollisionDataWindow.cs
@@ -182,7 +182,14 @@ namespace FlaxEditor.Windows.Assets
private class CollisionDataPreview : ModelBasePreview
{
public bool ShowCollisionData = false;
- public Model CollisionWireModel;
+ private int _verticesCount = 0;
+ private int _trianglesCount = 0;
+
+ public void SetVerticesAndTriangleCount(int verticesCount, int triangleCount)
+ {
+ _verticesCount = verticesCount;
+ _trianglesCount = triangleCount;
+ }
///
public CollisionDataPreview(bool useWidgets)
@@ -197,19 +204,9 @@ namespace FlaxEditor.Windows.Assets
{
base.Draw();
- if (ShowCollisionData && CollisionWireModel != null)
+ if (ShowCollisionData)
{
- var lods = CollisionWireModel.LODs;
- var lod = lods[0];
- int triangleCount = 0, vertexCount = 0;
- for (int meshIndex = 0; meshIndex < lod.Meshes.Length; meshIndex++)
- {
- var mesh = lod.Meshes[meshIndex];
- triangleCount += mesh.TriangleCount;
- vertexCount += mesh.VertexCount;
- }
-
- var text = string.Format("\nTriangles: {0:N0}\nVertices: {1:N0}", triangleCount, vertexCount);
+ var text = string.Format("\nTriangles: {0:N0}\nVertices: {1:N0}\nMemory Size: {2:N0} bytes", _trianglesCount, _verticesCount, Asset.MemoryUsage);
var font = Style.Current.FontMedium;
var pos = new Float2(10, 50);
Render2D.DrawText(font, text, new Rectangle(pos + Float2.One, Size), Color.Black);
@@ -284,7 +281,7 @@ namespace FlaxEditor.Windows.Assets
_collisionWiresModel = FlaxEngine.Content.CreateVirtualAsset();
_collisionWiresModel.SetupLODs(new[] { 1 });
}
- Editor.Internal_GetCollisionWires(FlaxEngine.Object.GetUnmanagedPtr(Asset), out var triangles, out var indices, out var _, out var _);
+ Editor.Internal_GetCollisionWires(FlaxEngine.Object.GetUnmanagedPtr(Asset), out var triangles, out var indices, out var triangleCount, out var indicesCount);
if (triangles != null && indices != null)
_collisionWiresModel.LODs[0].Meshes[0].UpdateMesh(triangles, indices);
else
@@ -296,7 +293,7 @@ namespace FlaxEditor.Windows.Assets
}
_collisionWiresShowActor.Model = _collisionWiresModel;
_collisionWiresShowActor.SetMaterial(0, FlaxEngine.Content.LoadAsyncInternal(EditorAssets.WiresDebugMaterial));
- _preview.CollisionWireModel = _collisionWiresModel;
+ _preview.SetVerticesAndTriangleCount(triangleCount, indicesCount / 3);
_preview.Asset = FlaxEngine.Content.LoadAsync(_asset.Options.Model);
}