오늘은 유니티의 mesh에 대해서 알아보도록 하겠습니다.


mesh란 쉽게 말해 점, 폴리곤(삼각형), UV를 관리하는 구조체입니다.

컴퓨터 그래픽, 특히 게임 그래픽은 삼각형이 기본이 되는데

이 삼각형(폴리곤) 2개를 가지고 사각형을 만든 다음 텍스쳐를 입히는 방식입니다.


폴리곤에 대해서 좀 더 얘기해보자면 mesh의 한 단위를 가리키는 것으로

이것이 많이 사용될수록 3D모델의 디테일이 좋다진다 할 수 있습니다.


이렇듯 mesh는 게임 제작에서 사용되는 모든 모델의 기초구조라고 생각하시면 됩니다.


오늘은 mesh의 verices, triangles, uv를 가지고 mesh가 만들어지는 과정에 대해 얘기해볼까 합니다.


앞서 말씀드렸듯이 mesh란 것은 삼각형들이 모여 만들어진 것입니다.

위의 상자에 보이는 v0,v1,v2.. 가 vertex(꼭지점)가 되는 것이고, 그것들로 이어진 삼각형이

triangle polygon이 되는 것입니다. 그렇다면 꼭지점을 만들고 이어붙여 폴리곤을 만든다음 mesh로 만들면 되겠네요.



이차원 사각형을 나타내는 코드입니다. 먼저 Vector3로 꼭지점의 좌표를 배열로 만들어 줍니다.

그 다음 삼각형을 만들어 주어야 하는데, int형 배열을 사용해서 3개씩 이을 꼭지점(vertices)의 인덱스를 입력해주면 됩니다.

삼각형이기 때문에 꼭지점을 3개씩 맞춰줘야 합니다. 이번에는 텍스처를 한번 넣어보도록 하겠습니다.



여기서 UV라는 놈이 나오는데, 텍스처를 넣으려먼 이 UV좌표를 설정해주어야 합니다. UV의 좌표는 vertex와 동일 해야 합니다.

uv의 수치는 0~1까지이며 다음과 같습니다.


즉, vertex가 

2        1

3        4            이 순서로 찍혔기 때문에


uv 좌표 또한

2        1

3        4            이 순서로 찍어주어야 합니다.


그리고 나서 mesh.uv에 만든 uv 배열을 넣어주고 SetTexture라는 함수를 만들어 원하는 텍스처를 입혀주시면 됩니다~


참고 : http://www.devkorea.co.kr/reference/Documentation/ScriptReference/Mesh.html







+ Recent posts