모델링에서 관절 웨이팅은 어렵다.
무릎도 마찬가진데
다리를 굽히게 되면 무릎 아래 메쉬가 무릎 위 메쉬를 뚫는 경우가 생긴다.
그나마 마누카는 굉장히 웨이팅이 잘 됐고 메쉬 구조도 괜찮아서 엄청 구부리지 않으면 괜찮은데
원래는 이런 느낌임
이를 해결하기 위해 모델링 하는 사람들은 2중 관절 기법을 사용한다.
적용 된 아바타들도 있을진 모르겠는데 우선 사진을 보자.
이는 2중 관절이 적용된 무릎의 모습이다.
이는 2중 관절이 적용되지 않은 무릎의 모습이다.
앞모습은 이렇다. 우측이 2중관절
그래서 2중 관절이 뭔데?
기존의 아바타는 하나의 관절만 존재한다. 이는 현실의 인간과도 맞지 않다.
참고) 인간 무릎 관절 실제 움직임
2중 관절은 윗 다리와 아랫다리 사이에 본이 하나 더 추가된 형태다(사진의 2번 본)
1번 본은 여전히 윗다리랑 부모 - 자식 관계를 유지한다.
2번 본도 윗다리와 부모 - 자식 관계를 유지한다.
계층으로 표현하면 이렇다.
윗다리 본
ㄴ2번 본
ㄴ3번 본
ㄴ아랫다리 본
작동 원리는 다음과 같다.
1. 아랫다리가 회전하면 2번 본은 그 절반만큼 회전한다.
2. 아랫다리는 3번본의 위치를 따라간다. (본에는 길이가 없으나 이해하기 쉽게 3번 본의 머리)
블렌더에서는 포즈모드에서 제약 조건이란 것을 통해 구현할 수 있고
유니티에서는 position constraint와 rotation constraint로 구현 할 수 있다.
즉, 1번 본에는 position constraint를 두고 3번 본을 따라가게 하고
2번 본에는 rotation constraint를 둬서 1번 본의 회전의 절반(0.5) 만큼 따라하게 만들면 된다.
계층 구조가 바뀌지 않기 때문에 풀트해도 문제 없이 잘 된다. (내가 해봄)