2017년 4월 5일 수요일

Unity 엔진에서 Mesh 만들기 기본

이번에 좀 복잡한걸 (사람 얼굴 ㅠㅠ) 직접 그려야 하는 일이 발생하여,
귀찮음에 울면서 했다.

사실 Mesh 생성 방법 자체는 간단하다.

1. MeshFilter 를 생성
2. MeshRenderer 를 생성
3. MeshFilter 에서 Mesh 를 _mesh 등으로 가져온 뒤
4. 정점을 찍고,
5. uv 를 설정하고,
6. 삼각형을 그려준다. 이 때 그리는 순서에 따라서 앞뒤가 바뀌니까 주의.
만일 그린게 어디갔는지 보이지 않으면, 카메라를 돌려보자 반대로 그려져있을 수 있다.

1까지는 그럭저럭 금방했는데,
2와 3은 노가다로 열심히 맞춰서 만들었다.. -_-;
삼각형을 잘 그려야 한다. <-

아래는 삼각형을 그리는 예제.
void Start(){


        gameObject.AddComponent<MeshFilter>();
        gameObject.AddComponent<MeshRenderer>();
        _mesh = GetComponent<MeshFilter>().mesh;

        // 그릴 값을 입력.
        mesh.vertices = new Vector3[] { new Vector3(0, 0, 0), new Vector3(0, 1, 0), new Vector3(1, 1, 0) };
        mesh.uv = new Vector2[] { new Vector2(0, 0), new Vector2(0, 1), new Vector2(1, 1) };
        mesh.triangles = new int[] { 0, 1, 2 };

}

댓글 없음:

댓글 쓰기