https://youtu.be/zVcHh6zSsHQ

 

사용 툴

Blender + 애드온

https://www.blender.org/

https://www.nexusmods.com/witcher3/mods/6118

https://github.com/NSACloud/Blender-RE-Mesh-Noesis-Wrapper

RE tool / List 파일

https://residentevilmodding.boards.net/thread/17641/retool-216-re4r-file-list

Noesis / RE plugin

https://richwhitehouse.com/index.php?content=inc_projects.php&showproject=91

https://github.com/alphazolam/fmt_RE_MESH-Noesis-Plugin

Fluffy Manager 5000 (모드 매니저)

https://www.fluffyquack.com/

MDF Manager (머티리얼 수정)

https://github.com/SilverEzredes/MDF-Manager_RE4R

Folder Frenzy (복수의 폴더 한 번에 생성)

https://download.cnet.com/Folder-Frenzy/3000-2248_4-75940067.html

블렌더 파일 & 투명 Mesh (WIP)

https://drive.google.com/file/d/1WLcmajI-vmiSFjWOSfYeztJwxOaAlmFq/view?usp=share_link

RE 엔진 게임 파일 추출

대부분의 게임이 게임 리소스 파일을 압축해서 설치하고 있습니다. 다만 일반 압축 프로그램으로는 열 수 없는 파일이죠. RE 엔진을 사용하는 게임은 REtool 과 List 파일을 사용하여 게임 파일을 푸는 것이 가능합니다.

1. REtool 에 있는 REtool.exe, extract-pak.bat 파일과 List 파일을 게임 폴더에 넣기

2. extract-pak.bat 파일을 메모장으로 열어 리스트 파일 부분의 이름 수정

3. 게임 pak 파일(re_chunk_000.pak)을 bat 파일에 드랍

이 과정을 거치면 pak 파일 압축이 풀립니다.

​위 gif는 데모 버전의 예시인데, 게임 별로 list 파일 명이 다릅니다. 그거 외에는 과정이 위와 동일합니다. 리스트 파일만 교체해서 동일한 방식으로 쓰시면 됩니다. RE2, 몬스터헌터 라이즈 등등 다 같은 방법으로 게임 파일을 추출할 수 있습니다.

Noesis + RE 엔진용 플러그인 설치

노에시스(노이시스 Noesis)는 3D 모델, 텍스처 파일 등을 볼 수 있는 프로그램입니다. 애드온으로 지원하는 파일을 추가할 수 있기 때문에 모더들이 애용하고 있습니다.

...plugins\python 에 RE Mesh 플러그인(.py 파일)을 넣기만 하면 됩니다. 이제 Noesis로 RE 엔진 게임에서 쓰는 메시와 텍스처 파일을 읽어올 수 있습니다.

블렌더 세팅

블렌더는 무료 3D 프로그램입니다. 무료라는 점이 너무 막강한 매력이다보니 이제는 많은 모더들이 블렌더를 사용하고 있습니다. 캐릭터 관련 모드 제작에 관심이 있으신 분들은 블렌더를 배워 놓으시면 좋습니다. 유튜브에 관련 튜토리얼이 아주 많이 있습니다.

RE 엔진 관련 블렌더 애드온이 3.12에서만 호환 가능합니다. 그래서 번거롭지만 3.12를 설치해주세요.

블렌더 홈페이지에서 찾아서 다운 받으셔도 되고 아래 링크에서 직접 받으셔도 됩니다.

https://download.blender.org/release/Blender3.1/blender-3.1.2-windows-x64.msi

1 Noesis / RE Mesh 플러그인 설치 확인

2 Blender 3.12 설치

3 FBX Import plugin for blender 설치

4 Blender RE Mesh Noesis Wrapper 설치 및 세팅

노에시스와 RE 플러그인을 설치해야 제대로 사용 가능합니다. 먼저 확인해주세요.

FBX Import plugin for blender 는 아래와 같이 블렌더 3.12 설치 폴더로 가서 압축을 풀어서 파일을 덮어씌워 주져야 합니다.

이 플러그인의 압축 파일을 열어보면 3.1이라는 폴더가 있습니다. 이걸 아래 폴더에 풀어주세요.

...Blender Foundation\Blender 3.1\

Blender 3.1 폴더 안에도 3.1 폴더가 있는데 여기에 덮어 씌우는 겁니다. 압축을 풀면 파일을 3개 덮어씌울텐데, 파일을 덮어쓴다는 말이 안 나오면 잘못 푼거니 경로를 확인해보세요.

Blender RE Mesh Noesis Wrapper 는 다른 블렌더 애드온처럼 Edit > Preferences 에서 설치해주시면 됩니다.

해당 애드온 ​설치 후에 애드온 환경설정에서 Noesis 실행 파일을 지정해 주셔야 합니다. Noesis.exe Noesis64.exe 어느 걸로 하셔도 상관없습니다.

설정이 완료되면 이제 블렌더에서 RE 엔진의 mesh 파일을 바로 임포트 엑스포트 가능합니다.

모드 매니저 세팅

플러피 매니저 5000은 RE2때부터 많은 분들이 쓰고 있는 모드 매니저입니다. 설정 방법은 아래 링크를 참조해 주세요.

https://cafe.naver.com/gamemod/15

참고 - 모드 경로

앞서 게임 폴더의 re_chunk_000.pak 파일 압축을 풀어서 생성된 re_chunk_000 폴더가 있을 겁니다. 여기서 모드 제작에 쓸 원본 파일을 골라야 합니다.

게임 모드가 적용되는 방식에는 2가지 정도가 있습니다. 첫 번째는 게임 원본에 파일을 덮어쓰는 방식입니다.한글 패치도 일종의 모드라고 할 수 있는데, 대부분 첫 번째 방식으로 작동합니다.

두 번째는 게임 원본 파일 대신 다른 파일을 불러오는 방식입니다. RE엔진의 모드를 관리하는 플러피 매니저는 게임 원본 파일 대신에 다른 곳에 있는 파일을 읽어오는 두 번째 방식입니다.

Mods 폴더 같은 다른 곳에 있는 모드를 읽어오려면 원본과 동일한 경로로 파일을 배치해야 합니다.

예를 들어 위와 같이 원본 00 폴더 밑에 File1, File2가 있다고 하겠습니다. 이 파일이 캐릭터 모델이라면 이걸 다른 파일로 덮어씌우거나 원본이 아닌 다른 파일을 읽어오게 하면 게임 내에서 다른 캐릭터 모델을 볼 수 있습니다.

​​

이때 다른 곳에서 읽어올 파일은 원본과 폴더 구조가 동일해야 합니다. 위의 경우 게임 모드용 폴더에 원본 1, 2와 동일한 경로를 생성하고 여기에 똑같은 파일명의 파일을 넣어주면 얘네들을 원본 대신 읽어옵니다.

*원본과 동일한 경로를 생성할 때 윈도우에서 폴더를 하나씩 만들면 불편하기 때문에 Folder Frenzy 라는 툴을 사용할 수도 있습니다. 한 번에 여러 개의 폴더를 만들 수 있는 프로그램입니다.

모드 제작

1 모드용 폴더 생성

2 게임 원본 데이터에서 사용할 파일을 모드 폴더로 복사

3 블렌더 작업 (웨이트 복사 / 메시 이름 변경)

4 블렌더에서 mesh 파일 Export

5 MDF 매니저로 mdf2 수정

6 텍스처 수정

​모드를 제작하려면 모드 매니저의 Mods 폴더에 새 폴더를 만들면 됩니다. 여기서 생성한 폴더명이 모드의 이름이 됩니다.

​영상의 예제에서는 아래와 같이 애슐리 모델로 설정했습니다. cha101은 애슐리 자켓 없는 버전입니다.

모드 매니저 쪽에 게임 데이터와 동일하게 폴더를 생성하고 mdf2 파일과 mesh 파일을 복사해주세요.

mdf2 파일은 머티리얼 파일이고 mesh 파일은 말 그대로 메시 파일입니다. 나머지는 텍스처 파일인데 이 부분은 텍스처 작업에서 따로 설명하겠습니다.

블렌더 파일 & 투명 Mesh (WIP)

https://drive.google.com/file/d/1WLcmajI-vmiSFjWOSfYeztJwxOaAlmFq/view?usp=share_link

여기 다운 받은 파일 보시면 Ashley_cha101_00 파일이 있습니다. 웨이트 값 복사 편하라고 미리 만들어 놓은 파일입니다. 그 외에 Ada_cha200_00 파일은 에이다 용, RE4_Base_Male은 레온 용입니다.

*게임 내 특전 화면에서 확인했을 때는 리깅이 제대로 되어 있었는데, 플레이하면서 까지는 확인을 못 해봤습니다. 애슐리랑 에이다는 좀 플레이를 해야 만날 수 있더라구요. 혹시나 플레이에서 이상이 있으면 알려주세요.

여기에서는 애슐리 작업을 할 거기 때문에 블렌더에서 애슐리 파일을 열고, 교체하려는 모델 파일을 불러온 다음, 교체 모델 클릭 -> 애슐리 모델 Shift 클릭 하고 Transfer Mesh Data 해줍니다. 이 과정은 웨이트 값을 기존 애슐리 모델에서 새로 사용할 모델로 복사해주는 과정입니다. 교체 모델에 웨이트 값이 잘 들어갔으면 Armature를 지정해 줍니다.

이 과정은 거의 대부분의 캐릭터 모델 모드 제작 시 거치는 과정이라 많은 분들이 아실거라 생각해서 간단하게 언급했습니다. 헷갈리시는 분들은 영상을 참조해 주세요.

그리고 기존 애슐리 모델은 지우고, 교체용 모델의 메시 이름을 바꿔줍니다. 영상의 예제에서는 LOD_1_Group_0_Sub_1__Test_Mat 입니다.

LOD_X_Group_Y_Sub_Z__materialName

메시 이름은 저런식으로 규칙대로 붙어있고, 저기서 XYZ 숫자와 materialName이 mdf2 파일에 들어있는 머티리얼과 일치해야 게임에서 제대로 나온다고 합니다. 근데 숫자는 머티리얼과 안 맞춰도 되는 것도 있던데.. 이 부분은 좀 더 확인해보겠습니다.

대부분 X = 1 Y = 0 이라서 얘네는 이 값으로 쓰고 Z값만 수정하면서 쓰시면 될 것 같습니다.

머티리얼 이름이 제대로 들어가지 않으면 교체한 모델이 게임에서 제대로 안 나오게 됩니다. 헷갈린다면 가능한 원본에 있던 이름 그대로 가져가서 쓰는 게 좋습니다.

*추가

숫자는 애드온에서 알아서 붙이는 것으로 추정됩니다. 기본적으로는 신경 안써도 되겠지만 문자가 규칙대로 안 들어가면 메시가 제대로 안 나올 수도 있으니 규칙에 익숙해지게 중복되지 않게 잘 넣어주세요.

*몬헌 라이즈에서 테스트 해봤더니 중요한 건 materialName과 머티리얼 이름이 일치하는 것 외에도 개수까지 일치해야 제대로 나왔습니다. 그러니까 메시가 2개면 머리티얼도 2개여야 한다는 거죠. 바하도 같은 엔진이니 아마도 같지 않을까 싶습니다. 아래 글 참조해주세요.

https://cafe.naver.com/gamemod/16

다 됐으면 RE Mesh로 Export 해줍니다. 이 때 오른쪽 Mesh Version에서 RE4를 선택해주셔야 합니다. 엑스포트 할 때 경로는 앞서 모드 매니저에 만들어놓은 폴더입니다. 거기에 mesh 파일을 미리 복사해 놓았었는데, 여기에 덮어씌워 주세요. 그냥 아무 이름으로 Export 한 다음 파일명을 변경해도 되지만 파일명이 헷갈릴 수도 있어서 미리 mesh 파일을 복사해 놓은 거였습니다. 그냥 덮어씌우는 게 더 쉽잖아요.

여기까지 하면 모델 교체는 완료되었습니다. 게임에서 확인하고 싶으시면 모드 매니저에서 지금 테스트하는 모드 체크 껐다 켠 다음 게임 실행해보시면 됩니다. 영상에는 없지만 이 단계에서 확인해보면 아마도 아래 같은 모습으로 나올 겁니다.​

이제 텍스처 작업을 할 차례입니다.

머티리얼을 수정할 때는 MDF manager를 사용합니다.

1 - 머티리얼 리스트

2 - 1번에서 선택한 머티리얼 안에 들어있는 텍스처 리스트

3 - 2번에서 선택한 텍스처맵의 파일 위치

4 - 1번에서 선택한 머티리얼의 이름

대충 저런 툴입니다.

앞서 mesh 파일과 같이 복사했던 mdf2 파일을 mdf manager로 열어줍니다.

메시 이름에서 __ (언더바 2개) 다음에 있는 이름과 mdf2 안에 있는 머티리얼 이름이 매칭됩니다. 예제에서 Test_Mat 이라고 했기 때문에 머티리얼을 Test_Mat 로 바꿔야 합니다.

Boots_Mat 파일을 Test_Mat로 바꾸고 나머지를 다 삭제해 줬습니다.

이 머티리얼이 어떤 텍스처 파일을 쓰는지 확인하고 그것도 원본에서 모드 폴더로 복사해 줍니다.

텍스처 파일을 확인할 때 주로 신경써야 할 것은 3가지입니다. 보통은 저기에 순서대로 ALBD, NRMR, ATOC 파일을 넣어줍니다. 그 외에도 더 쓰는 파일이 있을 수 있는데 mdf2 파일이 있는 폴더에 보시면 파일명으로 어디에 쓰는지 추측할 수 있으니 그거 보고 수정할 거 찾으시면 됩니다.

게임용 tex 파일은 Noesis에서 우클릭 후 Export로 이미지 파일로 변환할 수 있습니다.

예제에서는 tga 파일로 변환한 후에 단순히 빨간색으로 다 채워줬습니다.

이 이미지 파일은 노이시스에서 다시 게임용 텍스처 파일로 변환 가능합니다. Export 할 때 타입을 RE4 용 텍스처 파일로 선택해 주시면 됩니다.

이 때 뭔가 선택하라고 창이 뜨는데 바꿀려고 했던 텍스처 파일을 선택해주시면 됩니다.

이렇게 해서 파일을 다 변환하고 나면 out이 붙은 tex 파일이 생성됩니다. 그럼 원본 tex 파일을 지우고 이 파일을 원본 파일명으로 교체해 주시면 됩니다.

머티리얼과 텍스처가 제대로 들어갔으면 노에시스에서 메시 파일을 읽을 때 텍스처도 함께 읽어올 수 있습니다. mesh 파일을 읽어올 때 Load Textures 체크하고 불러오시면 됩니다.

제대로 들어갔나 보네요. 다 빨간 걸 보니.

이제 게임에서 확인해보시면 됩니다. 주의하실 게, 모드를 수정한 다음에 게임에서 확인할 때는 매번 모드 매니저에서 해당 모드를 체크 껐다가 켜주셔야 합니다. 그래야 업데이트한 파일이 반영됩니다.

이게 모드 매니저에서 실제로 읽어들이는 파일은 Mods 폴더에 있는게 아니라 게임 폴더 있습니다. 게임 폴더에 있는 natives 폴더 그겁니다. 그래서 Mods 폴더에서 작업한 거는 체크를 껐다 켜서 다시 복사해줘야 게임에 적용됩니다.

게임에서 잘 적용이 되네요.

텍스처의 경우 파일명을 보시면 어떤 역할을 하는지 알 수 있습니다.

텍스처 파일 마지막이 아래와 같이 정해진 문자로 끝이 나야 제대로 읽을 수 있게 됩니다. Noesis에서만 확인해본 거라 게임은 다를 수도 있긴 하지만 그럴 가능성은 높진 않을테니 아래 문자를 참조해서 파일명을 잘 정해주세요.

바하 RE4에서는 ALBM, NRMR, ATOC 이걸 많이 쓰고 있습니다.

ALBD = (Albedo): RGB = Diffuse Map, A = Metallic Map Inverted

CMask = Color MASK a la SF5, Alpha Channel may also be a color

NRRC = (Normal Roughness Cavity Map):R= Roughness/Shinyness, G = Normal Bumps, A = Normal Bumps

ATOS = (Alpha-Transparency-Occlusion-SSS): Red = Alpha Transparency(?), G = Transparency or Glow Value? B = AO?, A = Sometimes SSS ( GBA can all vary depending on context, it's not consistent at all).

DMask = Details

DmgMask = Damage/dirt mask textures

Blend_NRCC = Normal Bump map folds on certain actions and poses.

ATOC A = Alpha = R / T = Translucency = G / O = Occlusion = B / C = Cavity = A

디스코드 모드 커뮤니티에서 검색해보니 저런 의미라고 합니다. 세세한 항목은 저도 정확히 알지 못하는데, 다른 모드나 원본 파일 비교해 보면서 눈치껏 사용하시면 됩니다.

*텍스처가 알파채널(A)까지 쓰는 경우 변환하기 전의 이미지 파일도 알파채널이 있는지 확인해보세요. 해당 정보가 빠져있는 경우 제대로 나오지 않습니다.

*추가

streaming 폴더 밑에 고해상도 텍스처가 들어갑니다. 제가 작업할 때는 streaming 폴더에는 굳이 작업을 안 해줘도 문제가 없어서 잘 몰랐었네요. 혹시나 게임에서 텍스처가 이상하게 나올 경우 streaming 폴더 밑에도 동일한 경로, 동일한 텍스처파일을 한 번 넣어보세요.

모드 정보 입력

*이 부분은 영상에 없는 내용입니다.

모드 작업은 다 끝났고 이제 혹시나 공유를 하실 분들은 모드용 파일로 제작할 필요가 있습니다. 넥서스 모드에서 다운 받은 모드 압축 파일 아무거나 열어 봅시다.

natives 폴더와 modinfo.ini, 스샷 파일이 있습니다.

앞서 모드 작업을 할 때는 natives 위에 폴더 명이 모드 명이 됐었습니다. 하지만 모드용 압축 파일을 만들 때는 natives 폴더만 들어갑니다.

모드 이름과 설명은 modinfo.ini 파일에 들어갑니다.

name=Ashley Casual - Black Hair

version=v1.0

description=Changes Ashley's Casual outfit hair colour to black.

screenshot=screenshot.jpg

author=Snipzu

다른 모드 파일을 열어보니 이런 정보가 있네요. 이걸 모드 매니저에서 보면 아래와 같이 나옵니다.

이런 식으로 다른 모드처럼 natives 폴더와 modinfo.ini, 스샷 이렇게 넣어서 압축을 하시면 됩니다. 압축은 zip으로 해도 됩니다.

이제 필요한 부분은 다 설명을 한 것 같네요. 대부분의 게임에서 모드 제작은 비슷한 과정을 거치는 경우가 많으니 하나의 게임만 제대로 이해해 놓으시면 다른 게임 모드 작업을 하시는데에도 도움이 되실 겁니다.

 

 


글을 모아보기가 네이버 카페가 더 수월한 것 같아 네이버에도 올렸습니다. 

 

https://cafe.naver.com/gamemod/12

+ Recent posts