본문 바로가기

스킨드매쉬

[DirectX] Direct3D SkinedMesh 소스분석 정리 D3DXLoadMeshHierarchyFromX • 원래 상속받아서 쓰는 인터페이스임 • 즉, 원형만 만들어 놓은 추상 클래스임 • 프로그래머가 상속받아서 이용 • 스키닝 방법이나 기타 모든 것에 자유를 주면서, 일정한 형식을 갖추도록 한 것임 • 그 목적은 ID3DXAnimationController라는 인터페이스와 데이터가 묶이도록 하기 위해서임 • 즉, CAllocateHierarchy 클래스를 제대로 만들면 애니메이션을 다 구현했다는 것을 의미 • *.X 파일을 읽어오는 D3DXLoadMeshHierarchyFromX()가 이 클래스로 만든 객체의 포인터를 받아서 실제로 프레임 정보와 메시 컨테이너를 만들때 CAllocateHierarchy에 있는 함수를 사용하기 때문에 사용 • 지울 때도 CAl.. 더보기
[DirectX] 스킨드 메쉬 직접 구현(엑스파일 파싱) 스킨 메쉬의 해부 - 1(남병탁) 다이렉트 엑스 SDK를 설치하면 예제 디렉토리안에 메쉬라는 폴더가 있다. 그안에 스킨드 메쉬라고 하는 예제를 살펴 보면 Tiny라는 캐릭터가(남자인지 여자인지 의문이간다.) 걸어가는 것을 볼 수 있다. 각 관절의 끊어짐도 없으며 자연스러운 움직임을 보여준다. 하지만 이 예제는 너무나 복잡하고 어렵게 코딩되어 있어 분석하기가 만만치 않다. 몇몇 인터넷에 돌아다니는 자료를 살펴 보아도 그리 자세하게 설명된 것은 없었다. 목표 스킨드 메쉬 예제를 분석해서 애니매이션이 되는 원리와 계층구조 애니매이션, 스키닝에 대해 알아보고 스킨드 메쉬의 예제와 같게 소프트웨어 애니매이션을 구축한다. 이때 별도의 파일 포맷을 만들어 데이터를 추출하고 각각의 행렬 등 여러 전반에 걸친 것들을 살.. 더보기