- Home /
Save/ Load in Editor created meshes
Hi all,
first sorry for my bad english :)
i have a problem with save and load per editor script created meshes.. I create a Terrain in Editor from heightmap and save them to my assets as .asset, afterwards i split this terrain in many small meshes with only 2 triangles and save them,too! Here the code how i save a mesh:
Mesh newMesh = new Mesh();
newMesh.vertices = Vertices;
newMesh.uv = UV;
newMesh.normals = Normals;
newMesh.triangles = Triangles;
newMesh.RecalculateNormals();
newMesh.RecalculateBounds();
filePath = EditorUtility.SaveFilePanelInProject(
"Save Mesh in Assets",
newTerrainName + "_Mesh"+".asset",
"asset","Please enter a file name to save the Mesh to ");
if(filePath!="")
{
AssetDatabase.CreateAsset(newMesh,filePath);
AssetDatabase.SaveAssets();
}
to save is no problem and i see the new Mesh in my Assets with the mesh Icon... when i drag and drop this mesh in a meshfilter it works fine...
know to my real problem, because i have a lot meshes( 1000 or more ) which i want to save in a array in editor, i want to take all meshes from a folder to save them in this array.. but i dont't know how:
here my code so far:
string currentFolderPath = Application.dataPath + "/"+folderPath;
if(System.IO.Directory.Exists(currentFolderPath))
{
Debug.Log("Directory Exists");
Mesh[] allMeshes;
string[] allObjectNames = System.IO.Directory.GetFiles(currentFolderPath);
allMeshes = new Mesh[allObjectNames.Length];
for(int j = 0; j < allObjectNames.Length;j++)
{
//what i have tried
//Mesh obj = (Mesh)(AssetDatabase.LoadMainAssetAtPath(allObjectNames[j])as Mesh);
//Mesh obj = (Mesh)AssetDatabase.LoadAssetAtPath(allObjectNames[j],typeof(Mesh)
//allMeshes[j] = obj;
}
}
thanks for help..
Stephan
Answer by thienhaflash · Jun 25, 2012 at 03:39 AM
A bit late for the party, anyway, here how i did it :
DirectoryInfo dir = new DirectoryInfo(path);
FileInfo[] info = dir.GetFiles("*.*");
Basically this will give you all the FileInfo of the files in path, you can then loop through and load assets. Tell me if it works for you.
Your answer
Follow this Question
Related Questions
How do I save/restore a procedurally generated mesh in runtime in Unity 5? 2 Answers
Best way to save procedural world/mesh? 0 Answers
Save and Load Works but when we press load more players appear 1 Answer
How should I save the Meshes generated inside a ScriptableObject 1 Answer
Saving and Loading an Object and it's Children in Javascript 2 Answers