피부색을 바꾸려면 구매 횟수가 제한된 차림새 티켓을 써야하는 미친게임

그나마 바슬로 피부색을 바꿀 수 있었지만 막업뎃 이후로 바슬이 맛탱이 가버려서 지속적인 프레임 드랍 때문에 쓸 수가 없음

바슬 최신버전은 드랍이 어느정도 완화된 것 같은데... 스크립트 리셋을 하면 런타임 에러 뜨면서 팅겨버림

리도그도 이건 해결 못한다해서 난 KBF로 아예 넘어갔는데

암튼


이 글은 바슬 없이 스킨맵 텍스처 수정을 통해 피부색을 바꾸는 방법을 작성함

당연히 나한테만 피부색이 바뀐걸로 보임


글 작성 1년이 지나면 사진들을 천안문 해버리는 이슈 때문에 최대한 글로 설명함






1. 내 캐릭터의 스킨맵 좌표 확인하기


24b0d121e09c28a8699fe8b115ef046c68f6294d9a


헌터편집 - 피부색으로 가면 스킨맵과 피부 명도-피부 채도 슬라이더가 있음

이 때의 명도, 채도 슬라이더 값을 알아놔야 스킨맵 텍스처의 해당 좌표 픽셀만 수정해서 피부색을 바꿀 수 있음

내 캐릭터는 가로세로 90, 70



2. 스킨맵 텍스처 추출 및 변환

re_chunk_000.pak.sub_000.pak 팩을 뜯어보면 안에

natives/STM/streaming/Art/Model/Character/ch00/CommonTextures/SkinMap01_skin_ALB.tex.241106027

경로에 128x128 크기의 스킨맵 텍스처(SkinMap01_skin_ALB.tex.241106027)가 있음 이걸 dds 파일로 변환해야 수정할 수 있음


언팩 방법, 변환 방법은 알아서




3. 인게임 스킨맵 좌표를 텍스처 픽셀 좌표로 환산하기

인게임 좌표 슬라이더는 255x255 사이즈이고 추출한 텍스처의 사이즈는 128x128

내 캐릭터의 인게임 슬라이더가 가로세로 (90, 70) 이니까

255 : 90 = 128 : x

255 : 70 = 128 : y

x = 45.176

y = 35.137



즉, 추출한 스킨맵 텍스처의 (46, 36) 픽셀 부분이 현재 내 캐릭에 사용되는 슬라이더 색상임

*Paint.net은 각 좌표를 -1 씩 해야함 즉, (45,35) 부근의 픽셀을 건드려야함 난 크리타 쓰니까 크리타 기준으로는 (46, 36)




4. 색상 조절하기

환산한 좌표 픽셀만 건드려도 되지만 혹시 모르니 그 근처의 같은 색상인 픽셀도 같이 조절해주는게 좋음

매 픽셀마다 색이 다른 게 아니거든


24b0d121e09c28a8699fe8b115ef046543aefa3f

예시로, (64, 16) 픽셀과 그 주위의 7개의 픽셀 (64~65, 16~19) 은 모두 같은 색상임


바슬로 조정했던 색상 그대로 사용하려면

바슬에서 설정했던 스킨 색상 헥사코드를 픽셀에 곱하기 혼합, 불투명도 50%로 칠해주면 됨

그럼 바슬로 설정했던 스킨 컬러랑 똑같은 색이 나옴







5. 완성 예시



24b0d121e09c28a8699fe8b115ef046c61f72f4a99eb

바닐라






24b0d121e09c28a8699fe8b115ef046c62f02d469be8


모드








과정을 보면 알 수 있듯이, 바슬처럼 실시간 조정은 불가능한 방법임

딱 맘에 드는 컬러 하나를 계속 쓰거나 컬러별로 만들어놓고 플러피로 넣다 뺐다 해야함