스타듀밸리 xnb파일을 언팩해보자

스타듀밸리를 하다보면 느끼는 거지만 가끔 npc생김새나 초상화를 자기마음대로 바꾸고 싶을때가 있을것이다. 

물론 그 특유의 느낌도 좋지만 예쁘고 잘생긴게 조금더 좋으니까...


시작하기 전에 인터넷을 돌아다니면서 본 xnb에 대해 좀 설명해보려고 한다.

너무 여러군데를 돌아다녀서 어디서 봤는지는 잘 기억이 안나지만

일단 xnb라는 확장자는 마이크로 소프트에서 인디게임을 만드는 사람들에게 지원하는 암호화 파일이라고 한다.

여기서 스타듀밸리 개발자인 에릭은 xnb에다가 추가로 자기만의 소스를 덧붙였고 우리는 xnb파일을 png파일로 변환하려면 변환툴까지 써서 삽질을 해야한다는 거다.


스타듀밸리의 모든 이미지파일은 여기

스팀을 설치한 폴더\Steam\steamapps\common\Stardew Valley\Content


Content폴더에 몰려있다.

대충 영어할수 있다면 각각 폴더나 파일들이 무슨 파일인지는 알 수 있을거다.


이 xnb파일들을 xnb노드로 png로 변환한 후에, 수정한 png 파일을 xnb파일로 변환해서 원래 파일에다가 덮어 씌우면 게임내에서 수정한 모습으로 다시 볼 수 있다.


예를 들어 셰인의 초상화를 바꿔보도록 하자.

우선 xnb_node라는 파일을 다운받아야 하는데

파일 링크

xnb와 png를 서로 변환시켜주는 파일이다.


다운 받은 다음에는 스타듀밸리를 설치한 폴더에다가 압축을 풀어줘야 한다.

기본 폴더는

C:\Program Files (x86)\Steam\steamapps\common\Stardew Valley

여기 혹은 스팀에서 스타듀밸리 - 속성에 가서



여기 로컬 콘텐츠 폴더 보기를 눌러도 상관없다.


다운로드받은 xnb_node 파일을 스타듀 밸리 폴더에다가 "압축파일 명으로 폴더 생성 후 압축해제" 하지 말고 그냥 압축을 풀어주자.


이런식으로 해줘야 한다.


그런 다음 스타듀밸리 폴더에서 쉬프트를 누른채로 우클릭을 하면 여기서 명령창 열기가 뜬다.


그냥 우클릭만 누르면 저 옵션은 안뜨니 꼭 쉬프트를 누르고 해야한다.



xnb노드를 제대로 된 경로에 설치했나 확인하려면 새로 나온 명령창에다가

xnb_node help

를 치면 된다.

혹시나 해서 말하는 거지만 여기 나와있는 띄어쓰기 위에는 절대로 다른곳에서 띄어쓰기를 하면 안된다.

정해진 대로 띄어쓰기를 안해주면 명령을 못 알아듣는다.


위 사진 처럼 밑에 저렇게 영어로 된 설명이 죽 뜨면 제대로 된 폴더에다가 압축을 풀은거다.


이제  xnb를 png로변환을 해야하는데

셰인의 초상화 파일은 Content\Portraits\Shane.xnb 파일이다.

파일 하나씩 변환할수 있으면 좋겠지만 폴더째로 변환을 해야하기 때문에 Content\Portraits 폴더를 통째로 언팩해야한다.


변환하는 명령어는

xnb_node extract Content\png로바꾸고싶은폴더 png로바뀐파일이나오는폴더


분홍색으로 바꾼 글자는 때에 따라서 다르게 써야하는 부분이다.

줄바꿈 때문에 좀 극혐이긴 한데...


예를들어

명령어를

xnb_nod extract Content\Portraits Portunpack

이라고 쳤다. 이 뜻이


Content에 Portraits라는 폴더에 있는 파일들을 png로 변환할껀데

png로 변환한 폴더는 Portunpack이라고 된 폴더에 저장할꺼야


정도가 되겠다.


제대로 쳤다면 저렇게 변환된 파일 목록이 뜨고 extract했을때 이름을 정했던 폴더가 생겼을거다.

나는 Portunpack이라고 했기 때문에 Portunpack이라는 폴더가 생긴거고.


폴더를 열어보면

이렇게 png로 변환된 파일들이 얌전히 있을거다.

이 폴더에서 이미지를 바꾸고 싶었던 파일만 얌전히 복사해 가야한다.

나중에 다시 xnb로 변환할때도 이 폴더 그대로 변환해야 하기 때문에 파일을 건드리면 안되고

나는 바꾸고 싶었던 Shane.png 파일만 바탕화면으로 복사 + 붙여넣기 해놨다.


 



빼놓은 파일과 회춘한 셰인...

도트를 수정하면 되는데 웬만하면 포토샵을 추천하는 편이다.

개인적으로 도트찍기 가장 편해서...

포토샵이든 사이툴이든 클립스튜디오든 

중요한건 투명화해서 저장할 수 있는 그래픽 툴을 써야한다.

안그러면 나중에 파일이 좀 깨져서 나올수도 있다.


수정팁 정도는

하나만 제대로 잘 바꾸면 나머지는 다 복붙으로 해결할 수 있다.

내가 바꾼것도 옷 + 얼굴형 + 머리 + 코는 다 하나 바꾼걸 재활용한거고

나머지는 원본보면서 표정만 맞게 수정해준거다.


포토샵 도트 찍는 법은 다른곳에서도 많이 있으니까 넘어가고

다시 바꾼 파일을 xnb로 변환해야 한다.


수정한 png 파일을 원본파일이랑 이름을 똑같이 해준 다음에 

변환한 폴더에다가 덮어 씌워주자.


꼭 이렇게 덮어 씌워줘야 한다. 안그러면 적용 안된다...


그런 다음에 다시 명령창을 열어서 xnb로 변환해주면 된다.

png로 변환할때랑 비슷하게


xnb_node pack xnb로바꾸고싶은폴더 xnb바뀐파일이나오는폴더



내 경우는 

xnb_node pack Portunpack Portpack

이라고 했는데


Portunpack라는 폴더에 있는 파일들을 xnb로 변환할껀데

xnb로 변환한 폴더는 Portpack이라고 된 폴더에 저장할꺼야


정도다. 


이렇게 나온 Shane.xnb 파일을 원래 있던 Content\Portraits에다가 덮어 씌우면 된다.


그러면 게임내에서 잘 적용이 됐나 확인하면 되는데



잘됐다.


즐겜하면서 1회차 1년 가을까지 왔는데

이번에 1.1 업뎃 뜨면서 재시작해서 빡겜할까 고민중이다.

우선 도트 좀 뜯어 고치고...

'기타' 카테고리의 다른 글

크롬으로 다음 포토에디터가 안될때  (0) 2017.07.30