두가 길면 짜증나기 땜에 (것보다 사실 할말이 없음)
바로 들어감

아, 그리고 최신버전 기준이 아닌 내가 열어본 환경 그대로 올릴 것임


준비물

1. AssetStudio (유니티 기반인 다른 겜 추출할 때도 많이 쓰는 프로그램)
이 프로그램은 6개월이 지나면 자동으로 지워지는 사이트에 올라와서 내가 쓰는 버전은 더 이상 다운로드가 불가능함.
그래서 내 드롭박스에 당시 다운받았던 버전이 있길래 올려놓음

여기서 다운받고 적당한 위치에 압축을 풀어놓으시길 (64비트 전용 프로그램이니 참고)


2. skeletonViewer (spine; 이 녀석은 Live2d 뷰어)
이 녀석은 Live2d 여는 프로그램인데 java가 필요하니 안깔려있는 사람은 (1), (2) 둘 다 설치
깔려있는 사람은 (2)만 설치하면 됨

(1) 자바 다운로드: https://java.com/ko/download/
(2) skeletonViewer(spine) 다운로드: http://ko.esotericsoftware.com/files/skeletonViewer.jar

skeletonViewer는 따로 설치하는게 아니라 자바로 명령어를 입력하면 열리는 구조이기 때문에
저걸 다운받고 그냥 두면 됨. (바탕화면에 저 파일을 옮겨두면 편할듯)

3. apk manager (이건 게임 데이터 말고 apk 뜯어볼 때 씀. 앱에는 관심없다면 걸러도 됨)
요건 구글링하면 많이 나오니 찾아보시길..
(사실.. 제가 쓰는 버전은 좀 오래되서 원본 파일을 못찾겠네요)



01. 데이터 또는 앱 파일 가져오기

먼저 앱플레이어나 휴대폰에서 파일을 가져와야 하는데
이 부분은 이글의 핵심은 아니기에 간단히만 설명하고 지나가도록 하겠음

《앱(.apk) 내부를 열어보고자 하는 경우》

(1) 앱플레이어 (Nox 앱플레이어 기준)
앱 플레이어 설정에서 Root 권한을 활성화 시켜주고, /data/app/com.biligamekr.girlcafegungp-1/base.apk를
컴퓨터 공유폴더로 복사해준 후에 해당 폴더에서 그대로 apk manager의 작업 폴더인 'place-apk-here-for-modding'폴더로 이동
(녹스에는 컴퓨터와 공유하는 폴더가 있어 앱플레이어 내부에서 해당 폴더로 어떤 파일을 옮기면 컴퓨터의 파일 탐색기에서 확인이 가능함)

(2) 휴대폰 (Android 기준)
플레이스토어에서 'apk extractor(앱 추출기)' 아무거나 하나 설치하고 앱 파일을 추출한 후 메일이나 usb연결을 통해 컴퓨터로 옮겨오면 됨

※ apk파일을 컴퓨터로 옮겨온 후 apk manager를 실행해 '22'번 옵션을 입력해 해당 앱 파일을 선택해주고
'9'번을 입력해 디컴파일해주면 별 문제가 없는 한 'project' 폴더 내부에 해당 apk 파일 이름과 동일한 폴더에
앱 파일 내용물이 들어있을 것임. 앱에는 사실 별게 없지만 굳이 열어본다면 assets 폴더 내부를 그나마 열어볼만 함.

《게임 데이터를 열어보고자 하는 경우》

(1) 앱플레이어 (Nox 앱플레이어 기준)
/storage/emulated/0/Android/data/com.biligamekr.girlcafegungp 폴더 내부에 있는 'files'폴더를 컴퓨터 공유폴더로 복사

(2) 휴대폰 (Android 기준)
usb로 컴퓨터와 연결 후, '내부 저장소'로 이동하여 /Android/data/com.biligamekr.girlcafegungp 폴더를 컴퓨터로 복사



02. 파일 열어보기 1: AssetStudio로 필요파일 추출하기

어디에 무슨 파일이 있는지는 아직까지 정확히 알수가 없음.
그래서 아직은 폴더 하나씩 열어보면서 양파까는 기분(?)으로 재미로 열어보는 수밖에는...

예를 들어 게임 데이터를 열어보겠다, 라는 기준으로 설명하겠음
아까 준비해둔 AssetStudio를 실행하자 (AssetStudioGUI.exe를 실행하면 됨)






이런 창이 나올텐데 위에 Options 눌러서 아래와 같이 세팅해주자.







이번에는 File를 눌러서 데이터를 불러올 차례.






Load folder를 눌러주자.






위 이미지처럼 각자 복사해온 게임 데이터 폴더에 들어와주자.
(※주의: 절대로 이 폴더를 통째로 열면 안됨. 파일이 너무 많아서 성능 오지게 잡아먹고 시간도 오래걸려서 그냥 열리지가 않음.)

그래서 여기서는 2danimation 폴더를 열어보기로 하고 설명을 진행하도록 하겠음.






해당 폴더로 들어와서 폴더 선택을 눌러주면 그 폴더안에 있는 내용물을 알아서 읽어올거임.

파일 로드가 끝나면 아래 사진처럼 'Asset List'를 클릭해주고,
Filter Type을 눌러 TextAsset과 Texture2D만 체크한 상태로 만들어줘.







그 다음으로 아래 사진 처럼






Export > Filtered assets 해주면
저장할 폴더를 물어볼텐데 이건 자기가 편한 폴더로 하면 됨.
바탕화면에 '작업 폴더'나 'extracted files' 이런식으로 폴더 하나 만들어서
거기다가 풀어놓으면 편할 듯 ㅇㅇ

03. 파일 열어보기 2: 파일간 작업 과정
여기서 설명한 해당 폴더에는 Live2d 파일이 들어있는데, 
움직이는 이미지를 얻으려면 총 3개의 파일을 위에서 언급한 skeletonViewer를 통해 동시에 열어줘야 함

추출한 파일에는 2개의 파일이 하나의 폴더에, 나머지 하나는 또 다른 폴더에 나눠져 있으므로 한 폴더로 합쳐줄 필요가 있습니다.






방금 추출한 폴더를 열어보면 TextAsset 폴더와 Texture2D 폴더가 있는데,
폴더 2개를 각각 열어 위 사진처럼 좌우로 배치해주자

그런 후 왼쪽과 오른쪽의 폴더이름을 비교해 가면서 동일한 이름의 폴더를 동시에 작업해주어야 합니다.






이런 식으로 폴더이름이 겹치는 경우에 모두 해당 작업을 해주시고,
해당하는 폴더가 없는 경우에는 그냥 두시면 됩니다.

오른쪽의 폴더에 있는 png파일을 각각의 폴더에 모두 작업해주셨으면
왼쪽 폴더에는 3개의 파일이 든 폴더가 다수 존재하게 된 상태가 될 것 입니다.
오른쪽 폴더는 이제 닫아주세요.






그러면 대충 이런 상태가 될 것입니다. (대표적으로 girl02_2da3005 폴더로 예를 듬)

이제 열어볼 일만 남았습니다.

04. 파일 열어보기 3: skeletonViewer로 Live2d 열어보기
이제 열어보기만 하면 됩니다.
아까 준비해둔 skeletonViewer.jar 파일을 바탕화면에 옮겨주시고,
윈도우키+R을 눌러 'cmd'를 입력하시면 명령 프롬프트가 열립니다.







창이 열리면 아래와 같이
cd desktop을 입력하고 엔터
java -jar skeletonViewor.jar을 입력하고 엔터를 쳐주세요







그러면 아래와 같은 창이 열릴겁니다








위쪽에 보이는 'open'을 눌러줍시다
창이 하나 뜰텐데 열어볼 파일을 선택하는 것입니다.
아까 파일을 복붙해준 폴더, 그러니까 최종적으로 3개의 파일이 들어있는 폴더로 들어가줍시다






이런 식의 상태가 될텐데
여기서 json 확장자의 파일을 클릭해서 열어줍시다.
(위 이미지의 경우 girl02_card05.json 에 해당)

파일을 열면 다음과 같은 창이 열립니다.






여기서 왼쪽아래에 Entry alpha 아래쪽에 있는
Animation을 보시면 네모 박스 안에 뭐가 하나 있는 것을 발견할 수 있습니다.
(위 사진의 경우 animation에 해당, 파일마다 여기에 있는 이름이 다르므로 이렇게 표현함)

저걸 클릭하시면 이미지가 움직이면서 보이게 됩니다.
Speed는 움직이는 재생 속도를 설정하는 것입니다

이상 1편 강좌를 마치겠습니다.
Live2d가 없는 폴더는 여기서 설명한 것과 구조가 조금 다르니
그런 부분에 대해서도 추후 올리도록 할게요.
감삼다 _0_