해당 강좌에서는 아바타의 옷을 다른 옷(전용 옷)으로 바꾸는 법을 다룬다.
수동으로 입히는 법을 알려주지만, 요즘에는 모듈러 아바타라는 에셋을 통해 클릭 한 번이면 입힐 수 있으니
옷을 입는 원리만 이해하고 넘어가도록 하자.
모듈러 아바타는 다음 강좌에 다룬다.
왼쪽 아바타에 오른쪽 전용옷을 입힐 것이다.
먼저 프로젝트 탭에서 옷의 프리팹을 가져와 아바타 하위에 넣어준다. 이름을 잘 보고 뒤에 .prefab이 붙어있으면 프리팹이다.
프리팹 = 제작자가 미리 세팅해둔 값들을 포함하는 조립품
팁: 하나 클릭 후 시프트 누른채로 클릭: 거기까지 전체 선택
Ctrl 누른채로 클릭: 선택된거에 추가로 같이 선택
옷이 겹쳐있으니 원래 아바타의 옷을 선택 후 인스펙터(Inspector) 탭에서 체크를 눌러 꺼준다.
해당 옷들을 아얘 안 입을 거라고 판단 되면 지워줘도 된다.
옷을 끄고 보니 아바타의 다리나 팔이 이렇게 젓가락이 돼 있는 경우가 있는데, 이건 아바타 제작자가
옷 입힐 때 완전히 가려지는 부위를 안 뚫리게 하라고 만들어둔 쉐이프키다.
body에 들어가서 BlendShape부분을 살펴보면 보통 Shrink_뭐시기라고 적혀있다.
현재 다리 부분에 해당 하는 값이 100으로 돼 있어서 그런 것이니 0으로 변경해주면 된다.
아바타 하위에 넣었다고 옷 입히기가 끝난 게 아니다.
이제 옷의 모든 본을 같은 이름의 아바타 본 하위로 넣어줘야한다.
본이 뭐냐면
아바타 하위에 Armature밑에 있는 모든 것들이 본(Bone)이다.
말 그대로 뼈이며 본이 움직이면 해당 하는 메쉬가 같이 움직인다.
그럼 옷이 내 아바타의 움직임에 따라 오게 하려면 어떤 원리인지 대강 짐작이 갈 것이다.
유니티는 계층 구조로 돼 있어서 부모가 움직이면 자식들도 움직인다.
즉, 아바타의 본이 부모가 되고 옷의 본이 자식이 되면 같이 움직일 것이다.
이 부모가 아니니 뉴비들은 헷갈리지 말자.
다시 아바타로 돌아와서,
옷의 Armatrue하위에 Hips라는 본이 있는데, 우리 아바타에도 Hips라는 본이 있다.
옷의 hips를 끌어서 아바타의 hips로 가져가면 옷의 hips가 아바타의 hips의 자식이 된다.
근데 끌어보려니 이런 프리팹 뭐시기 창이 뜨는데
옷을 우클릭해서 Prefab -> Unpack Completely를 눌러주면 된다.
옷 제작자가 만들어둔 포장지를 뜯었으니 내 맘대로 할 수 있게 되는 것이다.
이제 부턴 노가다 밖에 없다..
같은 이름을 가진 본들을 아바타 본 하위로 잘 넣어주는 수 밖에.
이름이 같지 않은 본은 그대로 두면 된다.
잘 넣었는지 확인 하려면
아바타 본을 회전 시키면서 옷도 잘 따라오는지 테스트 하면 된다.
회전 시키고 ctrl + z로 원상 복구 시켜주는 것을 잊지말자.
해당 사진에서는 Neck을 움직였을 때 목걸이가 안 따라 왔으니,
옷의 Neck본을 아바타의 Neck본 하위로 안 넣었다는 것을 알 수 있다.
이런 노가다를 언제 다 하고 있냐.
해당 방식은 귀찮은 것도 귀찮은건데, 아바타의 구조를 파괴시킨다는 것도 문제다.
나중에 저 옷을 빼고 싶다면 옷의 메쉬만 지우는게 아니라, 본들도 다 찾아서 지워줘야 탈이 없는데 그것도 일이다.
이에 불편했던 원시 브챗 유저들은 자동으로 입혀주는 툴들을 개발했고
그중 비파괴 툴로 유명한 것이 모듈러 아바타다.
다음 강좌에 계속 작성하겠다.