diff --git a/Source/Editor/SceneGraph/Actors/StaticModelNode.cs b/Source/Editor/SceneGraph/Actors/StaticModelNode.cs
index 845b4fa35..cfd2c754e 100644
--- a/Source/Editor/SceneGraph/Actors/StaticModelNode.cs
+++ b/Source/Editor/SceneGraph/Actors/StaticModelNode.cs
@@ -1,5 +1,8 @@
// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
+using System;
+using FlaxEditor.Content;
+using FlaxEditor.GUI.ContextMenu;
using FlaxEngine;
namespace FlaxEditor.SceneGraph.Actors
@@ -16,5 +19,32 @@ namespace FlaxEditor.SceneGraph.Actors
: base(actor)
{
}
+
+ ///
+ public override void OnContextMenu(ContextMenu contextMenu)
+ {
+ base.OnContextMenu(contextMenu);
+
+ contextMenu.AddButton("Add mesh collider", OnAddMeshCollider).Enabled = ((StaticModel)Actor).Model != null;
+ }
+
+ private void OnAddMeshCollider()
+ {
+ var model = ((StaticModel)Actor).Model;
+ if (!model)
+ return;
+ Action created = collisionData =>
+ {
+ var actor = new MeshCollider
+ {
+ StaticFlags = Actor.StaticFlags,
+ Transform = Actor.Transform,
+ CollisionData = collisionData,
+ };
+ Editor.Instance.SceneEditing.Spawn(actor, Actor);
+ };
+ var collisionDataProxy = (CollisionDataProxy)Editor.Instance.ContentDatabase.GetProxy();
+ collisionDataProxy.CreateCollisionDataFromModel(model, created);
+ }
}
}