WhiteEngine-专注图形渲染与游戏引擎技术的网站

新浪微薄腾讯微薄

最新碎语:暂无碎语

您的位置:WhiteEngine-专注图形渲染与游戏引擎技术的网站 >Shader and Graph> unity代码绘图 mesh生成 图形绘制

unity代码绘图 mesh生成 图形绘制

using UnityEngine;
using System.Collections.Generic;
using System;
public class DrawTest : MonoBehaviour {

    public Transform[] transArr;
    //网格模型顶点数量
    private int VERTICES_COUNT = 8;
    
    void Start ()
    {
        //
        //得到MeshFilter对象,目前是空的。
        MeshFilter meshFilter = (MeshFilter)GameObject.Find("face").GetComponent(typeof(MeshFilter));
        //得到对应的网格对象
        Mesh mesh = meshFilter.mesh;
        
        //三角形顶点的坐标数组
        Vector3[] vertices = new Vector3[VERTICES_COUNT];
        
        //得到三角形的数量
        int triangles_count = VERTICES_COUNT - 2;
        
        //三角形顶点ID数组
        int[] triangles   = new int[triangles_count *3];
        vertices[0] = transArr[0].localPosition;
        vertices[1] = transArr[1].localPosition;
        vertices[2] = transArr[2].localPosition;
        vertices[3] = transArr[3].localPosition;
        vertices[4] = transArr[4].localPosition;
        vertices[5] = transArr[5].localPosition;
        vertices[6] = transArr[6].localPosition;
        vertices[7] = transArr[7].localPosition;
        //绘制三角形
        mesh.vertices = vertices;
        
        //起始三角形顶点
        int start = 0;
        
        //结束三角形的顶点
        int end = 6;
        
//        for(int i = start; i <end; i++)
//        {
//            for(int j = 0; j < 3; j++)
//            {
//                if( i%2 ==0)
//                {
//                    triangles[3*i + j] = i +j;
//                    Debug.LogError((3*i+j).ToString()+":"+(i+j).ToString());
//                }else
//                {
//                    triangles[3*i + j] = i + 2-j;
//                    Debug.LogError((3*i+j).ToString()+":"+(i+2-j).ToString());
//                }
//
//            }
//        }
//        
        triangles[0] = 0;
        triangles[1] = 1;
        triangles[2] = 2;

        triangles[3] = 2;
        triangles[4] = 1;
        triangles[5] = 3;
        triangles[6] = 3;
        triangles[7] = 2;
        triangles[8] = 4;
        triangles[9] = 4;
        triangles[10] = 2;
        triangles[11] = 5;
        triangles[12] = 5;
        triangles[13] = 2;
        triangles[14] = 0;
        mesh.triangles = triangles;
    }
}

---

转载请注明本文标题和链接:《unity代码绘图 mesh生成 图形绘制

分享到:

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交