몬헌 아이스본 모드 만들기 - 3D 모델 교체
NoChunk(언팩툴)
https://www.nexusmods.com/monsterhunterworld/mods/411
텍스처 컨버터
https://www.nexusmods.com/monsterhunterworld/mods/440
DDS 플러그인
https://software.intel.com/en-us/articles/intel-texture-works-plugin
블렌더
블렌더용 임포터
https://www.nexusmods.com/monsterhunterworld/mods/969
https://github.com/AsteriskAmpersand/Mod3-MHW-Importer/tree/1.5.0
모드 위키
https://github.com/Ezekial711/MonsterHunterWorldModding/wiki
*블렌더 2.8용 임포터
20/05/10 현재 임포터 제작자가 넥서스에는 블렌더 2.8용 임포터를 삭제하고 2.79용만 올려놓았습니다. 2.8용을 쓰시려면 번거롭지만 몇 가지 과정을 거쳐야 합니다.
1 파일 다운
2 압축 풀기
3 폴더명 변경
MoMod3-MHW-Importer-1.5.0 > Mod3-MHW-Importer-master
4 재압축
5 그 파일로 블렌더 2.8에서 설치
아래 링크의 글에는 간단하게 스샷도 추가해서 정리해 놓았습니다.
https://skymoonmod.tistory.com/27
MHWNoChunk
노청크는 몬헌의 데이터 파일인 chunk 파일을 풀어주는 툴입니다. 일종의 압축 해제라고 보시면 됩니다.
그냥은 사용할 수 없고 oo2core_8_win64.dll 파일을 노청크 실행파일이 있는 폴더에 넣어야 이 툴이 정상적으로 작동합니다. 이 파일은 올려도 되는지 몰라서 안 올리긴 했는데 따로 찾아서 넣으셔야 합니다. 인터넷에서 찾기 어려우면 스팀 게임 중에 warframe 이라고 무료 게임이 있는데 이거 설치하면 게임 폴더 안에 해당 파일을 찾을 수 있습니다.
사용방법은 별 거 없습니다. 몬헌 게임 파일 중에 chunk 로 시작하는 파일을 노청크 툴에 끌어서 놓으시면 파일이 열립니다. 거기서 원하는 파일 체크한 다음 extract 하시면 됩니다.
노청크로 파일을 열었을 때 보이는 폴더 중에서 pl 이 플레이어의 장비 파일이 들어있는 폴더입니다. f_equip 은 여자, m_equip은 남자이고 그 밑에 들어가면 숫자가 붙은 폴더가 여러개 나옵니다. 각 숫자가 어떤 장비를 의미하는 지는 아래 링크에서 확인하실 수 있습니다. 다만 아쉽게도 영문입니다.
방어구 id https://github.com/Ezekial711/MonsterHunterWorldModding/wiki/Armor-IDs
무기 id https://github.com/Ezekial711/MonsterHunterWorldModding/wiki/Weapon-IDs
저 위의 모드 위키 링크에 들어가면 이거 외에도 npc, 몬스터, 아이템 등등 뭐가 뭔지 다 정리되어 있으니 저기서 찾으시면 됩니다.
DDS 플러그인
dds 플러그인은 게임 텍스처 파일을 열기 위해 필요합니다. 보통 모드 커뮤니티에서는 인텔 플러그인을 많이 쓰는데 엔비디아 플러그인 쓰셔도 기능에는 문제없습니다. 다만 튜토리얼 이런 거 보시면 보통 인텔 플러그인 많이 쓰기 때문에 좀 헷갈릴 수는 있습니다.
MHWTextureConverter_By_Jodo
몬헌 텍스처 파일인 .tex 파일을 dds 파일로 바꿔주거나 dds를 다시 tex 파일로 바꿔주는 툴입니다. 옛날 툴이 지원 안 하는 타입이 종종 있거나 했는데 얘는 대부분의 타입을 제대로 지원합니다.
Blender / MHW Mod3 Importer
블렌더는 오픈소스 3D 프로그램입니다. UI가 일반적인 윈도우용 프로그램과는 다른 부분들이 있어서 그 전까지는 사용하기 힘들었는데 2.8부터 많이 달라져서 좀 쓸만해졌습니다. 블렌더는 설명할 내용도 많고 복잡할 수도 있을 거 같아 얘의 사용법은 일단 생략했습니다. 다른 3d 프로그램을 다뤄봤던 분들이라면 좀 헤매더라도 이것저것 하다보면 익숙해지시지 않을까 싶습니다.
블렌더는 애드온을 설치할 수 있는데 몬헌의 3d 모델 파일인 mod3 파일을 읽어올 수 있는 블렌더용 애드온이 MHW Mod3 Model Importer 입니다.
넥서스에서 블렌더 2.8용 임포터를 다운 받으시고 블렌더에서 애드온을 설치하셔야 합니다.
애드온 설치는 zip 파일 압축 풀 필요 없고 블렌더 프로그램 상에서 Edit > Preferences -> Add-ons -> Install 눌러서 zip 파일 찾아서 지정해주시면 됩니다.
설치한다고 바로 적용이 되지는 않기 때문에 체크박스 눌러서 체크해주셔야 합니다.
애드온이 정상적으로 설치/적용되었으면 Import 와 Export 항목에 mod3 가 표시됩니다.
NoChunk로 원하는 방어구나 무기의 압축을 풀었으면 거기 찾아보시면 mod3 파일이 있을 겁니다. 그 파일을 import 해줍니다.
위 영상의 예제에서는 남성용 076의 헬멧을 열었습니다. 076은 하베스트 덧입기 장비입니다. 여기에 다른 외부 3d 모델을 불러와서 쟤와 교체를 할 겁니다.
적당한 애를 불러와서 위치와 크기를 맞춰줍니다.
이제 원본 076 의 웨이트 값을 교체할 모델에 복사해 줄겁니다.
먼저 타겟 모델, 예제에서는 저 뿔난 투구를 선택하고 그 상태에서 076 원본 모델을 ctrl을 누른 상태에서 클릭해서 2개가 동시에 선택이 되게 합니다. 선택 순서가 다르면 잘 안되니 순서를 맞춰서 선택해 주셔야 합니다.
그리고 Object > Relations > Transfer Mesh Data > Vertex Groups 한 다음 왼쪽 밑에 뜨는 Transfer Mesh Data 를 눌러 창을 확장, 거기서 Source Layers Selection 을 All Layers로 바꿔줍니다.
리깅을 할 줄 아는 분들은 굳이 웨이트 값 복사 안하고 직접 웨이트를 수정하셔도 됩니다.
복사가 제대로 되었으면 원본 모델처럼 새로 추가한 모델도 웨이트값이 들어간 걸 확인할 수 있습니다.
이제 원본 모델인 076의 메시를 지우고 거기에 교체할 모델을 병합시킬 겁니다.
오브젝트 전체를 지우는 게 아니라 버텍스만 지울거기 때문에 076을 선택한 상태에서 Edit Mode 로 들어가서 버텍스 전체를 선택한 다음(윈도우에서는 보통 ctrl + A 가 전체선택인데 블렌더에서는 그냥 단축키 A 입니다) Delete 해주시면 됩니다.
*블렌더는 모드를 전환하면서 오브젝트를 수정합니다. 기본은 오브젝트 모드인데 여기서는 선택 정도만 가능하고 에디트 모드 들어가면 메시 수정이 가능합니다. 에디트 모드 상태에서 다른 오브젝트 선택하려면 다시 오브젝트 모드로 돌아간 다음 선택해야하기 때문에 이런 모드 전환에 익숙해져야 블렌더를 사용할만 합니다.
076의 버텍스를 다 지우고 나면 메시는 없는데 오른쪽에 m_helm076... 오브젝트는 아직 남아있는 상태가 됩니다. 빈 집만 남아있는 셈이죠. 여기에다가 교체할 모델인 뿔난 투구 모델을 합쳐줄겁니다.
교체할 모델을 선택한 후에 빈집이 된 076 원본 모델을 ctrl을 누르고 클릭해서 둘을 동시에 선택합니다. 그리고 ctrl + J 를 누르면 둘이 합쳐집니다.
이 정도면 대략적인 작업이 끝난 상태입니다. 오브젝트 이름은 m_helm076... 이지만 그 안의 메시는 뿔난 투구입니다.
이제 Export를 하면 되는데 보통은 에러가 발생하고 실패합니다. 이 때 어떤 에러 메시지가 떴는지 확인하려면 시스템 콘솔 창을 띄워야 합니다.
위와 같이 시스템 콘솔창을 띄운 후에 File > Export > mod3 를 통해 익스포트를 실행해서 처음에 읽어들였던 mod3 파일을 선택합니다.
Export를 했더니 위와 같은 에러 메시지를 띄우고 Export에 실패했습니다. 에러 메시지를 살펴보니 UV가 3개라서 호환이 안되는 모양이네요.
저기 역삼각형 모양의 아이콘 탭에서 UV Maps를 선택해보시면 뭔가 3개가 있습니다. 이걸 하나만 남기고 지워줍니다.
이런 경우는 위의 예제에서 교체하려고 불러들인 뿔난 투구 모델이 3개의 UV 맵을 갖고 있었기 때문입니다. 교체하시려는 모델에 따라 다를 수도 있습니다.
UV맵을 1개만 남기고 Export 했더니 좀 전의 에러는 해결되었는데 새로운 에러가 떴습니다. 이번에는 blocklabel 이 잘못되었답니다. 이걸 삭제하거나 이름을 IASkin8wt1UVColor 로 바꾸라고 합니다.
저기 역삼각형 아이콘 탭(Object Data Properties) 에 들어가서 Custom Properties를 살펴보시면 blockLabel 항목이 있습니다. 이거의 이름을 위에서 말한대로 바꿔줍니다.
그리고 다시 Export 합니다.
*저기 Custom Properties 항목에 있는 값들이 몬헌에서 쓰는 값입니다. material은 해당 오브젝트가 어떤 머티리얼을 쓰는지 지정할 수 있고, visibleCondition은 게임 내에서 보이게 할 지 안 보이게 할 지 설정할 수 있습니다. 어떤 값이 뭘 의미하는지는 까먹었네요.. 다른 거랑 비교해보면서 값의 의미를 찾으시면 될겁니다.
시스템 콘솔창을 살펴봤을 때 에러 메시지가 없으면 성공적으로 Export 된겁니다. Warning은 그냥 무시해도 됩니다. 이제 게임에서 살펴보겠습니다.
뿔난 투구가 잘 들어간 게 보입니다. 이제 텍스처만 바꿔주시면 됩니다.
텍스처는 .tex 파일입니다. 이 파일을 MHWTexConverter_by_Jodo 파일로 변환을 해주면 dds 파일로 바뀝니다. 변환은 그냥 드래그 앤 드랍 해주시면 알아서 됩니다.
dds 파일은 dds 플러그인을 설치한 포토샵으로 열거나 저장할 수 있습니다. 텍스처 컨버터로 파일을 변환하면 파일명 앞에 BC5_, DXT1_ 이런 글자가 붙는데 이 문구가 해당 dds 파일의 텍스처 압축 타입을 의미합니다. 나중에 파일을 저장할 때 이와 동일한 타입으로 저장해주시면 됩니다. 저장 후에 dds 파일을 다시 텍스처 컨버터에 드랍 하시면 이게 .tex 파일로 바뀝니다. 이 과정을 거쳐서 텍스처 수정까지 해주시면 됩니다.
dds 파일을 tex로 변환할 때는 파일명을 기존의 tex 파일과 동일하게 맞춰준 다음 변환해주시면 됩니다. 그러면 기존의 tex 파일을 덮어쓰고, 예전 파일은 .old 파일로 바꾸면서 변환이 완료됩니다.
텍스처까지 다 바꿔준 다음 게임에 들어가보면 정상적으로 적용되는 것을 확인할 수 있습니다.
Export 할 때 뜨는 에러 메시지 중에 제일 많이 뜨는 것이 위와 같은 메시지입니다. 이 부분은 위의 영상 후반부에 포함되어 있고 그 부분만 설명한 페이지도 있기 때문에 설명은 생략하겠습니다.
영문이긴 한데 그림도 있으니 도움이 되실 겁니다. 저 글 보고 영상 보고 하시면 큰 어려움은 없지 않을까 싶습니다