unity-网格编程06
【摘要】 既然已经完成了一个三角形的那么我们参照之前的,再写一个三角形,并把这个面片拼凑成一个四边形,那么直接参照之前的代码就好了,还有为了方便看出来,稍微的调整第二个三角形的位置.using System.Collections;using System.Collections.Generic;using UnityEngine;//脚本对于组件的依赖[RequireComponent(typeof...
既然已经完成了一个三角形的那么我们参照之前的,再写一个三角形,并把这个面片拼凑成一个四边形,那么直接参照之前的代码就好了,还有为了方便看出来,稍微的调整第二个三角形的位置.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//脚本对于组件的依赖
[RequireComponent(typeof(MeshFilter),typeof(MeshRenderer))]
public class SimpleProceduralMesh : MonoBehaviour
{
private void OnEnable()
{
Mesh mesh = new Mesh()
{
name = "Procedural Mesh"
};
//3个顶点
mesh.vertices = new Vector3[] {
Vector3.zero ,
Vector3 .right ,
Vector3 .up ,
new Vector3 (1.1f,0),
new Vector3 (1.1f,1.1f),
new Vector3 (0,1.1f)
};
//顶点的渲染顺序
mesh.triangles = new int[] {
0,2,1,
5,4,3
};
//模型发现朝向
mesh.normals = new Vector3[] {
Vector3 .back,
Vector3 .back,
Vector3 .back,
Vector3 .back,
Vector3 .back,
Vector3 .back
};
//模型UV
mesh.uv = new Vector2[] {
Vector2 .zero,
Vector2.right,
Vector2.up ,
new Vector3 (1.1f,0),
new Vector3 (1.1f,1.1f),
new Vector3 (0,1.1f)
};
mesh.tangents = new Vector4[] {
new Vector4(1f,0f,0f,-1f),
new Vector4(1f,0f,0f,-1f),
new Vector4(1f,0f,0f,-1f),
new Vector4(1f,0f,0f,-1f),
new Vector4(1f,0f,0f,-1f),
new Vector4(1f,0f,0f,-1f)
};
GetComponent<MeshFilter>().mesh = mesh;
}
}
那么再次运行unity程序:
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)