유니티에서 메시(Mesh)의 정점 와인딩 순서(winding order)

유니티에서 메시(Mesh)의 정점 와인딩 순서(winding order)

유니티는 기본적으로 전면 폴리곤을(front-facing polygons) 렌더링하고 후면 폴리곤을(back-facing polygons) 렌더링에서 제외합니다(cull) 
폴리곤은 세 개 이상의 정점으로 구성되며 이 정점들은 일정한 순서로 연결되어 폴리곤의 모양을 결정합니다. 와인딩 순서(Winding order)는 이 정점들을 연결하는 순서를 나타내는것으로 유니티는 시계 방향(clockwise) 와인딩 순서를 사용하여 면이 앞을 향하는지(front-facing) 뒤를 향하는지(back-facing)를 결정합니다. 
https://docs.unity.cn/2023.1/Documentation/Manual/AnatomyofaMesh.html

 
 
시계방향 와인딩순서와 반시계방향 와인딩순서(clockwise, counter-clockwise)

https://www.khronos.org/opengl/wiki/Face_Culling
 
1)아래 스크립트에서 3개의 정점으로 구성된 삼각형 메시를 생성합니다.

 
2)mesh.traingles 배열에 존재하는 세개의 정수는 순서대로 삼각형을 구성하는 세개의 정점 인덱스를 의미합니다.
(0, 1, 2)

 
3)mesh.traingles 배열에서 두번째 요소와 세번째 요소의 값을 변경합니다.
(0, 2, 1)

 
4)와인딩 순서가 변경되고 삼각형이 표시되지않는것을 확인할수있습니다(back-facing polygons) 

 
5)카메라를 회전하여 반대 방향 뷰로 설정하면 삼각형을 표시하는것을 확인할수있습니다(front-facing polygons) 

댓글

Designed by JB FACTORY