void Start() { int n = 0; if (materials == null || materials.Length == 0) { materials = new Material[1]; // make a blank one } // let's make a very low poly one GameObject go = MakeUVSphere.Create(Vector3.one, 10, 10); go.GetComponent <MeshRenderer> ().material = materials [n % materials.Length]; go.transform.position = Vector3.left * 1.4f; go.AddComponent <SpinMeY> (); n++; // and now one that looks good go = MakeUVSphere.Create(Vector3.one, 24, 24); go.GetComponent <MeshRenderer> ().material = materials [n % materials.Length]; go.transform.position = Vector3.right * 1.4f; go.AddComponent <SpinMeY> (); n++; // finally a weird squished one - Aussie rules football anyone? go = MakeUVSphere.Create(new Vector3(0.6f, 1.2f, 1.0f), 32, 32); go.GetComponent <MeshRenderer> ().material = materials [n % materials.Length]; go.transform.position = Vector3.up * 2.2f; go.AddComponent <SpinMeY> (); }
static void Create() { string filePath = EditorUtility.SaveFilePanelInProject("Save Procedural Mesh", "Procedural Mesh", "asset", ""); if (filePath == "") { return; } GameObject go = null; Mesh m = null; m = CreateSimpleSquare(); go = MakeUVSphere.Create(Vector3.one / 2, 16, 16); m = go.GetComponent <MeshFilter>().sharedMesh; AssetDatabase.CreateAsset(m, filePath); GameObject.DestroyImmediate(go); }