Вы можете использовать этот меш сериалайзер http://wiki.unity3d.com/index.php?title=MeshSerializer2
public static void CacheItem(string url, Mesh mesh)
{
string path = Path.Combine(Application.persistentDataPath, url);
byte [] bytes = MeshSerializer.WriteMesh(mesh, true);
File.WriteAllBytes(path, bytes);
}
Это не спасет в папку Asset, так как это один больше не существует во время выполнения. Скорее всего, вы сохраните его на постоянном пути данных, который предназначен для хранения данных на самом деле.
Тогда вы можете получить это просто происходит наоборот:
public static Mesh GetCacheItem(string url)
{
string path = Path.Combine(Application.persistentDataPath, url);
if(File.Exists(path) == true)
{
byte [] bytes = File.ReadAllBytes(path);
return MeshSerialize.ReadMesh(bytes);
}
return null;
}
очень полезный трюк является: просто начать с чем-то в ваших активах, что имеет тривиальную сетку (сделать это в Cheetah3D ... просто коробка, что угодно). Теперь вместо того, чтобы начать с нуля, используйте это как основу - сотрите все вершины и начните с нуля. Фактически сохраняет и фактически перезаписывает актив. Это невероятно сберегающий время трюк - это избавляет вас от всего нецензурного кода. – Fattie