kone
소미소프트

소미소프트

texture replacer v1.2.0.4

11/23/2025, 23:27:57
유틸
10762 views · 34 likes

texture 를 실시간으로 바꿔주는 BepInEx plugin 입니다.


기능은

  • 모든 유니티 버전 지원

  • 실시간 texture 변경

    • 게임이 실행된 상태에서도 수정하면 적용됨.

  • texture dump

    • ALT-F11 로 토글. BepInEx\plugins\ModImagesDump\ 폴더에 저장됩니다.

  • select sets

    • 하나의 texture레 대해 여러 texture를 준비해서 바꾸서 적용하는 기능

    • F12로 작동

  • 강제 주기적 replace

    • F11로 toggle

    • 안 바뀌는 경우가 있다면 사용


aHR0cHM6Ly93b3JrdXBsb2FkLmNvbS9maWxlL3RmUGdLeWF4TXRq


이전 버전에서는 MD5를 사용했으나 crc32로 대체되었습니다. 따라서 기존에 사용하던 MD5는 사용할 수 없으니 crc32로 update 해 주세요. 굳이 MD5를 쓰시겠다면 구버전 플러긴을 사용하세요.

기존엔 hash(MD5나 crc32)를 사용하지 않는 파일명에 "_"를 끝에 넣었지만, 이젠 원본 파일명 그대로를 사용합니다. 기존에 사용했던 파일들의 이름을 전부 바꾸는 것이 좀 귀찮으므로, powerShell 실행해서 ModImages 폴더에서

Get-ChildItem -Recurse -Filter *.png | Where-Object { $_.BaseName -match '.*_$' } | ForEach-Object {
$newBaseName = $_.BaseName -replace '_+$'
Rename-Item -LiteralPath $_.FullName -NewName "$newBaseName$($_.Extension)"
}

하시면 됩니다.


게임 속도를 안 떨어뜨리기 위해 온갖 삽질을 했습니다.

일부 게임에서 덤프뜨면 색이 어두워지는 증상을 수정했습니다.


crc32를 지우는 스크립트.

Get-ChildItem -Path . -Recurse -File | Where-Object { $_.Name -match '^(.+)_[0-9a-fA-F]{8}\.png$' } | ForEach-Object { Write-Host "변경: $($_.Name) → $($matches[1]).png"; Rename-Item -LiteralPath $_.FullName -NewName "$($matches[1]).png" }









여기부터는 잡담입니다. 웬만하면 읽지마세요.


거의 한달동안 제미나이를 갈구면서 만들었습니다.

기존에 처리하는 방식은 주기적으로 Resources.FindObjectsOfTypeAll() 으로 Texture2D 를 구해서 조지는 방식이였습니다. 그래서 저 구하는 순간이 랙이 생기는 포인트였습니다. 그래서 바꿀 대상을 어떻게하면 천천히 구할까.. 머릴 굴려봤지만 어차피 저 방법말고는 scene을 scan(GameObject를 하나씩 뒤지기)밖에 없었습니다.


GameObject 를 단위로 처리하는 방식으로 바꾸면서 소스가 2천 줄 정도였던 소스가 5천 줄이 되었습니다. Texture2D만 구해서 바꾸는 방식은 심플하고 문제가 발생할 일도 별로 없었는데, GameObject는 UI.Image, UI.RawImage, SpriteRenderer, ... 각 케이스별로 다 처리를 다르게 해줘야 합니다.


이렇게 처리하다보니 예전에 신경쓰이던 것이 해결되긴 했네요. jsk게임들의 로고를 고쳐서 replace하면 글자가 일부 잘렸는데, 이것이 해결되었습니다. sprite에 mask가 걸린 경우인데, sprite를 새로 생성해서 replace하면 된다고 하는군요.


'유니티버전에 관계없이 작동'이라는 기능은 온갖 노가다를 유발합니다. 간단한 예를 든다면 UnityEngine.UI 라는 것은 구버전에서는 UnityEngine.dll 에 있었는데 나중에 UnityEngine.UI.dll 로 분리되었습니다. 소스에 사용할 라이브러리 파일을 지정합니다. 그러면 실제 게임에서 로드될 때는 라이브러리 위치가 달라서 에러가 발생하고 사용 못하게 됩니다. 이것을 해결할 방법이 있었으니. 바로 '리플렉션(reflection)'. 라이브러리를 직접 절하는 것이 아닌 이름으로 찾아보고 있으면 그걸 사용하는 방식인데.. 소스가 개판이 되죠..

디버그 콘솔로 보시면 온갖 경고가 줄줄이 나오는 것을 볼 수 있습니다. 소스에 경고도 100개가 넘는데, 이것도 고칠 수가 없네요..


어쨋든 올해가 가기전에(?) 완료했으니 다행이네요.


남은 문제점이 있는데.. 애니메이션입니다. 애니메이션은 보통 메모리에 이미지들 올려놓고 바꿔치기만 하면서 보여주는 거라서, scene scan에서는 보여진 그 이미지만 하나 바꿔지겠지요. 여섯장의 이미지로 된 애니메이션이 있다면 그 여섯장이 화면에 각각 보이고 그것을 scan 했을 때 replace가 되니까.. 다 바꾸는 것은 되긴 되는데 아주 오래걸리겠지요. (예. SUMMER ~夏の14日~)

34
25 comments
11/23/25
감사합니다
11/23/25
스크랩
11/25/25
전통 안되면 복호화라도 부탁함
11/25/25
게임이 아니라서 굳이 암호화까지는 필요없을 것이라 생각합니다만.. 어쨋든 암호화 했습니다.
12/24/25
01/08 Edited 01/08
노모 작업 마치는대로 이 버전으로 테스트해보고 결과 알려드릴게요 디버그 수고하셨습니다
정욕의 고식 마사지점 5차수정에 잘 썼습니다. 구버전에서 replace가 안되던 spine 이미지들도 잘 대체되네요. 몇가지 사소한 증상들이 있는데 패치된 게임을 플레이만 하는 사람들에겐 문제가 안될 거 같아 이번 업로드에 1.2.0.2를 사용했습니다. 1. autotranslator의 texture translation이 켜져있으면 교체 이미지 로딩시 잦은 스터터링과 화면 깜빡임 발생 (이건 당연히 같이 안쓰는게 맞지만 구버전에선 없던 증상이긴 해서요) 2. alt + f11로 텍스쳐 덤프를 한번이라도 사용하면 대체 텍스쳐가 화면에서 사라지고 돌아오지 않는 현상 (unload되는건가요?) 3. 텍스쳐 파일을 게임 구동중에 바꿔도 변경된 파일을 불러오지 않는 현상. 구버전은 파일 교체하고 1~2초 사이에 반영되는데 이번 버전에서는 안되네요. 제가 확인한 건 이정도네요. 이번 업데이트 덕분에 노모패치 업로드 할 수 있었습니다. 노고에 감사드립니다!
01/09
피드백 감사합니다. 1. 전에 말씀 드렸던 번역 플러긴의 texture 관련 설정으로 나타나는 증상입니다. 2. alt - F11 을 누르면 dump / replace 모드가 토글됩니다. 덤프를 새로 떠야 하는 경우 기존의 replace 되었던 것들을 치워야해서 언로드 한 것입니다. 다른 씬 갔다가 돌아오면 게임이 새로 그릴테니 그 때 덤프가 되면 될 것 입니다. 3. 뭔가 버그인가보네요. 언제 고치지..
01/16 Edited 01/16
1. 파일이 변경됐을때나 F11을 눌러도 반영되지 않는 파일들입니다 (노모패치용 spine png파일들) 101102h3_38e81344.png 101102h_qiepian1_5055e23f.png 101102h_qiepian2_9e936a94.png 101102h_qiepian3_3eb9c7ba.png 101barh_f375eae3.png 101h_qiepian1_dfccb51f.png 101h_qiepian2_6bdeacc7.png 101h_qiepian3_1abfebe0.png 101h_qiepian4_6b4341c2.png 101_anmo_h1_9332fb45.png 101_anmo_h2_29575564.png 101_anmo_h3_2b7bd6f3.png 101_anmo_h4_277ee441.png 102barh_1e7bbd60.png 102h_qiepian1_2e8cdd23.png 102h_qiepian2_38c72c77.png
01/16 Edited 01/16
102h_qiepian3_e98b6849.png 102h_qiepian4_7f32088d.png 102_anmoqiepian_9b7ba6a8.png 102_anmo_h1_4a61097a.png 102_anmo_h4_397ea15c.png 102_CG_730169c7.png 201202h1_32f3958c.png 201202h2_0cf1ec7e.png 201202h3_2d2ba913.png 201202h_qiepian1_6734dd48.png 201202h_qiepian2_bf7fee00.png 201202h_qiepian3_75f18779.png 201h_qiepian1_be7541bd.png 201h_qiepian2_087b0934.png 201h_qiepian3_0a20ce7f.png 201h_qiepian4_c11e61d0.png 201_anmo_h3_7a2c802e.png 201_anmo_h4_5245d2aa.png 202barh_4e264763.png
01/16 Edited 01/16
202h_qiepian1_0dd4fe3d.png 202h_qiepian2_f117d077.png 202h_qiepian3_c8fd87b5.png 202h_qiepian4_11b03b1e.png 202_anmo_h1_350f78aa.png 202_anmo_h2_925bfb96.png 202_anmo_h4_34162874.png 301h_slice1_4cb06db9.png 301h_slice3_5c9febd1.png 301h_slice6_3e727d81.png 301_gym_h3_c2486d89.png 301_rest_h1_b8c61468.png 301_rest_h2_51262462.png 301_rest_qianxi_9ef518ee.png 401h_slice1_1ae8dfc4.png 401h_slice3_48b57c57.png 401h_slice5_7bfb32f2.png 401_gym_h1_94f3d37e.png 401_gym_h3_1c8cb1cd.png
401_rest_h2_636106e7.png lose_fuck_8b032597.png undress_c1f9cbc4.png
01/16 Edited 01/16
2. tr 1.2.0.2에선 적용되지만 파일 변경시 반영이 안되고 1.1.0.1에선 로드되지 않는 정지화면 CG 파일입니다 (이것도 spine png) 501_CG_9638febc.png 501_CG_dea11203.png 901_CG_424beeef.png 901_CG_58b5034e.png 3. BAR SHAKO에서 데이트 할 상대를 고르는 창에서 캐릭터 이름표에 쓰이는 파일들입니다. 타카나시 미키 姓名1_美纪_a32c6325.png 마츠시타 에츠코 姓名2_悦子_db8a5ec6.png 마츠시타 칸나 姓名3_环奈_0e6f72d4.png 미사코 姓名4_美沙子_b9102ebe.png 노자키 에논 姓名5_炎音_ff992074.png 미개방 시 물음표 세개 표시 姓名6_问号_a4455986.png 현재 1.2.0.2 버전에서 모든 캐릭터가 타카나시 미키로 표시되거나 혹은 그중에 미사코만 정상으로 표시되는 현상을 확인했습니다.
01/16 Edited 01/16
4. H씬에서 1.2.0.2 버전은 삽입불가 이미지가 삽입가능으로 변경되지 않는 현상을 확인했습니다. 삽입불가 이미지 文字状态2_22cddb73.png 삽입가능 이미지 文字状态1_12796a56.png
01/16 Edited 01/16
제 플러그인이 좀 무겁다는 피드백이 있어서 경량화 하는김에 대화 다이얼로그에서 화자 잘못 표시되는 버그도 잡아본다고 씨름하다가 많이 늦었네요. 스파인 애셋 불러오는게 이렇게 성가신 일일줄은 몰랐습니다 ㅠㅠ 저는 보조로 젬마랑 라마 쓰고 있는데 제미나이 데리고 쿠마린님도 고생이 이만저만이 아니실 거 같네요...여러가지로 감사드립니다.
01/17
반영되지 않는 파일들은 아마 nvidia에서 그럴 것 입니다. 작업하신 파일명들이 대부분 유니크하다고 생각합니다. crc32를 다 빼면 될 것 같습니다. 美_05e988b3, 美_cc7bb835 는 같은 '美' 이므로 crc32를 사용해야 하고요. skeleton_3efe59d1, skeleton_d89858f5 도 마찬가지입니다. nvidia에서 덤프떠서 그 파일명을 같은 파일을 준비해야 됩니다. crc32를 사용 안하면 gpu에 관계없이 작동합니다. F9쪽에 테스트버전 올려두었으니 테스트 부탁드립니다.
테스트 결과를 제 게시물에 적어뒀습니다. 스파인에 들어가는 png들은 여전히 실시간 파일 수정이 반영되지 않지만 일반적인 플레이에 방해되던 버그들은 잡혔네요! https://kone.gg/s/somisoft/cZpmKZbx-aJ8v7TLZxYzSb?p=1
1.2.0.4 버전에서도 스파인 쪽 애셋의 실시간 파일교체는 반영이 안되네요. 1.2.0.3과 눈에 보이는 차이는 없는 상태인 거 같습니다. 좀 더 테스트해볼게요.
01/19
스파인 샘플을 알려주세요. 회상의 어느씬에서 어느 파일을 수정해도 적용이 안된다... 101_CG 파일로 마사지가게 CG 의 첫번째 에논-CG1 인 101_CG 로 테스트 해봤는데 이상없던데요. spine 같은데..
BepInEx 6.0 모노 버전은 혹시 없는가요?
03/31
예. 없습니다. 번역 플러긴이 아직 6.0 모노를 지원하지 않기에 모노는 5를 사용하고 있습니다.
[손번역] 대리 업로드 Desert Stalker v0.20.3.1
번역
두파루파
05/27 4644 39
90일) RJ111049 Prison Fantasia v1.2.7z
복구
ㅇㅇ
05/27 2268 15
[구매보급] [자체번역] RJ01120129 로큰롤라이즈 (스캇/방뇨/료나/하드? ) 스캇은 선택지있음
번역
TSN
05/27 3929 21
[Dokuneko Noil]회사 송년회
동인
ㅇㅇ
05/27 7000 42
[Dokuneko Noil] 소라이 사키에게 나쁜 짓을 하는 이야기 【전편+후편】
동인
ㅇㅇ
05/27 5735 39
N.T.Resort에 오신 것을 환영합니다 게임 시스템 개요 & 스틸 장면 소개
정보
ㅇㅇ
05/27 3033 18
AI) 작가 팬네임 bnlhbmtvc2FraQ== / 캐릭터 이름 모리아 루루카 / 픽시브 140779512
영상
kawineo
05/27 10042 42
[Riboshika] 우리 누나는 세상에서 제일 강하고 멋있어.
동인
ㅇㅇ
05/27 9662 50
[미번] RJ01537503 유혹의 온천 여행 ~이성과 배덕의 1박 2일~ ver.2.0
미번
hdys1020
05/27 4328 26
[그냥복구] RJ146914 魔導士アルル 천재마도사 아루루
복구
meruna00
05/27 5286 32
ai ntr) 키타가와 마린 남친 몰래 코스프레섹스
야짤
ezmood
05/27 5199 38
[Miyahara Ayumu] 동정을 깨우쳐주는 유부녀
동인
1uF
05/27 7332 28
구매 보급 / 버전업 / 자체 번역) 만차율 300% 3 Append 1~3 ver.26.01.24 (공략집 추가)
번역
딸ㄱ기맛
05/27 11683 62
메○가키 스트리머와 오프파코 → 건방진 멘헤라가 내 고기오나홀로 타락할때까지
소리
카치마치
05/27 3546 25
(요청복구) 잠입! 의혹의 세뇌 SEX 컬트 종교 (潜入!疑惑の洗脳SEXカルト宗教) v250122
복구
redive
05/27 6911 29
alpha-라피아 애널자위
동인
k8625
05/27 7462 27
달콤달콤 소악마 3 ~초밀착 0거리 괴롭힘~
소리
카치마치
05/27 2358 23
검은파스타-애널병기
동인
k8625
05/27 6945 19
[구매보급][번역요청] RJ01577390 突然同居した従姉妹はVTuberになるらしい-俺だけが知る秘密の素顔-
미번
duck1028
05/27 4356 32
검은파스타-아나르왕국
동인
k8625
05/27 6496 28
[AI/이미지번역] 내숭쟁이 변태 시스터 아리아와 폭유 H하는 RPG
번역
미식이네
05/27 15437 83
TU1EdHlwZTg3 모음집 업데이트 알림
영상
hannanas
05/27 7082 25
스파이더그웬의 공식 설정 사건
동인
k8625
05/27 7524 16
[구매보급] 전자동 기계 조교 프로그램 Secretary [v1.1 의상 추가]
영상
밤꽃향기 그윽한 어느 여름날..
05/27 8984 59
[후원보급]bmFqYXI 텐카
영상
pangya
05/27 7626 90
[한글자막] 어째선지 같은 반 갸루들한테 열렬한 구애를 계속해서 받고 있는데, 나한텐 이미 좋아하는 애가 있다고!💢 (1편)
영상
실루엣21
05/27 19690 183
너스콜(RJ01557970) 복구 및 만차율3(RJ01347095) 복구
복구
그냥그냥
05/27 7762 38
(스압)Eonsang작가모음
동인
k8625
05/27 15349 109
[구매보급] [자체번역] RJ01117570 에로 검열관(the censor) 26.05.27
번역
gkqisq
05/27 20831 106
[구매보급/최면음성] 안노운 히프노 ~괜찮아, 내 목소리에 맡겨~
소리
rocoa
05/27 3714 31