47 lines
2.5 KiB
C#
47 lines
2.5 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class MeshEditor
|
|
{
|
|
public static Mesh DrawMeshByCoordinates(Mesh tempMesh, Vector3[] Vertices, int[] Triangles, Vector2[] uvs, Vector3 startPoint, Vector3 endPoint, float width)
|
|
{
|
|
Vertices[0] = new Vector3(startPoint.x - width, startPoint.y, startPoint.z);
|
|
Vertices[1] = new Vector3(startPoint.x, startPoint.y - width, startPoint.z);
|
|
Vertices[2] = new Vector3(startPoint.x + width, startPoint.y, startPoint.z);
|
|
Vertices[3] = new Vector3(startPoint.x, startPoint.y + width, startPoint.z);
|
|
// left
|
|
Vertices[4] = new Vector3(startPoint.x - width, startPoint.y, startPoint.z);
|
|
Vertices[5] = new Vector3(startPoint.x, startPoint.y - width, startPoint.z);
|
|
Vertices[6] = new Vector3(endPoint.x, endPoint.y - width, endPoint.z);
|
|
Vertices[7] = new Vector3(endPoint.x - width, endPoint.y, endPoint.z);
|
|
// back
|
|
Vertices[8] = new Vector3(endPoint.x - width, endPoint.y, endPoint.z);
|
|
Vertices[9] = new Vector3(endPoint.x, endPoint.y - width, endPoint.z);
|
|
Vertices[10] = new Vector3(endPoint.x + width, endPoint.y, endPoint.z);
|
|
Vertices[11] = new Vector3(endPoint.x, endPoint.y + width, endPoint.z);
|
|
// right
|
|
Vertices[12] = new Vector3(endPoint.x, endPoint.y + width, endPoint.z);
|
|
Vertices[13] = new Vector3(endPoint.x + width, endPoint.y, endPoint.z);
|
|
Vertices[14] = new Vector3(startPoint.x + width, startPoint.y, startPoint.z);
|
|
Vertices[15] = new Vector3(startPoint.x, startPoint.y + width, startPoint.z);
|
|
// Top
|
|
Vertices[16] = new Vector3(endPoint.x - width, endPoint.y, endPoint.z);
|
|
Vertices[17] = new Vector3(endPoint.x, endPoint.y + width, endPoint.z);
|
|
Vertices[18] = new Vector3(startPoint.x, startPoint.y + width, startPoint.z);
|
|
Vertices[19] = new Vector3(startPoint.x - width, startPoint.y, startPoint.z);
|
|
// Bottom
|
|
Vertices[20] = new Vector3(endPoint.x, endPoint.y - width, endPoint.z);
|
|
Vertices[21] = new Vector3(endPoint.x + width, endPoint.y, endPoint.z);
|
|
Vertices[22] = new Vector3(startPoint.x + width, startPoint.y, startPoint.z);
|
|
Vertices[23] = new Vector3(startPoint.x, startPoint.y - width, startPoint.z);
|
|
tempMesh.vertices = Vertices;
|
|
tempMesh.triangles = Triangles;
|
|
tempMesh.uv = uvs;
|
|
|
|
tempMesh.RecalculateNormals();
|
|
return tempMesh;
|
|
}
|
|
|
|
}
|