본문 바로가기
학원

DirectX 3D ExportMaterial

by Srff5123 2023. 11. 8.
728x90

assimp 라이브러리를 설치해야한다.

많은 정보를 가져오지는 못하지만 적당하게 쓸만하고 좋다.

 

이것을 적용하기 위해서는 Cmake라는 프로그램이 필요하다. 

 

Cmake를 실행시켜서 assimp를 선택해주고 적용하면

 

이런식으로 나오는데 필요한 정보가 있다면 찾아서 체크를 해주면 된다. 다 되었으면 Generate눌러주고

기다려준다음 assimp - result 폴더에 들어가면 비주얼로 열릴수있게 만든 파일이 생기게된다.

 

그러면 이제 assimp로 들어가 프로그램을 빌드해준다. 다 되었으면

이제 assimp - result  폴더로 이동하여  lib를 들어가 debug로 들어가면 lib파일이 생기게 된다.

이걸 이제 우리 프로젝트의 lib로 옮겨준다.

 

그다음 다시 assimp - result  - bin 폴더로 가서 dill을 우리 프로젝트 파일에 DLL폴더를 만들어 넣어준다.

 

이제 다음 헤더 파일을 넣어주는것은 assimp - include에서 assimp폴더를 통째로 복사하여 내 프로젝트에 넣어준다

 

그다음 DLL설정을 위해 프로젝트의 속성에 들어가 디버깅으로 가서 환경에 넣어준다

 

다음 이제 Framwork헤더파일에 assimp를 추가

 

이제 모델링을 뽑기위해 Model 폴더를 만들어 ModelExport.h 파일 생성하고 Framework헤더에 추

모델의 경로와 이름을 받는다. 다음 Material정보를 읽어오기 위한 read write export

이런식으로하면 XML로 뽑아 확인이 쉬움

 

 

cpp파일로 이동하고, import해서 assimp를 할당받아준다.

scene으로는 readfile로 파일 받아오기, LeftHande는 왼손좌표계로 컨버트한다. maxQuality 최고 품질로

다음 assert 함수 이용하여 없으면 터지게하기

 

다음 ModelExportScene.h 파일 생성

모델 추출

 

 

파일이름은 내가 다운받아 model에 넣은 fbx파일명  

모델은 Mixamo로 가면 무료로 다운 가능함.

 

 

이렇게하고 실행을 하면 이런식으로 현재 Scene에 어떤 정보가 있는지 확인이 가능

 

Material 정보 읽어오기

 

읽어온 정보를 바탕으로 Texture 생성하기

 

XML파일로 읽어온 Material정보 쓰기

 

실행하면

이런식으로 모델의 Texture파일과 Material 정보를 가져온다.

728x90

'학원' 카테고리의 다른 글

DirectX 3D Box Collision  (3) 2023.11.09
DirectX 3D ModelRender  (0) 2023.11.08
DirectX 3D SpotLight  (0) 2023.11.08
DirectX 3D PointLight  (0) 2023.11.07
DirectX 3D DirectionalLight  (0) 2023.11.07