Demo 1:创建三角形

示例代码

构建一个只包含单个三角形及纹理坐标的网格

using UnityEngine;
using System.Collections; public class MeshTest : MonoBehaviour
{
void Start()
{
MeshFilter mf = GetComponent<MeshFilter>();
Mesh mesh = new Mesh();
mf.mesh = mesh; mesh.vertices = new Vector3[] { new Vector3(, , ), new Vector3(, , ), new Vector3(, , ) };
mesh.uv = new Vector2[] { new Vector2(, ), new Vector2(, ), new Vector2(, ) };
mesh.triangles = new int[] { , , };
}
}

创建出三角形

可以看到只有单个三角形

顶点信息

从下图可以看出,共有1个三角形,3个顶点

Demo2:二个三角形

示例代码

构建两个三角形及纹理坐标的网格

using UnityEngine;
using System.Collections; public class MyMesh : MonoBehaviour
{
void Start()
{
MeshFilter mf = GetComponent<MeshFilter>();
Mesh mesh = new Mesh();
mf.mesh = mesh;
//顶点[决定绘制出来图片的scale]
mesh.vertices = new Vector3[] { new Vector3(, , ), new Vector3(, , ), new Vector3(, , ), new Vector3(, , ) };
//三角形顶点索引的顺序[3的倍数]
mesh.triangles = new int[] { , , , , , };
//法线
mesh.normals = new Vector3[] { new Vector3(, , -), new Vector3(, , -), new Vector3(, , -), new Vector3(, , -), };
//uv纹理坐标
mesh.uv = new Vector2[] { new Vector2(, ), new Vector2(, ), new Vector2(, ), new Vector2(, ) };
}
}

三角形+三角形 = 四边形

顶点信息

从下图可以看出,共有2个三角形,4个顶点

改变顶点信息

设置的三角形顶点顺序不同,绘制出来的效果也不相同 (mesh.triangles = new int[6] { 0, 2, 1, 0, 3, 1 };)

顶点 纹理 图解

实现步骤

1、创建一个空的GameObject,绑定Mesh Filter及Mesh Renderer组件

2、创建一个Material,拖一张图片进去,修改Shader为透明Shader

3、把2创建的Material赋给1创建的GameObjectMesh Renderer的Materiials

4、这个时候默认在场景中是看不到这个GameObject渲染的

5、创建脚本MeshTest.cs  代码如Demo1,绑定在GameObject上,运行查看效果

6、创建脚本MyMesh.cs   代码如Demo2,绑定在GameObject上,运行查看效果

其它方法

创建一个Quad,不需要运行在Scene场景就可以看到

文献资料

其它方法的资料

Unity3D研究院之与根据动态的两个轨迹点绘制面详解(二十)http://www.xuanyusong.com/archives/780

<Unity3D>Unity3D中MeshRenderer的使用 http://blog.csdn.net/zuoyamin/article/details/9287507

[Unity3D学习]Mesh创建三角形、长方形 http://blog.gamerisker.com/archives/494.html

三角网格(Triangle Mesh)  http://lib.yoekey.com/?p=120

【Unity C#编程】制作星星(一)http://unity3d.9tech.cn/news/2014/0324/40085.html

C#代码创建3D模型的更多相关文章

  1. DNA分子结构3D模型

    生物信息资源更新越来越快,使用可视化的方法来分析DNA序列已成为生物信息学的一个研究热点,用图形表示DNA序列的方法也越来越成熟.2011年,著名杂志<Science>发表一篇引起轰动的文 ...

  2. 3d模型一般怎么导入到到Threejs中使用

    这是我之前做的一个demo,导入的3d模型文件是obj格式的,需要使用OBJLoader和MTLLoader, mtl文件用于描述多边形可视面貌的材质如果你可以导出obj.mtl文件的话,那么就可以使 ...

  3. 使用three.js创建3D机房模型-分享一

    序:前段时间公司一次研讨会上,一市场部同事展现了同行业其他公司的3D机房,我司领导觉得这个可以研究研究,为了节约成本,我们在网上大量检索,最后找到一位前辈的博文[TWaver的技术博客],在那篇博文的 ...

  4. 【Unity】3.0 第3章 创建和导入3D模型

    分类:Unity.C#.VS2015 创建日期:2016-04-02 一.简介 利用Unity内置的基本模型和工具,不需要借助任何其他的三维建模软件,就可以直接创建出各种3D模型,这是这一章我们首先学 ...

  5. Chem 3D中怎么创建立体模型

    ChemDraw作为一款很受大家欢迎的化学绘图软件,其在绘制平面化学方面的功能已经非常的强大了,其实它也可以绘制3D图形.Chem 3D就是绘制3D图形的重要组件.而且为了满足不同的用户绘图的需求,可 ...

  6. 工控图表控件ProEssentials创建3D柱状图示例代码

    使用ProEssentials可以创建3D柱状图,柱状图的形式包括线框.实体和阴影. 类似于Graph control,3D柱状图只需要YData. Subsets定义沿z轴有多少行,Points定义 ...

  7. ANDROID嵌入式应用Unity3D视图(画廊3D模型)

    转载请注明来自大型玉米的博客文章(http://blog.csdn.net/a396901990),谢谢支持! 效果展示:   watermark/2/text/aHR0cDovL2Jsb2cuY3N ...

  8. 利用Flare3D和Stage3D创建3D

    Flare3D 是一款功能强大的引擎,它使得 Flash 中的 3D 内容管理变得更为简便. 它的设计宗旨是提供一个完美的开发工作流程,以便你能够获得事半功倍的效果. 本教程侧重讨论在 Flash 中 ...

  9. three.js实现3D模型展示

    由于项目需要展示3d模型,所以对three做了点研究,分享出来 希望能帮到大家 先看看效果: three.js整体来说 不是很难 只要你静下心来研究研究 很快就会上手的 首先我们在页面上需要创建一个能 ...

随机推荐

  1. 2013 最新的 play web framework 版本 1.2.3 框架学习文档整理

    Play framework框架学习文档 Play framework框架学习文档 1 一.什么是Playframework 3 二.playframework框架的优点 4 三.Play Frame ...

  2. Android使用默认样式创建View的几个姿势

    以下内容是分析安卓源码所得: 1: 使用默认样式创建View的方式, 源码文件 Button.Java  注:此文参考http://www.linzenews.com/ 中的内容所写,如侵删! 2: ...

  3. Get a developer license for windows store app

     获取你的开发者许可证 开发人员许可证是免费.如果您通过使用微软账户获取一个或多个开发人员的许可证,您必须续订他们每隔 30 天 当您运行或调试应用程序第一次在远程机器上或直接连接到您的开发计算机的设 ...

  4. SharePoint 新特性及安装需知

    以下内容转自Kaneboy 大牛,但我在安装正式版的过程中发现一些问题,主要是.net 版本的问题,弄了我一个晚上,我在下面标出来了.我的安装环境是Windows server 2012 R2 关于详 ...

  5. SharePoint 2013 Installation and Configuration Issues

    # Issue 1: During Installing SharePoint 2013 Prerequisites there was an error in installing Applicat ...

  6. 2015年第12本(英文第8本):the Old Man and the Sea 老人与海

    书名:The Old Man and The Sea(老人与海) 作者:Ernest Hemingway 单词数:2.7万 不重复单词数:2600 首万词不重复单词数:1500 蓝思值:940 阅读时 ...

  7. Sharepoint学习笔记—习题系列--70-573习题解析 -(Q48-Q50)

    Question 48You create a user control named MySearchBox.ascx.You plan to change the native search con ...

  8. android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件

    前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...

  9. 使用VideoView自定义一个播放器控件

    介绍 最近要使用播放器做一个简单的视频播放功能,开始学习VideoView,在横竖屏切换的时候碰到了点麻烦,不过在查阅资料后总算是解决了.在写VideoView播放视频时候定义控制的代码全写在Actv ...

  10. Fragment官方解析

    由于fragment和activity的生命周期很类似,对activity不熟悉的可以参考–深入了解Activity-生命周期, 深入理解Activity-任务,回退栈,启动模式, 概要 A Frag ...