맥스에서 기본으로 출력되는 ASE파일의 TM(변환행렬)은 월드 행렬.
Bone, Biped 구조일 경우에 각 노드마다 로컬 TM이 필요함.
로컬 TM = 자신 TM * Inverse(부모 TM)
이렇게 구해진 로컬 TM을 Bone 구조에 따라 차례대로 곱해주면
원래의 각 노드별 월드 행렬을 구할 수 있음.
맥스에서 캐릭터를 만든 다음 Bone, Biped를 이용하여 붙이는 작업을 하게됨.
만들어진 캐릭터 역시 월드좌표 기준으로 완성되어 있음.
위에서 구해진 계층 구조 TM을 적용할려고 캐릭터 정점에 바로 계층 구조TM을 곱하면 안됨.
계층 구조로 이루어진 각 노드의 월드 TM은 월드 좌표 원점 기준 변환 TM임.
그러므로 현재 월드 좌표로 이루어진 캐릭터 정점에 계층 구조TM을 곱하면
엉뚱한 좌표로 이동하게 됨.
노드 월드 TM의 역행렬을 구하면 노드 중심의 피봇 좌표계로 이동가능.
최종 변환 정점 = 캐릭터 정점 * 피봇 TM * 계층 구조 TM
= 캐릭터 정점 * Inverse(노드 월드 TM) * 계층 구조 TM