ControlRigSamplesPack #1 Mannequin Body (foot)
뻘짓의 아픔을 딛고 이번엔 빠르게 진행 해 봐야겠다.
이번에도 내 관심사는 발.근데 이건 이전에 해 본 발이라 특이사항은 없을거 같지만,
그래도 천천히 분석 해 보자.
일단 구조 잡기.다리 IK를 위해 골반작업.
hip_tan_ctrl 이라는 컨트롤러가 있다. 위치는 첫번째 스파인과 같은 위치에 있고
일단 기억해 두자.
이거 그냥 IK 모드일때 첫번째 스파인 위치.
내 생각엔 스파인이 IK FK 나뉠 이유는 없어 보인다.
난 이 부분을 생략 하고 진행 하기로 했다.
첫번째 함수
ForwardSpine
스파인 스위치 모드 삭제
내부에 사용하는 함수 FK Point At
에라이
뭔가 쓸때없이 복잡한거 같아서 그냥 난 간단하게 새로운 함수로 만든다.
함수는
나중에 필요하면 추가한다.
이제 발!
발가락. 이건 필요 없고
ik컨트롤러
폴벡터
FK 부터 만들어보자
FK는 스위치가 false 일때
3개의 관련 함수를 만들어 줘야 한다.
레그부터 만들자.
previous ik mode와 negative side 그리고 softness 이 3개의 역할을 이름만 보고는 잘 모르겠다.
왜 이렇게 하는진 잘 모르겠네 그냥 참거짓으로 하면 안되나? 이건 나중에 한번 생각해 보자.
FK Point at 은
지금 난 IK가 없기때문에 이렇게만 FK만 우선 구성한다.
FK다리는 이렇게만 해도 OK
발은 발가락은 필요 없으니까 삭제하고 발 함수도 만들어 준다.
다리와 마찬가지로 일단 FK만 만들어 준다.
Previous IK Mode 는 모드 스위치를 할때 키를 찍어주기 위해 사용하는거 같다.
FK는 이게 다 니까 오른쪽도 복사를 해주고, 드디어 재미있는 IK를 만들어주자!
이해를 하고 보니 확실히 이해가 간다. 네거티브 사이드일 경우 뒤집힌 방향이니 180을 곱해주고 그 값으로 셋팅을 해 준다.
IK 셋팅 전에 visibility 만들어서 FK를 숨겨준다.
여기서 추가되는 함수 Set IKFK Visibility
이렇게 만들어주고
복잡한건 없다.
Not을 사용하는 이유는 두 조건이 항상 같아야 하기 때문이다.
쇼 컨트롤 컨디션이 참이기 때문에
IK 컨트롤러와 폴벡터를 만들어 주자
용도가 다 있겠지만, 만약 내가 키를 잡는 사람이면 구성을 이렇게 하지 않을것이다.
함수를 추가 하면서각각의 용도를 분석하고 구성을 좀 바꿔봐야 겠다.
일단은 뭐가 뭔지 나도 잘 모르니까 다 달아주고
두개의 함수를 추가해 준다.
Compute Pole Vector Parent
IK 2 Bones
이렇게 만든다.
thigh본 월드 좌표 기준으로 폴벡터 컨트롤러를 정렬시켜주는 역할을 한다.
널을 사용하는 이유는 아무래도 컨트롤러의 좌표를 0으로 유지 시키며 위치 시키는 역할 아닐까? 내가 맥스에서 더미나 포인트를 사용하듯이?
정말 align이 되는지 확인해 봤는데
안된거 같은데? 일단 넘어가자.
드로우는 지우자.
IK 2 Bones
이건 딱히 중요하진 않다.
primary axis 본의 진행방향. 부모-> 자식
이런 경우 primary axis x1 secondary axis y -1
이펙터
드디어 softness 를 만났다.
스트레치 범위설정인거 같다. 이 변수의 셋팅한 맥스값이 2였으니 stretch maximum ratio 도 2로 설정해준다
이걸 근거로 softness float 값은 알파값임을 추측할수 있다.
IK 2 Bones 함수의 내부 함수 들이라 다른곳에 영향을 주지는 않을것이니 없어도 상관없고,
난 이게 딱히 필요 없는 기능이긴 한데,공부삼아 똑같이 하기로 한다.
calf와 foot 의 로컬 좌표 primary axis를 가져와 더해 기본 길이를 구하고,
Exponential
지수의 라는 뜻
리니어와 반대의 의미로 사용
리니어에 비해 적은 값의 움직임으로 큰 작용을 얻는다.
요런걸 해주고, 왜 이렇게 작은 값이 필요할까?
이렇게 ik 다리가 끝이 난다.
너무 길어지는 관계로 발은 따로 기록해야 겠다.
오른쪽 복사 해 주고 끝내자.