Skip to content

Commit 158fc3e

Browse files
authored
add back saving mesh selection as model (#3665)
1 parent 675f550 commit 158fc3e

1 file changed

Lines changed: 13 additions & 1 deletion

File tree

game/addons/tools/Code/Scene/Mesh/Tools/MeshSelection.UI.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ public MeshSelectionWidget( SerializedObject so, MeshSelection tool ) : base()
4040
CreateButton( "Set Origin To Pivot", "gps_fixed", "mesh.set-origin-to-pivot", SetOriginToPivot, _meshes.Length > 0, grid );
4141
CreateButton( "Center Origin", "center_focus_strong", "mesh.center-origin", CenterOrigin, _meshes.Length > 0, grid );
4242
CreateButton( "Merge Meshes", "join_full", "mesh.merge-meshes", MergeMeshes, _meshes.Length > 1, grid );
43-
CreateButton( "Bake Scale", "straighten", "mesh.bake-scale", BakeScale, _meshes.Length > 0, grid );
43+
CreateButton( "Bake Scale", "straighten", null, BakeScale, _meshes.Length > 0, grid );
44+
CreateButton( "Save To Model", "save", null, SaveToModel, _meshes.Length > 0, grid );
4445

4546
grid.AddStretchCell();
4647

@@ -206,5 +207,16 @@ static void BakeScale( MeshComponent meshComponent )
206207
meshComponent.Mesh.Scale( scale );
207208
meshComponent.RebuildMesh();
208209
}
210+
211+
void SaveToModel()
212+
{
213+
if ( _meshes.Length == 0 ) return;
214+
215+
var targetPath = EditorUtility.SaveFileDialog( "Create Model..", "vmdl", "" );
216+
if ( targetPath is null ) return;
217+
218+
var meshes = _meshes.Select( x => x.Mesh ).ToArray();
219+
EditorUtility.CreateModelFromPolygonMeshes( meshes, targetPath );
220+
}
209221
}
210222
}

0 commit comments

Comments
 (0)