[Unity] 블렌더 ➡ 유니티 .fbx 파일 내보내기

치치·2025년 2월 23일

Unity

목록 보기
7/27
post-thumbnail

엘소드 모델링 파일을 유니티로 가져오기 위해 시도했던 방법을 까먹지 않기 위해 다시 작성한다
상업적으로 사용하지 않습니다. 어디까지나 모델링 가져와서 사용해보는 연습

진행 과정

  1. 데이터 파일 유형이KOM파일
    -> 안의 데이터를 확인하기 위해 특정 프로그램을 사용한다.
    -> 데이터 중 3D 모델링 관련 X파일을 찾는다.

  2. X파일을 블렌더로 바로 열 수 없기 때문에, 다른 프로그램을 사용하여 확장자를 바꾸고 블렌더로 이동시킨다

  3. 블렌더3D를 사용하여 확장자를 .fbx로 변환하기
    -> 모델링과 texture를 합한 파일을 내보낼 것이다

1. KOM파일 열기

파일 유형 타입이 KOM파일인 경우, 일반적으로는 개인이 열 수 없다
특정 프로그램인 KOM_View를 사용하여 파일을 열어보자
원하는 데이터 파일을 KOM_View로 드래그 하면 새롭게 열린 파일이 생긴다

파일 내부를 확인해보면 X파일, tga, DDS Image등 확장자가 다양한데
우리는 모델링을 확인할 것이기 때문에 X파일을 사용해야한다
-> 이 X파일을 유니티에서 활용하려면 Assimp 라이브러리를 사용하거나, .fbx 로 변환해야한다
-> 둘 다 해보았는데 확장자 변환이 더 간단한 거 같아서 후자를 택했다

X파일 : DirectX에서 사용하는 3D모델 파일 포맷


2. PmxEditor 사용하기

자료 찾는 데 힘들었다.. PmxEditor는 주로 MMD를 작업하시는 분들이 많이 사용하시던데, 사용법이 좀 어려웠다

참고 : https://mmdguide.tistory.com/897 / https://kkhk22.seesaa.net/

  1. All in One Runtime 을 다운받아줘야한다
    -> PMX Editor는 일본 프로그램인데, 안내해준 방식에 따라 모두 다운받아도, 프로그램이 열리지 않는 경우가 있다
    -> Adobe를 제외하고 모두 받아준다

  2. Pmx Editor에서 원하는 .X파일mesh를 불러온다
    -> 본과 리깅은 따로 보지 않는다. 전공자가 아닐뿐더러 따로 오토리깅을 사용해서 쓸 것이다
    -> MMD를 작업하시는 분들은 리깅을 할 것이지만.. 나는 아니니까요..!
    -> 그러니까 본은 다 제거하고 가져갑시다

  1. 내보내기 - Export
    -> 확장자는 .X
    -> 블렌더로도 .X파일을 바로 열게해주는 프로그램이 있기 때문에 바로 열어도 되지만, 메쉬들을 블렌더로 다 조합하기보단, Pmx에서 다 작업하고 가져가겠다

  2. 저장할때는 10배 사이즈로 잡아주기



3. 블렌더3D 사용하기

블렌더에서 .X파일을 임포트 하기 위해서는 별도의 패치 파일이 필요하다
.X파일을 바로 가져올 수 없다

깃허브에 사용자가 만든 해당 파일을 ReadMe대로 수행하자
-> 이 파일은 블렌더 내에 .X파일을 추가할 수 있도록 해주는 에드온(플러그인) 파일이다

참고 : https://github.com/oguna/Blender-XFileImporter

이제 .X파일을 가져올 수 있게 되었고, 한번 Mesh를 열어보자

이런. 텍스쳐가 없고 Mesh밖에 없잖아?
-> 당연하다. Mesh밖에 가져오지 않았기 때문이다. 블렌더 내에서 texture를 적용해보자

  • texture가 적용되려면 해당 mesh파일이 들어있는 폴더내에 동일한 texture가 들어있어야한다

  • 단축키Z를 눌러서 meterial preview를 보면 texture가 적용되는 것을 확인할 수 있다

  • 내보내기



유니티에서 중간 점검

  • 파일을 가져와보면, Pmx Editor에서 가져온 mesh파일과 블렌더에서 경로 복사로 가져온 texture 파일이 모두 들어있는 것을 확인할 수 있다
    -> 현재 texture들이 모두 material상태
    -> 이건 내가 블렌더로 가져올때, material을 적용한 상태로 가져왔기 때문이다

  • 유니티 내의 3D 모델링 들은 보면 mesh파일과 texture파일로 나뉘는데, mesh는 오로지 mesh만 해당하고, texture파일은 default 타입인 이미지이다

  • 보통은 이런식으로 texture파일이 있다

  • 나중에 따로 수정할 수 있는 방식이다.
    블렌더에서 mesh파일의 확장자만 .fbx로 바꿔서 내보내기 하면되는거고 유니티내의 texture파일을 가져와서 적용시키면 된다

  • 원래라면 3D 모델링을 유니티로 받아온 다음 Material을 추출하고, 경로를 지정해준다

  • 추출한 material에 원하는 텍스쳐타입이나 색상을 지정할 수 있다



4. 믹사모 오토리깅 사용하기

리깅을 사용할 줄 모르는데, 내가 원하는 3D 모델링 파일에 애니메이션을 사용하고 싶다!
믹사모의 오토리깅을 사용해보자
실제 게임 내의 애니메이션 파일을 사용하고 싶지만, DirectX 엔진을 사용하기 때문에 가져올 수 없었다..

  • 만들어둔 3D 모델링 가져오기 (확장자 .fbx)
    -> 새로 만들었을때, 텍스쳐가 안입혀져있더라.. 나중에 잘 확인하고 가져오기

  • 리깅 지정

  • 캐릭터 내보내기 시 Unity로 잡아주기

  • 애니메이션 내보내기도 마찬가지이다
    -> WithOut Skin으로 가져와야 애니메이션 파일만 가져올 수 있다

  • 캐릭터 파일과 캐릭터 애니메이션 파일 다운로드


  • 유니티로 가져가서 애니메이션 loop time 설정해주기
  • Animator Controller를 생성하고 조작한 뒤 결과물을 보자


  • 매우매우 잘되는군요


모작해보고 싶어서 꽤 많이 찾아보고 시행했다
잊어버리기엔 아쉬워서 글로 정리해보았다

실제 적용 예시
https://youtu.be/k64Ovc4YQRU
https://youtu.be/BTX5SMji5v4
https://youtu.be/BM9MaS5M5jM

profile
뉴비 개발자

0개의 댓글