날아다니는 나비 만들기
몇가지 일이 계속 쌓여서 미루고 미루다 드디어 글을 마무리 짓는군요. 버텍스 셰이더에서의 정점 위치 오프셋 조정과, Alphatest를 이용해 나비의 날갯짓을 만들어보았습니다. < 준비물 > 1 ) 텍스쳐 먼저 나비텍스쳐가 필요합니다. 저는 http://pngimg.com/download/1037 에 포스트된 알파값이 포함된 나비 이미지를 사용했습니다. 2 ) Mesh 이번 나비 셰이더에서 사용하기 위해 평면 Mesh 를 만들었습니다. 이때 텍스쳐 매핑을 고려해서 Mesh의 정면과 나비의 머리가 동일한 방향에 위치하도록 UV를 설정하는 것이 좋습니다. Blender 나 3dsmax 등으로 직접 Mesh를 제작하지 않더라도, 엔진을 사용할 경우 기본 Mesh 몇가지를 제공합니다. 이 때 Unity Quad 의 경우 Plane 과 달리 Local XY 평면으로 서있는 형태를 띕니다. 보통 게임 오브젝트의 정면 방향을 +Z 축 방향으로 잡는데, 이 정면 방향으로 나비 오브젝트를 움직이려고 한다면 나비가 벌떡 서서 날아가는 모양새가 되겠죠. 보통 우리가 나비가 날아가는 모습을 볼때 서서 날아가는 모습을 보지는 않았을 겁니다. 그러므로 눕혀져있는 Plane을 사용하거나 눕혀져있는 Quad Mesh 를 사용하는 것이 적절할 것 같습니다. < 애니메이션 > 날개짓에 사용할만한 그래프 형태의 경우 구글 검색창에 Math Dance 같은 키워드로 검색해보면 몇가지 아이디어를 찾을 수 있습니다. 다음은 몇가지 그래프 예시입니다. x값은 texcoord의 x좌표, y값은 버텍스가 이동할 높이, t 는 시간값을 대입하면 됩니다. 밑의 그래프를 통해 나비를 정면에서 보았을때 나비의 날갯짓이 어떤 모양을 가질지를 연상하시면 좋습니다. 단순히 2차방정식을 응용한 식을 사용해도 될것이고 혹은 절대값x + t 에 si...