SMD파일은 2개의 버전으로 구성 -> Reference , Animation file로 구성
공통구성data : bone의 node구성
Reference : 0프레임의 bone position/rotation data triangle,
texture map data
Animation : 모든 프레임의 bone position/rotation data
섹션별 구성
Header
“Version 1” 버전을 표시
Node tree
뼈의 모든 본의 목록을 나타낸다.
부모가 없는 Objects는 부모의 ID가 –1이다.
nodes
<ID> “Bone Name” <Parent ID>
…
end
Skeleton Pose
뼈 구조의 모든 본들의 position/rotation값들로 구성
Animation SMD는 매프레임마다 “time”블럭으로 저장
Reference SMD는 첫 프레임의 한 타임만 저장
Skeleton
Time 0
<ID><PosX><PosY><PosZ><RotX><RotY<RotZ>
<ID> ® Bone index,
<PosX><PosY><PosZ> ® 월드 좌표계에서의 위치값
<RotX><RotY<RotZ> ® Local Euler 라디안 회전값,부모의 local space의 회전값
…
Reference SMD’s 이 프레임만 출력
Time 1
…
end
// Animation SMD 여기까지 출력
Triangle block
Triangles 리스트만 포함
Triangles
“bitmapname.bmp”
<Parent><PosX><PosY><PosZ><NormX><NormY><NormZ><TexU><TexV>
…
<Parent> ® vertex의 부모 bone의 ID번호
<PosX><PosY><PosZ> ® 월드 좌표계에서의 vertex위치값
<NormX><NormY><NormZ> ® 스무싱을 위한 vertex normal vector
<TexU><TexV> ® vertex의 texture 좌표값
버텍스 3개씩 기록
“nextBitmapName.bmp”
…
새로운 triangle리스트 기록
..
end
'기타' 카테고리의 다른 글
은행별 swift 코드 정보 (0) | 2014.06.03 |
---|---|
[본문스크랩] 캐릭터 애니매이션 2 - 스티칭애니 SMD (0) | 2014.05.04 |
[본문스크랩] 하프라이프 mdl 파일포멧과 3d모델구조 (0) | 2014.05.04 |
MD2 뷰어 (0) | 2014.05.04 |
하프라이프 모델뷰어 (0) | 2014.05.04 |