怎么绘制属于自己网格信息
来源:互联网 发布:vb编程入门视频教程 编辑:程序博客网 时间:2024/05/01 21:33
unity里面一个物体要渲染出来 需要两个组件 一个是MeshFilter 一个是MeshRender
一个mesh 想要绘制出来需要设置的信息:
//这两个是必须的
vertices : 定点坐标
tangents: 三角形坐标索引
//可有可无的
uv: uv贴图
tangents : 法线贴图 左下角是 0,0点 最大是 1,1 点
tangents:
在unity中是顺时针存储,如果逆时针的话 只能在物体内部看见
//绘制过程:
1,绘制顶点坐标
2,根据顶点坐标设置三角形3个顶点坐标
3,设置UV
4,设置发现
//后面两部并不是都需要
private Vector3[] vertices; public int xSize = 10; public int ySize = 5; private Mesh mesh; void Awake() { Generate(); } private void Generate() { this.GetComponent<MeshFilter>().mesh = mesh = new Mesh(); vertices = new Vector3[(xSize + 1) * (ySize + 1)]; //法线信息 Vector4[] tangents = new Vector4[vertices.Length]; Vector4 tangent = new Vector4(1f, 0f, 0f, -1f); Vector2[] uv = new Vector2[vertices.Length]; //控制UV贴图 for (int i = 0, y = 0; y <= ySize; y++) { for (int x = 0; x <= xSize; x++, i++) { vertices[i] = new Vector3(x + 1, y + 1); //yield return wait; uv[i] = new Vector2(x/(float)xSize, y/(float) ySize); tangents[i] = tangent; } } mesh.vertices = vertices; mesh.uv = uv; mesh.tangents = tangents; ////设置三角形定点信息 //int[] triangles = new int[6]; //triangles[0] = 0; //triangles[1] = xSize + 1; //triangles[2] = 1; ////绘制第二个三角形 //triangles[3] = xSize +1; //triangles[4] = xSize + 2; //triangles[5] = 1; //mesh.triangles = triangles; int[] triangles = new int[xSize * ySize * 6];// 一个方形两个三角形 6个定点信息 for (int ti = 0, vi = 0, y = 0; y < ySize; y++, vi++) { for (int x = 0; x < xSize; x++, ti += 6, vi++) { triangles[ti] = vi; triangles[ti + 3] = triangles[ti + 2] = vi + 1; triangles[ti + 4] = triangles[ti + 1] = vi + xSize + 1; triangles[ti + 5] = vi + xSize + 2; } } mesh.triangles = triangles; mesh.RecalculateNormals(); }
0 0
- 怎么绘制属于自己网格信息
- 怎么用几何画板绘制正方形网格
- 怎么创建属于自己的库--Android Studio Gradle Jitpack
- 怎么搭建一个属于自己的 网站(一)
- 怎么打造属于自己的天猫精灵
- WPF中绘制网格
- 用R绘制网格
- c# 绘制网格
- canvas绘制网格
- Canvas绘制网格
- three.js绘制网格
- 只是想有个属于自己的窝,一个简单的窝,怎么就这么难 !!
- 你知道怎么搭建微信公众平台管理吗,2000搭建属于自己的平台
- 属于自己的Blog
- 属于自己的Blog
- 生命,不只属于自己。
- 属于自己的世界
- 属于自己的道路
- Linux 统计文本的单词数
- Linux IP地址配置
- codeforces #373(div 2) E (线段树+矩阵快速幂)
- FTP 常用命令
- 【js设计模式笔记---组合模式】
- 怎么绘制属于自己网格信息
- FileZilla server 启动,添加匿名账户
- ifconfig / ifup /ifdown 命令学习
- JAVA入门第一季-7.JAVA中的注释
- cp 复制文件命令
- 【设计模式】 之 单例模式(含实例)
- Linux删除软连接
- java.lang.ThreadLocal的简单使用
- Linux启动时更改运行级别