Unity3D之Mesh(三)绘制四边形
2024-09-29 14:05:28
前言:
由於之前的基本介紹,所以有關的知識點不做贅述,只上案例,知識作爲自己做試驗的記錄,便於日後查看。
步驟:
1、創建一個empty 的gameobject;
2、添加一個脚本給這個game object;
具體脚本如下:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(MeshRenderer), typeof(MeshFilter))]
public class quad : MonoBehaviour
{
/*
creat a triangle by using Mesh
2016/11/21
————Carl
*/
void Start()
{
creatQuad();
} public float q_length = ;
public float q_width = ; private void creatQuad()
{
/* 1. 顶点,三角形,法线,uv坐标, 绝对必要的部分只有顶点和三角形。
如果模型中不需要场景中的光照,那么就不需要法线。如果模型不需要贴材质,那么就不需要UV */
Vector3[] vertices =
{
new Vector3(,,),
new Vector3(,,q_width),
new Vector3(q_length,,q_width),
new Vector3(q_length,,),
}; Vector3[] normals =
{
Vector3.up,
Vector3.up,
Vector3.up,
Vector3.up
}; Vector2[] uv =
{
Vector2.zero,
-Vector2.left,
Vector2.one,
Vector2.right
};
/*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; MeshFilter meshfilter = this.gameObject.GetComponent<MeshFilter>();
meshfilter.mesh = mesh;
} }
程序結構説明:
creatQuad()函數實現所有功能,由Start()函數調用。
效果圖:
一個細節知識備注:
顶点,三角形,法线,uv坐标, 绝对必要的部分只有顶点和三角形。
如果模型中不需要场景中的光照,那么就不需要法线。如果模型不需要贴材质,那么就不需要UV 。
【欢迎转载】
转载请表明出处: 乐学习
最新文章
- ArcGIS 地图性能优化系列一
- [LeetCode] Symmetric Tree 判断对称树
- javascript 框架、根基技巧、布局、CSS、控件 JavaScript 类库
- 深入浅出Windows Phone 8应用开发
- Magento删除产品同时删除图片
- 基于jQuery右侧带缩略图导航的焦点图
- C# Winform 支持Hex与ASCII输入和切换的文本框
- android 自定义命名空间
- python_Opencv_opencv2.4.4+python配置问题
- Ubuntu登陆密码忘记
- aiohttp AppRunner的用法
- Spirng boot maven多模块打包不踩坑
- 3、jeecg 笔记之 模糊查询
- A crawler that sent a DELETE request to every resource it encountered
- W25Q128---读写
- 【redis】3.Spring 集成注解 redis 项目配置使用
- 合格linux运维人员必会的30道shell编程面试题及讲解
- hdu2609 最小表示法
- 裸机恢复 (BMR) 和系统状态恢复
- 解决python2.7 UnicodeDecodeError和UnicodeEncodeError问题
热门文章
- 大型网站技术学习-2. 云计算之OpenStack简述
- Android注解支持(Support Annotations) (转)
- SimpleAdapter的用法
- 公告板shader
- 批处理--执行sql(mysql数据库)
- Linux时间时区详解与常用时间函数
- 【BZOJ4033】[HAOI2015]树上染色 树形DP
- [Errno 14] PYCURL ERROR 7 - ";couldn&#39;t connect to host";
- iOS Base64加密
- struts自定义拦截器实现