@@ -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