ControlRigSamplesPack #1 Basic biped (foot)
https://www.unrealengine.com/marketplace/en-US/product/control-rig-samples-pack
나의 최대 관심사는 발!
발을 살펴 보자
두 종류가 있는데 난 이 방식이 더 마음에 든다.여기서 좌우 회전을 추가 하면 키 잡는데 크게 불편함이 없어 보인다.
우선 루트와 골반 컨트롤러를 추가 해 주고 분석해 보자.
간단해 보인다.
내가 테스트 하는 바디에 맞게 만들어주고
이 스켈레톤은 본 계층구조가 문제가 좀 있다.
트랜스폼 변수를 만들어 준다. 어디에 쓰이는걸까?
찾아보니 다리와 팔의 스케일값으로 사용한다.
이제 발!
null을 많이 사용했네
왤까? 따라 만들어 보면서 생각 해 봐야겠다.
널을 이용해 컨트롤러의 트랜스폼 값을 0으로 유지 하기 위함.
난 루트부터 잘못되어서 다시 함.ㅅㅂ...
지금 발가락은 왜 널이 3개나 있는지...널의 트랜스폼 값을 어떤 기준으로 만드는지 모르기때문에 발가락 컨트롤러 부분은 뒤로 잠시 미뤄두고 진행 한다.
leg 함수를 만들어 준다.
인풋인자를 똑같이 추가 해 주고.
함수를 분석 해 보자.
복잡해 보이지만, 그냥 노드가 지저분 한 거지 어렵지 않은 함수다.
단순한거 부터 나도 따라 만들어 본다.
아...내부에 함수가 두개 더 있다 matchIK 와 matchFK
이걸 먼저 만들어줘야 겠다.
matchFK
인풋으로 컨트롤러와 상응하는 본을 가져오는 배열
루프 돌려 컨트롤러와 매칭되는 본 가져오고 트랜스폼 값 가져와서 컨트롤러에 셋
왜냐하면
IK 일때 FK 컨트롤러를 본위치에 두기 위해 ,반대도 마찬가지.
matchIK
본과 컨트롤러를 배열로 가져와 변수에 저장을 한다.

그리고
약간 다르다면 ik 는 트랜스레이션 값만 가져온다. 당연하다.
send event 를 하나더 추가 해서 ik_bone 배열의 요소를 연결 해 준다.
그리고 키를 찍어준다. IK 와 FK를 오갈때 빈키로 인한 오차가 발생하지 않게 하기 위해서이다.
그리고 이건 팔 폴벡터 셋팅인거 같다. 일단 비워둔다 난 지금 발만 하고 있으니까.
한참 찾았다.
이건 reroute 를 먼저 생성하고 배열로 바꾼후 내가 원하는 값으로 연결하면 자동으로 바뀐다.
이렇게 위에서 아래로 순서대로 만들면 된다.
이걸 몰라 난 2시간을 허비했다...
ik 와 fk 스위치로 컨트롤러를 숨겨준다.
false 일때 fk 가 active 된다.
마찬가지로 false 일때 fk 로 키를 잡고 해당 위치에 ik 컨트롤러를 같이 이동시켜준다.
이건 IK
이렇게 함수를 만들었으니 포워드솔브에서 실제 작동하게 만들어보자.
폴벡터 설정해 주고
FK부터
보려다가 참고하는 언리얼프로젝트 matchIK에 문제가 되는 부분 기록
시퀀스에서 작동하지 않는 버전임을 방금 확인. 바이패드 버전은 오류가 많아서 발 까지만 어떻게 해 보고 CR_Mannequin_Body 참고로 다시 만들어야 겠다.
이런걸 샘플이라고 올리면 어떻게 해 정리를 좀 하고 올리지...
엉망이네 엉망이야
하루 반나절 버렸다.
마네킨 바디로 다시 시작 하자