Unity3d修炼之路:用Mesh绘制一个Cube
#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();
}
Unity3d修炼之路:用Mesh绘制一个Cube的更多相关文章
- 用DirectX12绘制一个Cube
之前一篇文章讲了DirectX12的初始化流程,现在来看看在此基础上如何绘制一个Cube. 首先,我们要为这个Cube准备一个shader,来告诉GPU绘制的具体流程,DirectX中的shader使 ...
- 用DirectX 11绘制一个Cube
之前一篇文章讲了如何初始化DirectX 11,现在在此基础上绘制一个Cube,总体可概括为以下几个步骤: 定义Cube顶点数据结构 创建Vertex Buffer和Index Buffer 编写应用 ...
- Unity3d修炼之路:GUIbutton简单使用,完毕对一个简单对象Cube的移动,旋转
#pragma strict private var m_pCubeObj : GameObject = null; private var m_pMeshFilter : MeshFilter = ...
- Unity3d修炼之路:载入一个预制体,然后为该对象加入组件,然后查找对象,得到组件。
#pragma strict function Awake(){ //载入一个预制体 资源必须在 Resources目录下 Resources.LoadLoad(); //载入后 必须演示样例化 Ga ...
- Unity3d修炼之路:游戏开发中,3d数学知识的练习【1】(不断更新.......)
#pragma strict public var m_pA : Vector3 = new Vector3(2.0f, 4.0f, 0.0f); public var m_pB : Vector3 ...
- Unity3D学习笔记1——绘制一个三角形
目录 1. 绪论 2. 概述 3. 详论 3.1. 准备 3.2. 实现 3.3. 解析 3.3.1. 场景树对象 3.3.2. 绘制方法 4. 结果 1. 绪论 最近想学习一下Unity3d,无奈发 ...
- Unity3D学习笔记2——绘制一个带纹理的面
目录 1. 概述 2. 详论 2.1. 网格(Mesh) 2.1.1. 顶点 2.1.2. 顶点索引 2.2. 材质(Material) 2.2.1. 创建材质 2.2.2. 使用材质 2.3. 光照 ...
- Unity3D学习笔记4——创建Mesh高级接口
目录 1. 概述 2. 详论 3. 其他 4. 参考 1. 概述 在文章Unity3D学习笔记2--绘制一个带纹理的面中使用代码的方式创建了一个Mesh,不过这套接口在Unity中被称为简单接口.与其 ...
- [Modern OpenGL系列(三)]用OpenGL绘制一个三角形
本文已同步发表在CSDN:http://blog.csdn.net/wenxin2011/article/details/51347008 在上一篇文章中已经介绍了OpenGL窗口的创建.本文接着说如 ...
随机推荐
- Jmeter简单应用
JMeter 是Apache组织的开源项目,是一个纯Java桌面应用,用于压力测试和性能测量. 1.安装jmeter jdk1.6以上下载地址:http://www.oracle.com/techne ...
- codecombat之KithGard地牢19-37关代码分享
codecombat中国游戏网址:http://www.codecombat.cn/ 全部代码为javascript代码分享 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 19 ...
- UVA 10127- Ones 数学
Given any integer 0 ≤ n ≤ 10000 not divisibleby 2 or 5, some multiple of n is a number whichin decim ...
- 转:Java修改Excel单元格的数据及格式
https://blog.csdn.net/aking21alinjuju/article/details/6001153?locationNum=2 继前两节的Java读取.写入Excel后,本期将 ...
- js如何计算浮点数
js中浮点型是如何运算的呢? 例如:var a=0.69; 我想得到6.9 直接这样写 var c=a*10; alert(c); 得到结果是:6.8999999999999995 到网上一搜,有 ...
- Centos7 minimal 系列之桥接模式联网(二)
一.桥接模式联网 之前用NAT模式连接网络,Centos是可以上网,而且Centos可以ping通主机,但是主机ping不通虚拟机.后来发现Nat模式只能由内而外. 1.1设置虚拟机的网络适配器 1. ...
- 个人对于React的Diff算法的一点疑问(待更新)
本人对于Diff算法也并未做深入研究,只是大概的看过一些博文了解了些原理,但依然有了如下疑问 : 对于vdom所表示的对象中,若在该oldObj和newObj之间,发现一个元素节点所表示的子对象不见了 ...
- C# 基础复习 一 数据类型
数据类型分为:值类型和引用类型 值类型:byte.short/char.int.long.float.double.decimal.enum.struct 引用类型:string.object.int ...
- AIM Tech Round 5 1028cf(A-E)
AIM Tech Round 5 (codeforces上题目编号是1028)(A-E) ---完全被这次比赛打击,自己真的很渣--- 战况 依旧3题选手 被构造题坑得好惨 稍稍涨了rating,希望 ...
- socket&socketserver网络编程
1.套接字与套接模块 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象.它们允许程序接受并进行连接,如发送和接受数据.为了 ...