using UnityEngine;
using System.Collections;
public class ShapeScript : MonoBehaviour {
public int indexus = 0;
private bool rotateShape1 = false;
void Start()
{
GameObject go = this.gameObject;
go.AddComponent<MeshRenderer>();
go.renderer.sharedMaterial = new Material(Shader.Find("Diffuse"));
go.renderer.sharedMaterial.color = Color.green;
Mesh newMesh = new Mesh();
go.AddComponent<MeshFilter>().mesh = newMesh;
Vector3[] newVert = newMesh.vertices;
Vector2[] newUV = newMesh.uv;
int[] newTris = newMesh.triangles;
newMesh.vertices = newVert;
newMesh.uv = newUV;
newMesh.triangles = newTris;
newMesh.RecalculateNormals();
}
void Update()
{
/////////////////////////////////////////////////////////////////////////
if(indexus == 1)
{
gameObject.GetComponent<MeshRenderer>();
gameObject.renderer.sharedMaterial.color = Color.green;
Mesh newMesh = GetComponent<MeshFilter>().mesh;
newMesh.Clear();
Vector3[] newVert = newMesh.vertices;
Vector2[] newUV = newMesh.uv;
int[] newTris = newMesh.triangles;
newVert = new Vector3[]
{
new Vector3(0, 2, 0), new Vector3(1, 0, -1), new Vector3(-1, 0, -1),
new Vector3(-1, 0, 1), new Vector3(1, 0, 1), new Vector3(0, 2, 0),
new Vector3(-1, 0, -1), new Vector3(-1, 0, 1), new Vector3(0, 2, 0),
new Vector3(0, 2, 0), new Vector3(1, 0, 1), new Vector3(1, 0, -1),
new Vector3(1, 0, -1), new Vector3(1, 0, 1), new Vector3(-1, 0, -1),
new Vector3(-1, 0, -1), new Vector3(1, 0, 1), new Vector3(-1, 0, 1)
};
newUV = new Vector2[]
{
new Vector2(1, 1), new Vector2(1, 0), new Vector2(0, 0),
new Vector2(1, 1), new Vector2(1, 0), new Vector2(0, 0),
new Vector2(1, 1), new Vector2(1, 0), new Vector2(0, 0),
new Vector2(1, 1), new Vector2(1, 0), new Vector2(0, 0),
new Vector2(1, 1), new Vector2(1, 0), new Vector2(0, 0),
new Vector2(1, 1), new Vector2(1, 0), new Vector2(0, 0)
};
newTris = new int[]
{
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
};
newMesh.vertices = newVert;
newMesh.uv = newUV;
newMesh.triangles = newTris;
newMesh.RecalculateNormals();
indexus = 0;
rotateShape1 = true;
}
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
if(indexus == 2)
{
gameObject.GetComponent<MeshRenderer>();
gameObject.renderer.sharedMaterial.color = Color.yellow;
Mesh newMesh = GetComponent<MeshFilter>().mesh;
newMesh.Clear();
Vector3[] newVert = newMesh.vertices;
Vector2[] newUV = newMesh.uv;
int[] newTris = newMesh.triangles;
newVert = new Vector3[]
{
new Vector3(-1, 0, -1), new Vector3(1, 0, -1), new Vector3(0, 0, -3),
new Vector3(0, 0, 3), new Vector3(1, 0, 1), new Vector3(-1, 0, 1),
new Vector3(-3, 0, 0), new Vector3(-1, 0, 1), new Vector3(-1, 0, -1),
new Vector3(1, 0, -1), new Vector3(1, 0, 1), new Vector3(3, 0, 0),
new Vector3(-1, 0, -1), new Vector3(1, 0, 1), new Vector3(1, 0, -1),
new Vector3(-1, 0, 1), new Vector3(1, 0, 1), new Vector3(-1, 0, -1)
};
newUV = new Vector2[]
{
new Vector2(1, 1), new Vector2(1, 0), new Vector2(0, 0),
new Vector2(1, 1), new Vector2(1, 0), new Vector2(0, 0),
new Vector2(1, 1), new Vector2(1, 0), new Vector2(0, 0),
new Vector2(1, 1), new Vector2(1, 0), new Vector2(0, 0),
new Vector2(1, 1), new Vector2(1, 0), new Vector2(0, 0),
new Vector2(1, 1), new Vector2(1, 0), new Vector2(0, 0)
};
newTris = new int[]
{
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
};
newMesh.vertices = newVert;
newMesh.uv = newUV;
newMesh.triangles = newTris;
newMesh.RecalculateNormals();
indexus = 0;
rotateShape1 = true;
}
/////////////////////////////////////////////////////////////////////
if(rotateShape1)
gameObject.transform.Rotate(0, 100 * Time.deltaTime, 0);
}
void OnGUI()
{
if(GUI.Button(new Rect(10, 10, 100, 40), "Click me" ))
{
indexus = 1;
}
if(GUI.Button(new Rect(120, 10, 100, 40), "Click me 2" ))
{
indexus = 2;
}
}
}