컴퓨터 이야기/유틸리티-자료

[유니티게임 수정 유틸리티] - 에셋 스튜디오, 유니티 에셋 번들 엑스트랙터 AssetStudioGUI, UABE Unity Assets Bundle Extractor

SokSangHam 2020. 6. 1. 16:29

안녕하세요! 속상함입니다. 유티니를 기반으로 한 게임 (얀데레 시뮬레이터 포함)을 수정할 수 있는 유틸리티를 소개하고자 글을 드립니다. 본 내용은 컴퓨터를 잘하시고 게임 모딩 쪽에 매우매우 큰 관심있으신 분들에겐 유용한 자료이나, 그외 일반 유저에겐 의미가 없는 자료이기도합니다. 하나하나 설명드리면 좋지만 일단은 '자료'에 중점을 두어서 말씀드리고자 합니다. 또한 '자료'라는 개념에 맞게 사용법보단 간단한 설명과 종류를 나열하고자 합니다.

 

좌측 - 에셋 스튜디오 (주로 게임파일 추출하거나 확인할 때), 우측 - UABE (주로 내부 파일을 수정할 때)

 

 

※ 가장 주의하실 점은 제작자에게 허락을 구하지 않고 게임 파일을 변조 후 공유하는 것은 나중에 문제가 될 수있으니 타인에게 변조한 파일을 공유할 때는 제작자에게 가급적이면 동의를 구하고 진행하세요. (저의 얀시뮬 한글판의 경우 개발자에게 허락을 구한상태입니다.) 이러한 말씀을 드리는 것은 아래의 자료들은 얀시뮬 외에도 유니티 기반의 게임에선 모두 수정할 수 있기 때문이며, 이는 그 게임의 분위기와 해당법률에따라 문제가 될 수 있기 때문입니다. 사실 비영리 목적이라면 게임제작사가 크게 터치 않하는게 대부분이긴 합니다만, 그게 절대적이라고 볼 수는 없어서요.

 

 


 

1. 에셋 스튜디오 AssetStudioGUI

 

*제작자: Perfare (중국) - 애니메이션 좋아하는 중국인 프로그래머인 듯. 겁나 능력자임. (개발자 블로그)

에셋 스튜디오 AssetStudioGUI 캡처 이미지

직역하면 유니티 자산 제작소 화면 구성 버전. 이미 완성된 유니티 기반 게임에 자산들을 확인하고 추출할 수 있다. 주로 게임의 자료들을 추출하거나 수정하고픈 자료가 어떤 파일 (xxx.assets)에 들어가 있나 확인하는 용이라고 보시면 됩니다.

 

 

-다운방법

1) 아래의 주소로 Perfare의 깃허브로 GitHub 접속한 후

github.com/Perfare/AssetStudio/releases

 

Perfare/AssetStudio

AssetStudio is a tool for exploring, extracting and exporting assets and assetbundles. - Perfare/AssetStudio

github.com

Perfare의 GitHub 스크린샷

 

 

2) Here 부분을 클릭하여 다운받고 압축을 풀면된다.

AssetStudio 빌드 버전 다운방법

-깃허브 GitHub 여러명이 소스코드를 공유하거나 작성할 때 유용한 웹사이트로 (기능) 개발자들 사이에선 널리 사용되는 도구이다. 예컨대, 윈도우에서 하나의 폴더를 공유해서 1개의 한글파일(워드파일)을 여러명이 사용하는 것과 비슷하다고 보면된다.

 

! 내용 추가

전에는 위의 사이트에서 바로 다운이 됬는데, 먼가가 변경된건지 아니면 필자가 다 파악하지 못한건지 (필자는 사실 다운 안받은지 좀 됬음) 여하튼 다운이 안된다는 의견이 있어서 전에 백업해둔 자료를 올림. 

 

AssetStudio v.0.14 32비트용 (x86) ↓

AssetStudio.x86.v0.14.38.zip
8.27MB

AssetStudio v.0.14 64비트용 (x64) ↓ *추천

AssetStudio.x64.v0.14.38.zip
8.99MB

 

 

AssetStudio가 동작을 잘 하지 않는 다면 아래의 추가로 프로그램이 필요할 수 있다.

 

NET Framework 4.7.2
Microsoft Visual C++ 2017 Redistributable

 

 

 


2. 유니티 에셋 번들 엑스트랙터  UABE - Unity Assets Bundle Extractor

 

제작자: DerPopo - 세븐데이즈 투다이 (7 Days to Die) 라는 게임을 좋아하는 프로그래머 인 듯 (개발자 깃허브)

 

Unity Assets Bundle Extractor 캡처

언팩 프로그램으로 assets, unity3d, bundle(유니티용)을 열고 변경할 수 있음. 쉽게말해 그냥 유티티 기반 게임의 내부 파일을 열고 변경할 수 있는 유틸리티라고 보면됩니다. [개발자 설명]

 

- 다운방법

1) 그냥 여기서 바로 다운 [2.2D버전은 유니티 2019.2.0f1 버전까지 지원]

 

2.2 안정화 버전 D (UABE 2.2 stable d) - 32비트

AssetsBundleExtractor_2.2stabled_32bit.zip
3.93MB

 

2.2 안정화 버전 D (UABE 2.2 stable d) - 64비트

AssetsBundleExtractor_2.2stabled_64bit.zip
4.30MB

 

*제작자가 밝힌 라이선스는 본 프로그램은 상업적 목적으로 사용을 못하며, 자료를 변경 제작 할 수 는 있으나 원본과 동일한 라이선스 (CCPL)로 비상업적 용도로 공개하여야만 합니다. (라이선스 링크1 링크2)

 

2) 만약 유니티 엔진이 오래되어서 적용이 잘 안된다면 개발자가 공개한 페이지에서 원하는 버전을 찾아서 다운.

 

개발자가 UABE를 공개한 세븐 데이즈 투 다이 커뮤니티 게시판

https://community.7daystodie.com/topic/1871-unity-assets-bundle-extractor/

 

Unity Assets Bundle Extractor

Ancient version 1.0 screenshot Unity Assets Bundle Extractor (UABE) is a stylish tool that allows editing asset bundles and .assets. It can export .assets files from bundles, import them back, modify most asset formats with plugins and dumps with type info

community.7daystodie.com

내부 캡처본

이런식으로 원하는 버전을 다운 받으시면 됩니다.

 


※ 프로그램 사용법

 

1. 에셋 스튜디오 AssetStudioGUI

 

다운받고 압축을 푼 후 AssetStudioGUI.exe 로 실행하면 아래와 같이 보인다. File에서 1개의 파일이면 파일을, 게임 전체이면 Load folder을 눌러서 폴더 전체를 열어 볼 수 있다. 본 프로그램은 주로 찾을 때 많이 사용하므로 Load folder를 클릭하면된다.

에셋 스튜디오 메뉴 스크린샷

 

정상적으로 폴더를 선택하면 아래와 같이 로딩하는데 시간이 조금 걸린다.

에셋 스튜디오 로딩 스크린샷

 

로딩이 끝나면 Asset List를 눌러서 본인이 찾고자 하는 2D 텍스처나 Texture2D 오디오 등을 찾는다.

로딩 이 끝난 후 에셋 스튜디오 스크린샷.

 

아래 이미지와 같이 원하는 것을 찾고나서 2가지를 선택할 수 있다.

Asset List에서 에셋 선택후 우측 클릭하면 뜨는 메뉴

Export selected assets : 해당 에셋(파일)을 추출한다.

Jump to scene hierarchy : 거이 안씀.

Show original file : 해당 에셋(파일)이 들어가 있는 유니티 자산 파일 (xxx.assets)을 찾는다. 이게 메우 중요한 것이 원본이 어느 파일에 속해 있나 알아야만 나중에 UABE에서 수정할 수 있다.

 

! 저는 이상하게 얀시뮬 처럼 파일이 많은 것을 한꺼번에 폴더 열기 하고나서, 나중에 본 프로그램을 종료하면 컴퓨터가 겁나게 느려지는 현상을 겪었는데 이는 어쩔 수 없는 버그 같습니다. 이럴땐 컴퓨터를 재부팅만하면 정상적으로 돌아옵니다.


 

2. 유니티 에셋 번들 엑스트랙터  UABE - Unity Assets Bundle Extractor

 

이것도 역시 다운을 받아 압축을 풀어 준 후 AssetBundleExtractor.exe 파일을 실행 해준다. 그 후에 일반적인 유니티 자산 파일 (xxx.assets)은 Open을 눌러준다. 지금의 설명은 2D 텍스처(이미지) 변경 방법을 다루겠습니다.

UABE - Unity Assets Bundle Extractor - Menu 

※ 당연히 아무 파일이나 무작정 여는 것이 아니라, 앞서서 에셋 스튜디오 AssetStudioGUI에서 찾은 유니티 자산 파일 (xxx.assets)원본을 열어줘야만 한다. 각 자산들(오디오,2D텍스처 등등)마다 소속된 파일이 다르므로..

※ 그리고 또또 당연히 변경할 파일을 이미지 편집 프로그램을 이용해서 (예컨대 포토샵) 제작 해야한다. 제작할 때는 상식적으로 원본 이미지 파일과 같은 크기, 같은 확장자여야 오류가 없다.

 

UABE에서 지원되는 버전외 유니티파일을 열면 아래와 같이 유니티 엔진 버전을 선택 할 수 있는데, 보통의 경우 가장 마지막 버전을 선택하고 열면된다. (쉽게말해 해당 엔진버전에 제일 가까운 버전을 선택하는 것이좋다.)

UABE-유니티엔진선택 캡처

↑ 이 캡처의 게임엔진은 version 2019.3.7f1 버전이다. 따라서 가장 최신 DB버전인 U2019.2.0f1을 선택하였다.

 

 

Assets의 Name에서 본인이 원했던 부분을 찾는다.

UABE에서 Assets파일을 열면 나오는 Assets info 창 스크린샷

 

원하는 분을 찾았으면 우측에 Plugins를 클릭후 Edit를 누르고 OK를 누른다.

UABE 스크린샷

 

그러면 아래처럼 보이는데, Load를 눌러서 원하는 변경 파일을 선택해서 열어준다.

UABE Texture Load 스크린샷

선택완료 후 OK를 눌러준다. 그 러면 퀄리티 선택이 나오느데 기본값에서 OK를 눌러준다.

선택완료 후 상황

 

그러면 변경이 완료가 된 것이다. 파일을 세이브해주거나 아래쪽에 OK를 눌러주면된다. 여기서 중요한 점은 세이브 하지 않으면 적용이 되지 않으니 주의해야한다.

UABE 저장하는 방법

 

! 만약에 정상적으로 했는데도 적용이 안되거나 게임이 문제가 생긴다면 1회에 한번씩 해줘야한다. 필자는 이것을 몰라서 수십번을 재 시도했고 나중에 보니 2D텍스처의 경우 1회에 1번씩 1회 저장을 반복해줘야하만 정상적으로 게임이 실행이 되었다. 

 

 

 

 


 

※ 다른 파일 변경법 (예컨데 음성파일 변경) - 더보기 눌러야만 보입니다.

더보기

!주의 이 설명은 유니티에 대한 지식이 있거나, 최소한 원하는 자산(Wav등)이 들어있는 resource 파일 제작법은 알고 있어야만 할 수 있습니다.

! 제가 잘못 적은게 있어서 추가 수정합니다. 기본과정은 다음과 같습니다.

 

1) 변경을 원하는 음성을 찾습니다. (에셋 스튜디오 AssetStudioGUI 이용)

2) 해당 오디오클립(AudioClip)를 다운받아서 대략적인 길이와 내용, 그리고 음원 종류를(ex. wav, Ogg) 확인합니다.

3) 해당 음원 종류는 똑같이 (ex. wav) 길이는 최대한 비슷하게 맞춰서 녹음파일을 만듭니다.

4) 만든 녹음파일을 Aseets(자산)의 이름과 똑같이 맞춰줍니다. (ex.HeadmasterAttack.wav = HeadmasterAttack.wav)

5) 유니티 프로그램을 이용하여서 (Unity 시험버전 관계X) 음성파일을 넣고 빌드(Bulid)를 해서 [assets]파일과 [resource]파일을 만들어줍니다. (빌드하면 다른 것도 만들어지는데 중요한건 assets,resource 파일입니다.)

6) 새로만들어진 [assets]파일을 UABE로(Unity Assets Bundle Extractor) 열어서 해당 자산을(Assets) [Export Dump] 시켜줍니다.

7) Export Dump된 파일에서 입맛에 맞게 resource 정보를 바꿉니다. 만약 크게 바꿀필요 없다면 생략해도 됩니다.

(게임 원본 리소스 파일과 겹칠염려로 바꾸는 것)

8) 기존 게임을 UABE로 열어서 해당 오디오클립 자리에 [Import Dump] 시켜주고 저장(Save)합니다.

9) 기존 원본이 (assets,resource) 있던 자리에 새롭게 만들어준 (assets,resource) 파일을 넣어줍니다.

 

 

6) 과정

우선 2D텍스처와 똑같이 본인이 원하는 자산을 찾습니다. 여기서는 오디오 클립(AudioClip)을 찾았습니다. 그리고나서 익스포트 덤프를 눌러서 (Export Dump) 클릭합니다.

UABE 캡처

 

원하는 위치에 파일을 저장해줍니다.

UABE Export Dump 캡처

 

정상적으로 추출된 파일을 메모장 등 텍스트 에디터 프로그램으로 열면 아래와 같이 보입니다. 중요한 점은 해당 자산이 실제로 어느 파일이 속해 있냐라는 것인데 아래에보면 소스가 어디에 있다는 부분이 있을 겁니다.

Export Dump 된 파일을 메모장으로 열었을 때 모습

7)과정

해당 소스파일을 본인이 새로 만든 파일명으로 변경해줍니다. 여기서 당연히 리소스 파일이 제작되어있어야 합니다. (리소스 파일은 유니티 프로그램으로만 제작 할  수 있으며, 간단한 음성 등은 정품 구매하지 않아도 시험판 버전으로도 만들 수 있습니다.)

Export Dump 파일을 수정하고 그대로 저장

 

8) 9)과정 - 기존 게임 자산 파일 열어서 오디오 클립 리소스 변경

기존에 게임 자산(asset)파일을 열어서 변경하고 싶은 오디오 클립(AudioClip)에 임포트 덤프 (Import Dump)를 클릭해줍니다.

UABE Import Dump

 

수정된 파일을 찾아서 열어줍니다.

Export Dump에서 수정한 파일을 선택

 

Save 혹은 OK를 눌러서 해당 파일에 적용을 시켜줍니다.

완성이 되면 Save나 OK를 눌러서 저장해준다.

 

당연히 리소스 resource 파일이 있어야 하며, 보통 해당 자산 파일 assets과 같은 폴더에 넣어두면 적용이 됩니다.

*이 과정은 2D텍스처와 달리 1번에 1건씩 할필요없이 원하는 부분을 모두 변경시킨후 저장해도 오류는 안생깁니다.

당연하지만 해당 파일이 존재 해야한다.

 

저는 했던 작업이 2D텍스처 변경과 음성(Wav)파일 변경 등이었어서 그외는 해보지는 않았습니다. 그리고 여기서 설명이 빠져있는 부분은 변경할 음성파일을 유니티에서 resource파일로 묶어서 만들어야 하는 부분에 대한 설명은 빠져있습니다. 나중에 시간되면 할게요. 어렵진 않은데.. 설명하려면 유니티 또 설치해야되서..ㅠㅠ

 

 

조금은 복잡하거나 어렵게 생각 하실 수 있을 수 있으나.. 그냥 시간이 여유로울 때 이것 저것 클릭해 가면서 해보시면 이해가 되실 것이라고 생각합니다.

 

좋은 하루 되세요.

 

: )