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窗口的创建.本文接着说如 ...
随机推荐
- Line(扩展欧几里得)
题意:本题给出一个直线,推断是否有整数点在这条直线上: 分析:本题最重要的是在给出的直线是不是平行于坐标轴,即A是不是为0或B是不是为0..此外.本题另一点就是C输入之后要取其相反数,才干进行扩展欧几 ...
- How do I UPDATE from a SELECT in SQL Server?
方法1 https://stackoverflow.com/questions/2334712/how-do-i-update-from-a-select-in-sql-server UPDATE T ...
- HMM XSS检测
HMM XSS检测 转自:http://www.freebuf.com/articles/web/133909.html 前言 上篇我们介绍了HMM的基本原理以及常见的基于参数的异常检测实现,这次我们 ...
- 【IOI 2011】Race
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2599 [算法] 点分治 [代码] #include<bits/stdc++.h ...
- angular 兼容ie11 ie11兼容
兼容一(new Date()用法) new Date('2018-01-01 00:00:00').getHours(); new Date('2018-01-01 00:00:00').getMin ...
- ros中文术语表及消息类型表
前言:整理一些ros常用表格,包括中文术语对照表. 一.中文术语表 二.消息类型表 -END-
- BZOJ 3720 树分块
借鉴了别人的代码-- //By SiriusRen #include <cmath> #include <cstdio> #include <cstring> #i ...
- C#学习小记
1.C#是由微软推出的,基于.Net Framework的面向对象的高级编程语言. 2.C#代码编辑器为Visual Studio,简称VS. 3.Hello World VS中新建Windows控制 ...
- Java NIO(二)缓冲区
概念 缓冲区:一个用于特定基本数据类型的容器,由java.nio包定义的所有缓冲区都是Buffer抽象类的子类.其作用于与NIO的通道进行交互,数据从通道读入缓冲区,数据从缓冲区写入通道 Buffer ...
- android UI卡顿问题学习
转自https://blog.csdn.net/joye123/article/details/79425398 https://blog.csdn.net/zhenjie_chang/article ...