MaxExporter ASE DirectX

2018. 6. 27. 16:36기술/자체엔진

반응형

3D Max에서 Box를 ASE 파일 포맷으로 익스포트(Export) 합니다.



파일 정보에는 노드 이름, 월드 행렬 정보, 부모 노드 이름, 정점 정보, 폴리곤 정보, 노멀 정보등이 있습니다.

이 값들을 읽어와서 DirectX API로 렌더링 해줍니다.


하나의 GEOMOBJECT가 하나의 GameObject가 되고 렌더링은 ComRenderAse 구성요소(Component)로 만들어 주었습니다. 행렬 계산은 셰이더로 해주고 텍스쳐는 범프맵을 이용해야 할 것 같습니다.



애니메이션 Transform, Rotation, Scale 정보가 있는데 이 값들을 읽어와서 애니메이션 시켜 줍니다.


캐릭터가 서있는 기본적인 메쉬들과 행렬(Matrix)를 읽어오고


애니메이션 값들은 따로 읽어와서 애니메이션 정보들을 바꾸어 주었을 때 변환된 애니메이션을 적용 하면 됩니다.


1. free3d.com에서 범프맵 텍스쳐가 있는 박스.3ds를 하나 다운로드 받습니다.


2. position값을 0, 0, 0.5, scale값을 0.5, 0.5, 0.5 맞추어 줍니다. 크기를 0.5로 맞추어 주어야 왼쪽 0.5 + 오른쪽 0.5해서 박스 크기가 1이 됩니다.


3. Export ASE를 하는데 Mapping Coordinates를 체크해야 텍스쳐 UV값이 파일로 출력됩니다. (확실히 MAX는 위 방향이 Z입니다. ^^;)


4. 정점 정보만 읽어와서 렌더링 해주었을 때 화면입니다.


5. 재질을 읽어와서 렌더링 해줍니다.



현재 개발중에 있습니다.





반응형

'기술 > 자체엔진' 카테고리의 다른 글

셰이더 (Shader)  (0) 2018.07.19
벡터의 외적  (0) 2018.06.29
Game Object Component System 설계  (0) 2018.06.27
3D 수학 기본 (WinAPI, DirectX 렌더링)  (0) 2018.06.12