Unity3D使用mesh创建一个正方形
using UnityEngine;
using System.Collections; public class Quad : MonoBehaviour
{
// Use this for initialization
void Start () {
CreateQuad ();
} private float m_width = ;
private float m_length = ; public void CreateQuad()
{
/* 1. 顶点,三角形,法线,uv坐标, 绝对必要的部分只有顶点和三角形。
如果模型中不需要场景中的光照,那么就不需要法线。如果模型不需要贴材质,那么就不需要UV */
Vector3[] vertices = new Vector3[];
Vector3[] normals = new Vector3[];
Vector2[] uv = new Vector2[]; vertices [] = new Vector3 (, , );
uv [] = new Vector2 (, );
normals [] = Vector3.up; vertices [] = new Vector3 (, , m_length);
uv [] = new Vector2 (, );
normals [] = Vector3.up; vertices [] = new Vector3 (m_width, , m_length);
uv [] = new Vector2 (, );
normals [] = Vector3.up; vertices [] = new Vector3 (m_width, , );
uv [] = new Vector2 (, );
normals [] = Vector3.up; /*2. 三角形,顶点索引:
三角形是由3个整数确定的,各个整数就是角的顶点的index。 各个三角形的顶点的顺序通常由下往上数, 可以是顺时针也可以是逆时针,这通常取决于我们从哪个方向看三角形。 通常,当mesh渲染时,"逆时针" 的面会被挡掉。 我们希望保证顺时针的面与法线的主向一致 */
int[] indices = new int[];
indices [] = ;
indices [] = ;
indices [] = ; indices [] = ;
indices [] = ;
indices [] = ; Mesh mesh = new Mesh ();
mesh.vertices = vertices;
mesh.normals = normals;
mesh.uv = uv;
mesh.triangles = indices;
mesh.RecalculateBounds (); MeshFilter filter = this.gameObject.AddComponent<MeshFilter> ();
if(filter != null)
{
filter.sharedMesh = mesh;
} MeshRenderer meshRender = this.gameObject.AddComponent<MeshRenderer> ();
Shader shader = Shader.Find ("Diffuse");
meshRender.sharedMaterial = new Material (shader);
}
}
Unity3D使用mesh创建一个正方形的更多相关文章
- PS网页设计教程XXVIII——如何在PS中创建一个干净的网页布局
作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,“熟读唐诗三百首,不会作诗也会吟”. 本系列的教程来源于网上的PS教程,都是国外的,全英文的.本人尝试 ...
- Unity3D 创建一个简单的2D游戏
开始研究Unity3d 中的2D游戏. 首先创建出一个项目: 然后创建出一个场景: 然后添加一个背景: 然后创建一个主人公对象: 可以是自己做的素材,也可以是用unity裁剪的素材, 下面贴出裁剪素材 ...
- 【淡墨Unity3D Shader计划】一间 创建一个游戏场景 & 第一Shader写作
本系列文章由@浅墨_毛星云 出品.转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨) ...
- 【Unity Shaders】Reflecting Your World —— 在Unity3D中创建一个简单的动态Cubemap系统
本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...
- Unity3D之Mesh【创建动态Mesh的学习网站】
觉得不错!做记录! 1.http://gamerboom.com/archives/76484 2.http://jayelinda.com/ 3.几个私人的博客,可能有启发:http://blog. ...
- Unity3D之Mesh(七)绘制长方体
前言: 从现在开始,终于感觉进入一点点正题了!动态创建三维立体模型mesh!依然从简单入手:长方体. 一.基本思路 由于是创建长方体mesh,由之前的研究得知,两个数据必须要有,即:顶点的数据:ver ...
- Unity3D之Mesh(一)绘制三角形
前言: Unity自带几种简单的模型,如cube等:一般情况下,其余模型有3D建模软件生成,以合适的文件格式导入unity中:而mesh(以我目前很粗浅的了解)的一般用途就是:对现有的模型进行变形,以 ...
- 如何用Unity创建一个的简单的HoloLens 3D程序
注:本文提到的代码示例下载地址>How to create a Hello World 3D holographic app with Unity 之前我们有讲过一次如何在HoloLens中创建 ...
- 【webGL】threejs入门 ---创建一个简单立方体
开发环境 Three.js是一个JavaScript库,所以,你可以使用平时开发JavaScript应用的环境开发Three.js应用.如果你没什么偏好的话,我会推荐Komodo IDE. 调试建议使 ...
随机推荐
- Bostonkey Simple calc
Simple Calc 明显的memcpy栈溢出,是一个静态链接的程序所以没给libc.发现里面有: 参数a1应该为_libc_stack_end的地址了._stack_prot通过rop修改为0x7 ...
- PictureBox从本地上传图片和保存在磁盘目录
private void mypicbox_Click(object sender, EventArgs e) { try { OpenFileDialog ofdPic = new OpenFile ...
- 蜗牛爱课 -- iOS 设置UIButton的字体的大小、显示位置、大小
/设置按钮上的自体的大小 //[btn setFont: [UIFont systemFontSize: 14.0]]; //这种可以用来设置字体的大小,但是可能会在将来的SDK版本中去除改方法 ...
- MapReduce详解
1.mapreduce之shuffle http://blog.csdn.net/thomas0yang/article/details/8562910 2.彻底了解mapreduce核心Shuffl ...
- [Linked List]Remove Duplicates from Sorted List II
Total Accepted: 59433 Total Submissions: 230628 Difficulty: Medium Given a sorted linked list, delet ...
- XML字符串转化json
public static String XMLTOJSON(String XMLContent,String tag) { XMLSerializer xmlSerializer = new XM ...
- Android 自定义shape圆形按钮
Shape的属性: solid 描述:内部填充 属性:android:color 填充颜色 size 描述:大小 属性: android:width 宽 android:height 高 gradie ...
- 轻松搞定javascript变量(闭包,预解析机制,变量在内存的分配 )
变量: 存储数据的容器 1.声明 var 2.作用域 全局变量. 局部变量. 闭包(相对的全局变量): 3.类型 a.基本类型(undefi ...
- mysql explain 命令简解
参考官方文档地址: http://dev.mysql.com/doc/refman/5.7/en/explain.html 为什么用explain . 如果你的页面返回结果很慢,你就需要使用expla ...
- Service(Local Service)简介
一.Service的作用 主要用于在后台处理一些耗时的逻辑操作,或者去执行某些长期运行的操作. 二.Service的创建 1.主要方法 IBinder onBind(Intent intent):必须 ...