i want to create a simple mesh procidurally but when i write this code nothing will be shown in gameview
how can i render a small and simple mesh? where is the problem? normals? colors? texture? uvs?
help me please!!! thank you very much
using UnityEngine;
using System.Collections;
public class album : MonoBehaviour
{
public Texture2D tex;
Mesh m;
IEnumerator Start()
{
yield return new WaitForSeconds(1f);
//print ("hello");
m = new Mesh();
m.vertices = new Vector3[5];
m.uv = new Vector2[5];
m.normals = new Vector3[5];
m.normals[0] = new Vector3(0,0,-1); ;
m.normals[1] = new Vector3(0, 0, -1);
m.normals[2] = new Vector3(0, 0, -1);
m.normals[3] = new Vector3(0, 0, -1);
m.normals[4] = new Vector3(0, 1,0);
m.vertices[0].x = 0;
m.vertices[0].y = 0;
m.vertices[0].z = 0;
m.uv[0] = new Vector2 (0,0);
m.vertices[1].x = 1;
m.vertices[1].y = 0;
m.vertices[1].z = 0;
m.uv[1] = new Vector2(1, 0);
m.vertices[2].x = 0;
m.vertices[2].y = -1;
m.vertices[2].z = 0;
m.uv[2] = new Vector2(0, 1);
m.vertices[3].x = 1;
m.vertices[3].y = -1;
m.vertices[3].z = 0;
m.uv[3] = new Vector2(1, 1);
m.vertices[4].x = 0;
m.vertices[4].y = 0;
m.vertices[4].z = 0.3f;
m.uv[4] = new Vector2(1, 1);
m.triangles = new int[9];
m.triangles[0] = 0;
m.triangles[1] = 1;
m.triangles[2] = 2;
m.triangles[3] = 2;
m.triangles[4] = 3;
m.triangles[5] = 1;
m.triangles[6] = 1;
m.triangles[7] = 0;
m.triangles[8] = 4;
m.RecalculateBounds();
MeshFilter mf = (MeshFilter)transform.GetComponent(typeof(MeshFilter));
mf.mesh = m;
renderer.material = new Material(Shader.Find(" Diffuse"));
mf.renderer.material.mainTexture = tex;
}
}
[/code]