/// <summary>
/// 方锥。
/// </summary>
/// <retu rns></returns>
public Mesh CreateSquareDetectionLineCloseMesh(Vector3 topPos, Vector3 pos1, Vector3 pos2, Vector3 pos3, Vector3 pos4)
{
Mesh mesh = new Mesh();
var vertices = new List<Vector3>();
var indices = new List<int>();
vertices.Add(topPos);
vertices.Add(pos1);
vertices.Add(pos2);
vertices.Add(pos3);
vertices.Add(pos4);
//侧面,双面
indices.Add(0);
indices.Add(1);
indices.Add(4);
indices.Add(0);
indices.Add(4);
indices.Add(1);
indices.Add(0);
indices.Add(2);
indices.Add(1);
indices.Add(0);
indices.Add(1);
indices.Add(2);
indices.Add(0);
indices.Add(3);
indices.Add(2);
indices.Add(0);
indices.Add(2);
indices.Add(3);
indices.Add(0);
indices.Add(4);
indices.Add(3);
indices.Add(0);
indices.Add(3);
indices.Add(4);
//底面,封口
//indices.Add(1);
//indices.Add(2);
//indices.Add(3);
//indices.Add(1);
//indices.Add(3);
//indices.Add(2);
//indices.Add(1);
//indices.Add(3);
//indices.Add(4);
//indices.Add(1);
//indices.Add(4);
//indices.Add(3);
mesh.SetVertices(vertices);
mesh.SetIndices(indices.ToArray(), MeshTopology.Triangles, 0);
//设置UV
Vector2[] _uv = new Vector2[vertices.Count];
_uv[0] = new Vector2(0.5f, 1f);
_uv[1] = new Vector2(1f, 0f);
_uv[2] = new Vector2(0f, 0f);
_uv[3] = new Vector2(1f, 0f);
_uv[4] = new Vector2(0f, 0f);
mesh.uv = _uv;
return mesh;
}