Unity3d修炼之路:用Mesh绘制一个Cube
2016-02-18 13:53
459 查看
#pragma strict function Awake(){ var pMeshFilter : MeshFilter = gameObject.AddComponent(typeof(MeshFilter)) as MeshFilter;//网格过滤器 var pMeshRender : MeshRenderer = gameObject.AddComponent(typeof(MeshRenderer)) as MeshRenderer;//网格渲染 var pMesh : Mesh = pMeshFilter.mesh as Mesh; //网格过滤器的实例化的Mesh //u3d中绘制图形都是三角形绘制法。顺时针。所以先记录全部的点,然后在确定三角形绘制的顺序 var pVector : Vector3 [] = new Vector3[36]; var pTriangles : int [] = new int[pVector.length]; //forword pVector[0] = new Vector3(0.0f,0.0f,0.0f); pVector[1] = new Vector3(0.0f,1.0f,0.0f); pVector[2] = new Vector3(1.0f,0.0f,0.0f); pVector[3] = new Vector3(1.0f,0.0f,0.0f); pVector[4] = new Vector3(0.0f,1.0f,0.0f); pVector[5] = new Vector3(1.0f,1.0f,0.0f); //back pVector[6] = new Vector3(0.0f,0.0f,1.0f); pVector[7] = new Vector3(0.0f,1.0f,1.0f); pVector[8] = new Vector3(1.0f,0.0f,1.0f); pVector[9] = new Vector3(1.0f,0.0f,1.0f); pVector[10] = new Vector3(0.0f,1.0f,1.0f); pVector[11] = new Vector3(1.0f,1.0f,1.0f); //left pVector[12] = new Vector3(0.0f,0.0f,0.0f); pVector[13] = new Vector3(0.0f,0.0f,1.0f); pVector[14] = new Vector3(0.0f,1.0f,1.0f); pVector[15] = new Vector3(0.0f,1.0f,1.0f); pVector[16] = new Vector3(0.0f,1.0f,0.0f); pVector[17] = new Vector3(0.0f,0.0f,0.0f); //right pVector[18] = new Vector3(1.0f,0.0f,0.0f); pVector[19] = new Vector3(1.0f,0.0f,1.0f); pVector[20] = new Vector3(1.0f,1.0f,0.0f); pVector[21] = new Vector3(1.0f,1.0f,0.0f); pVector[22] = new Vector3(1.0f,0.0f,1.0f); pVector[23] = new Vector3(1.0f,1.0f,1.0f); //up pVector[24] = new Vector3(0.0f,1.0f,0.0f); pVector[25] = new Vector3(0.0f,1.0f,1.0f); pVector[26] = new Vector3(1.0f,1.0f,0.0f); pVector[27] = new Vector3(1.0f,1.0f,0.0f); pVector[28] = new Vector3(0.0f,1.0f,1.0f); pVector[29] = new Vector3(1.0f,1.0f,1.0f); //down pVector[30] = new Vector3(0.0f,0.0f,0.0f); pVector[31] = new Vector3(0.0f,0.0f,1.0f); pVector[32] = new Vector3(1.0f,0.0f,0.0f); pVector[33] = new Vector3(1.0f,0.0f,0.0f); pVector[34] = new Vector3(0.0f,0.0f,1.0f); pVector[35] = new Vector3(1.0f,0.0f,1.0f); for(var nIndex : int = 0; nIndex < pTriangles.length;++nIndex){ pTriangles[nIndex] =nIndex; } pMesh.Clear(); pMesh.vertices = pVector;//网格顶点 pMesh.triangles = pTriangles;//三角形 pMesh.RecalculateBounds(); }
相关文章推荐
- unity shader 可编程管线(二) 顶点和片段着色器(Vertex Shader and Fragmet Shader)
- unity shader 可编程管线(一) 表面着色器SurfaceShader
- Unity3d,获取GPS定位信息
- unity shader 固定管线实例(六) 透明度测试剔除尖锐边缘的模糊处理
- Unity读取本地文本txt的研究一
- 猫都能学会的Unity3D Shader入门指南(一)
- Unity3d,调用摄像头显示
- unity3d深入学习笔记5:内存释放
- unity3d深入学习笔记6:发布Android apk
- Unity在移动平台中的文件操作路径详解
- Unity中的Path对应各平台中的Path
- unity shader 固定管线实例(五) 简单的玻璃效果
- Unity Invoke("方法名",延迟时间)
- unity shader 固定管线实例(四) 渲染不一样的背面
- unity shader 固定管线实例(三) 光照 自发光混合 纹理混合
- [Unity3D]C# 调用C++ DLL
- unity, standard shader消耗两个draw call
- Unity知识二:显示和隐藏游戏对象
- 使用MonoBehaviour创建xml文件
- Unity知识一:简单的点击事件