Unity3d之利用Mesh繪製幾何圖形實現

一、創建一個GameObject,並在上面掛兩個組件(MeshFilter、MeshRenderer)  
二、新建個腳本,並掛在剛纔創建的GameObject上  
    using UnityEngine;    using System.Collections;          public class MeshImage : MonoBehaviour { 
         void Start()     { 
    MeshRectangle();     } 
// 創建一個矩形  
    void MeshRectangle()     { 
    MeshFilter mFilter = gameObject.GetComponent();     MeshRenderer mRen = gameObject.GetComponent();  
//矩形的四個頂點座標  








       var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);    














    Vector3[] vertices = new Vector3[4];     vertices[0] = new Vector3(0, 0, 0);     vertices[1] = new Vector3(500, 0, 0);     vertices[2] = new Vector3(500, 500, 0);     vertices[3] = new Vector3(0, 500, 0);  
         //三角形頂點索引  
    int[] triangles = new int[6]{0, 1, 2, 2, 3, 0};  
         //每個頂點的法線      
Vector3[] normals = new Vector3[4];     normals[0] = new Vector3(0, 0, -5);     normals[1] = new Vector3(0, 0, -5);     normals[2] = new Vector3(0, 0, -5);     normals[3] = new Vector3(0, 0, -5);  
         //UV貼圖座標  
    Vector2[] uvs = new Vector2[4];     uvs[0] = new Vector2(0, 0); 








 var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);














    uvs[1] = new Vector2(1, 0);     uvs[2] = new Vector2(1, 1); 
    uvs[3] = new Vector2(0, 1);           //頂點顏  
    Color32[] colors32 = new Color32[4];     colors32[0] = new Color32(255, 0, 0, 255);     colors32[1] = new Color32(255, 0, 0, 255);     colors32[2] = new Color32(255, 0, 0, 255);     colors32[3] = new Color32(255, 0, 0, 255);  
    Mesh mesh = new Mesh();  
    mesh.hideFlags = HideFlags.DontSave;     mesh.vertices = vertices;     mesh.triangles = triangles;     mesh.colors32 = colors32;     mesh.uv = uvs; 
    mesh.normals = normals;          mFilter.mesh = mesh; 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章