Unity

메쉬 생성(vector3 기반)

Dean83 2023. 10. 18. 21:29

Mesh를 그리기 위해서는 MeshFilter 가 있어야 한다.

오브젝트에 MeshFilter를 추가 한 후, 해당 MeshFilter 에 Mesh를 만들어서 붙인다.

  1. Mesh의 vertices
    • 꼭지점 들의 리스트. Vector3
  2. Mesh의 triangles
    • 꼭지점을 이용하여 삼각형을 그리는 순서
    • 삼각형 하나를 그릴때는 0,1,2를 갖지만, 4각형을 그리려면 0,1,2,0,2,3 을 갖아야 함
      • 즉, 3개가 한 쌍
  3. 생성 후, Material 추가 → shader설정을 해주어야 함
//예제
MeshFilter _filter;

void Create()
{
	Mesh mesh = new Mesh();
	List<Vector3> verts = new List<Vector3>();
	Vector3 v1 = new Vector3(0,1,0);
	Vector3 v2 = new Vector3(1,-1,0);
	Vector3 v3 = new Vector3(-1,-1,0);

	verts.add(v1);
	verts.add(v2);
	verts.add(v3);

	List<int> index = new List<int>();
	index.add(0);
	index.add(1);
	index.add(2);
  mesh.vertices = verts.ToArray();
	mesh.triangles = index.ToArray();
	_filter.mesh = mesh;

}
  •