[Unity 学习] - 进阶篇 - Mesh基础系列2:圆角立方体
本文并非原创,只是本人的学习记录,原文是由放牛的星星老师翻译Catlike系列教程
链接: https://mp.weixin.qq.com/s/fZmw-AIGpXz5AToChjA8Lw
1复合一个立方体
在Mesh基础系列1中,我们最后做出一个面向-Z的一个main,我们可以创建六个网格来实例化完成一个立方体,但是它并不实用,因为他是六个Mesh,这样就增加我们整体使用它的难度,具体怎么增加难度,我会在后面进行说明。在这之前,我们先做一个整体立方体用以做对比。
2 创建立方体顶点集合
首先我们需要一个component脚本,2Dmesh和3Dmesh没有太多区别,只需要增加一个维度就好,在上个章节的代码中加入zSize即可。
[RequireComponent(typeof(MeshFilter), typeof(MeshRenderer))]
public class RoundedCube : MonoBehaviour {
public int xSize, ySize, zSize;
private Mesh mesh;
private Vector3[] vertices;
private void Awake () {
Generate();
}
private void Generate () {
GetComponent<MeshFilter>().mesh = mesh = new Mesh();
mesh.name = "Procedural Cube";
}
private void OnDrawGizmos () {
if (vertices == null) {
return;
}
for (int i = 0; i < vertices.Length; i++) {
Gizmos.color = Color.black;
Gizmos.DrawSphere(vertices[i], 0.1f);
Gizmos.color = Color.yellow;
Gizmos.DrawRay(vertices[i], normals[i]);
}
}
[设置立