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[3] { new Vector3(0, 0, 0), new Vector3(0, 1, 0), new Vector3(1, 1, 0) };mesh.uv = new Vector2[3] { new Vector2(0, 0), new Vector2(0, 1), new Vector2(1, 1) };mesh.triangles = new int[3] { 0, 1, 2 };}
}

创建出三角形

可以看到只有单个三角形

顶点信息

从下图可以看出,共有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[4] { new Vector3(0, 0, 0), new Vector3(1, 0, 0), new Vector3(0, 1, 0), new Vector3(1, 1, 0) };//三角形顶点索引的顺序[3的倍数]mesh.triangles = new int[6] { 0, 2, 1, 2, 3, 1 };//法线mesh.normals = new Vector3[4] { new Vector3(0, 0, -1), new Vector3(0, 0, -1), new Vector3(0, 0, -1), new Vector3(0, 0, -1), };//uv纹理坐标mesh.uv = new Vector2[4] { new Vector2(0, 0), new Vector2(1, 0), new Vector2(0, 1), new Vector2(1, 1) };}
}

三角形+三角形 = 四边形

顶点信息

从下图可以看出,共有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

转载于:https://www.cnblogs.com/zhaoqingqing/p/4048910.html

C#代码创建3D模型相关推荐

  1. 怎样把三维模型生成html文件,如何快速创建3D模型 并导出USDZ文件 在自己设备上浏览...

    文中视频演示了如何快速创建3D模型,将其导出为USDZ文件,并在自己的设备上进行浏览. 视频上传者表示,他希望说明如何轻松通过USDZ文件来分享3D内容.首先,你需要用于创建3D内容,同时最好具备将3 ...

  2. 利用FME创建3D模型之从Excel到3D

    来自Safe Webinar 模板下载 整理:小新 通常,我们创建3D模型的方法为:以dwg平面图作为底图,按照测量高度进行拉伸,并根据实地采集照片对模型进行精细化和贴图处理,为了让3D模型更加美观逼 ...

  3. MATLAB做一个简单的3d模型,简易3D建模,让你快速创建3D模型

    原标题:简易3D建模,让你快速创建3D模型 MagicaVoxel Mac版通过其显著的直观性.任何用户,乃至那些有素的编辑或其余3D建模运用程序之前没有任何经验的朋友,可以开始创建的对象吧,无需经过 ...

  4. 利用SD的插件从文本或者图片创建3D模型

    利用SD的插件从文本或者图片创建3D模型 一个用于自动从文本或图像生成3D模型的稳定扩散WebUI的自定义扩展. 利用 OpenAl Shap-E 从文本或图像生成 3D 模型, GitHub项日地址 ...

  5. 用最少的代码渲染3D模型

    Github:https://github.com/xosg/model-view Model View 基于 Zero Overhead 原则的草量级 3D 模型渲染组件,在线演示:https:// ...

  6. ZBrush创建3D模型的方法

    在ZBrush®里,你可以使用我们的数字黏土工具雕刻3D模型.使用这些数字雕刻工具,你能够快速和容易的雕刻面部.生物.桌.椅和其他能够想象到的任何东西.那么,怎么从3D模型开始工作?那取决于你的3D模 ...

  7. 如何使用SketchUp草图大师创建第一个3D模型?

    在SketchUp中创建第一个3D模型方法教程分享给您,如果您从未在SketchUp(或任何其他建模程序)中创建3D模型,则以下SketchUp教程可快速概述基础知识: 选择人员,在上下文中单击选择, ...

  8. 【Unity】3D模型或粒子渲染在UI上层

    方法有很多,我只介绍一种我认为最简单有效的方法,用非常取巧的手段,使用RenderTexture + Camera 在ScrollView里展示3D模型. 效果: 1.首先创建一个RenderText ...

  9. 50行代码实现3D模拟真实撒金币动效

    我们将会用50行不到的代码来实现一个3D模拟撒金币动效.你只需要一点Egret基础就能够快速上手,如果你不了解Egret,这里有一篇3分钟创建hello world来带你快速入门. 实现效果 源码和在 ...

最新文章

  1. mysql pt table sync_pt-table-sync 使用介绍
  2. Safari浏览器不支持let声明的解决方式
  3. scp免密码远程拷贝
  4. 信息学奥赛一本通(2057:【例3.9 】星期几)
  5. 如何在新版的gitbook上写自己的书
  6. MapInfo MapXtreme 2005 WebGIS 简单鹰眼设计(转)
  7. java中tcp传图片_Java学习之TCP上传图片
  8. Cannot subclass final class class com.sun.proxy.$Proxy16
  9. 人工智能的主要风险因素有哪些?
  10. 硬件设计——DC-DC转换器
  11. 聊天机器人-基于QQ聊天记录训练
  12. APISpace 银行卡二要素API 方便好用
  13. mysql查询并计算单价_数据库实验:统计查询和组合查询图书(书号,书名,作者编号,价格,出版社编号) 作者(编号,姓名,电话)出版社(编号,出版...
  14. try catch 的使用
  15. 购买计算机英语情景对话,英语情景对话之购物英语:买相机
  16. windows密钥查看器ProduKey1.82汉化
  17. JSP与JavaBeans
  18. [含论文+源码等]SSH超市进销存管理系统
  19. 一个高逼格开发者必须理解的大型分布式网站的几点概念
  20. 1001 害死人不偿命的(3n+1)猜想 (15分)_Quentin

热门文章

  1. 数据库之关系模型的组成,特点以及完整性约束
  2. java magic number_Magic Number
  3. 独家专访 | 红布林(Plum​)庞博:万亿元二手时尚交易蓝海的生存法则
  4. 关于产品 / 市场契合点 PMF 的 12 个问题全解读(下)
  5. iOS iOS9下修改回HTTP模式进行网络请求
  6. Debug实验学习汇编
  7. 在Linux下记录所有用户的登录和操作日志
  8. 运行windows live writer时发生“意外错误”
  9. linux dip 命令详解
  10. Visualization Document Feb 12 16:42