public Mesh(string fileName) { triangles = new List <Triangle>(); parser = new OBJParser(); if (parser.LoadRawModel(fileName)) { this.triangles = parser.triangles; } else { Console.WriteLine("Error while creating mesh"); } }
public static object LoadUncached(string path, Type type) { AssetMetadata metadata; TryGetMapped(path, out metadata, true); if (metadata == null) { goto NoMetadata; } if ((type == Types.Texture || type == Types.Texture2D) && metadata.AssetType == Types.Texture2D) { Texture2D tex = new Texture2D(2, 2); tex.name = path; tex.LoadImage(metadata.Data); return(tex); } if (metadata.AssetType == Types.Meshes && metadata.AssetFormat == "obj") { OBJData data = OBJParser.ParseOBJ(path); if (type == Types.OBJData) { return(data); } else if (type == Types.OBJObject) { return(data.Objects.Count == 0 ? null : data.Objects[0]); } else if (type == Types.Meshes) { return(data.ToMeshes()); } else { return(data.Objects.Count == 0 ? null : data.Objects[0].ToMesh()); } } NoMetadata: return(null); }
private MeshFilter meshFilter; // MeshFilter reference, used to display a Unity Mesh // Start is called before the first frame update void Start() { parser = new OBJParser(); meshFilter = GetComponent <MeshFilter>(); }