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();
}

时间: 2024-08-24 14:06:27

Unity3d修炼之路:用Mesh绘制一个Cube的相关文章

Unity3d修炼之路:加载一个预制体,然后为该对象添加组件,然后查找对象,得到组件。

#pragma strict function Awake(){ //加载一个预制体 资源必须在 Resources文件夹下 Resources.LoadLoad(); //加载后 必须示例化 GameObject.Instantiate(); //为对象添加组件 AddComponent(); //Find游戏对象 Find(); //Get组件 GetComponent(); var pPrefab : GameObject = Resources.Load("Prefab/Scence&q

Unity3d修炼之路:GUI按钮简单使用,完成对一个简单对象Cube的移动,旋转

#pragma strict private var m_pCubeObj : GameObject = null; private var m_pMeshFilter : MeshFilter = null; public var m_fTramslateSpeed : float = 20.0f; public var m_fRotateSpeed : float = 60.0f; function OnGUI(){ GUI.Label(new Rect(0.0f,0.0f,Screen.w

Unity3d修炼之路:载入一个预制体,然后为该对象加入组件,然后查找对象,得到组件。

#pragma strict function Awake(){ //载入一个预制体 资源必须在 Resources目录下 Resources.LoadLoad(); //载入后 必须演示样例化 GameObject.Instantiate(); //为对象加入组件 AddComponent(); //Find游戏对象 Find(); //Get组件 GetComponent(); var pPrefab : GameObject = Resources.Load("Prefab/Scence&

Unity3d修炼之路:对一个简单对象Cube的移动 旋转和缩放

#pragma strict private var m_nFrameCount : int = 0; private var m_isSubCount : int = 0;//false function Update () { var fSpeed : float = 1.0f; var fAngle : float = 50.0f; var pCurrentPoint : Vector3 = transform.position; var pAxis : Vector3 = new Vec

Unity3d修炼之路:游戏开发中,3d数学知识的练习【1】(不断更新.......)

#pragma strict public var m_pA : Vector3 = new Vector3(2.0f, 4.0f, 0.0f); public var m_pB : Vector3 = new Vector3(-4.0f, 2.0f,0.0f); private var m_pTemp : Vector3 = new Vector3(0.0f,0.0f,0.0f); private var m_fTemp : float = 0.0f; private var m_fAngle

scala akka 修炼之路6(scala函数式柯里化风格应用场景分析)

胜败兵家事不期,包羞忍耻是男儿--斗牛士fighting,fighting,fighting... 小象学习和使用scala也一段时间了,最初小象学习scala主要为了学习spark生态,但是深入学习scala的一些特性后,深深被scala函数式和面向对象的风格所折服,不得不赞美设计这门语言的设计者.小象大学阶段在使用MATLAB做数据分析和自动化设计时,就非常喜欢使用MATLAB的命令行和面向矩阵运算的风格编写分析代码:喜欢使用java编写层次化和清晰的模块接口,而这些Scala语言设计中都有

程序员修炼之路

0.前言:在路上,再上路 在前言<程序员修炼之路-(0)前言:在路上, 再上路>中已经对知识体系进行了梳理,主要分为问题定义.算法与数据结构.系统平台API.编程语言实现.代码设计.测试验证等等.目前集中精力编写算法与数据结构部分,这可能也是最艰难的一部分.其他部分之前零零散散有所涉及,之后再慢慢补充. 1.计算机数学 离散数学与具体数学. 2.算法分析设计 对于这一部分的内容编排,主要以<算法设计与分析基础>.<算法>以及LeetCode算法题中的问题分类为横向,以&

架构师修炼之路

国内我们对架构师,项目经理,开发经理或者是技术总监这类职业定位普遍不都不清晰,很多的情况是“能者多劳”,一人身兼数职.达尔文的理论在我们的行业是绝对适用的,我从进入这个行业开始我就不甘于成为淘汰者,而我也由心地热爱着这个行业很年前我就立志要成为架构师(当年流行叫:系统分析员 )这目标进发.回首这10几年的磨练,我总结了一下一名合格的架构师应该具备哪一些方面的能力以及怎么才能得到这些能力 编码能力 架构师是一个职业,是一种经历了各种磨练与长年开发经验积累出来的.另外我一直认为:不会编码的架构师不是

大数据修炼之路

大数据修炼之路 大数据Spark是用Scala语言编写架构,因此,认真学习Scala是首选.Scala 是一种面向对象编程和函数式编程的多范式编程语言,和java有些不同又比java强大.下载了<Programming in Scala>,慢慢啃,虽然原汁原味,但是毕竟英文理解能力有限,有些非常专业的特性讲解还是一知半解,领悟不到要点,要参考中文版,这样啃一段又返回去看对应中文版加深理解,但是进度非常慢,甚是苦恼,有幸在51CTO上看到了王家林全免费的<Scala深入浅出实战初级入门经典