C#代码创建3D模型
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创建的GameObject的Mesh 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模型相关推荐
- 怎样把三维模型生成html文件,如何快速创建3D模型 并导出USDZ文件 在自己设备上浏览...
文中视频演示了如何快速创建3D模型,将其导出为USDZ文件,并在自己的设备上进行浏览. 视频上传者表示,他希望说明如何轻松通过USDZ文件来分享3D内容.首先,你需要用于创建3D内容,同时最好具备将3 ...
- 利用FME创建3D模型之从Excel到3D
来自Safe Webinar 模板下载 整理:小新 通常,我们创建3D模型的方法为:以dwg平面图作为底图,按照测量高度进行拉伸,并根据实地采集照片对模型进行精细化和贴图处理,为了让3D模型更加美观逼 ...
- MATLAB做一个简单的3d模型,简易3D建模,让你快速创建3D模型
原标题:简易3D建模,让你快速创建3D模型 MagicaVoxel Mac版通过其显著的直观性.任何用户,乃至那些有素的编辑或其余3D建模运用程序之前没有任何经验的朋友,可以开始创建的对象吧,无需经过 ...
- 利用SD的插件从文本或者图片创建3D模型
利用SD的插件从文本或者图片创建3D模型 一个用于自动从文本或图像生成3D模型的稳定扩散WebUI的自定义扩展. 利用 OpenAl Shap-E 从文本或图像生成 3D 模型, GitHub项日地址 ...
- 用最少的代码渲染3D模型
Github:https://github.com/xosg/model-view Model View 基于 Zero Overhead 原则的草量级 3D 模型渲染组件,在线演示:https:// ...
- ZBrush创建3D模型的方法
在ZBrush®里,你可以使用我们的数字黏土工具雕刻3D模型.使用这些数字雕刻工具,你能够快速和容易的雕刻面部.生物.桌.椅和其他能够想象到的任何东西.那么,怎么从3D模型开始工作?那取决于你的3D模 ...
- 如何使用SketchUp草图大师创建第一个3D模型?
在SketchUp中创建第一个3D模型方法教程分享给您,如果您从未在SketchUp(或任何其他建模程序)中创建3D模型,则以下SketchUp教程可快速概述基础知识: 选择人员,在上下文中单击选择, ...
- 【Unity】3D模型或粒子渲染在UI上层
方法有很多,我只介绍一种我认为最简单有效的方法,用非常取巧的手段,使用RenderTexture + Camera 在ScrollView里展示3D模型. 效果: 1.首先创建一个RenderText ...
- 50行代码实现3D模拟真实撒金币动效
我们将会用50行不到的代码来实现一个3D模拟撒金币动效.你只需要一点Egret基础就能够快速上手,如果你不了解Egret,这里有一篇3分钟创建hello world来带你快速入门. 实现效果 源码和在 ...
最新文章
- mysql pt table sync_pt-table-sync 使用介绍
- Safari浏览器不支持let声明的解决方式
- scp免密码远程拷贝
- 信息学奥赛一本通(2057:【例3.9 】星期几)
- 如何在新版的gitbook上写自己的书
- MapInfo MapXtreme 2005 WebGIS 简单鹰眼设计(转)
- java中tcp传图片_Java学习之TCP上传图片
- Cannot subclass final class class com.sun.proxy.$Proxy16
- 人工智能的主要风险因素有哪些?
- 硬件设计——DC-DC转换器
- 聊天机器人-基于QQ聊天记录训练
- APISpace 银行卡二要素API 方便好用
- mysql查询并计算单价_数据库实验:统计查询和组合查询图书(书号,书名,作者编号,价格,出版社编号) 作者(编号,姓名,电话)出版社(编号,出版...
- try catch 的使用
- 购买计算机英语情景对话,英语情景对话之购物英语:买相机
- windows密钥查看器ProduKey1.82汉化
- JSP与JavaBeans
- [含论文+源码等]SSH超市进销存管理系统
- 一个高逼格开发者必须理解的大型分布式网站的几点概念
- 1001 害死人不偿命的(3n+1)猜想 (15分)_Quentin
热门文章
- 数据库之关系模型的组成,特点以及完整性约束
- java magic number_Magic Number
- 独家专访 | 红布林(Plum​)庞博:万亿元二手时尚交易蓝海的生存法则
- 关于产品 / 市场契合点 PMF 的 12 个问题全解读(下)
- iOS iOS9下修改回HTTP模式进行网络请求
- Debug实验学习汇编
- 在Linux下记录所有用户的登录和操作日志
- 运行windows live writer时发生“意外错误”
- linux dip 命令详解
- Visualization Document Feb 12 16:42