- Feb 19, 2022
- 1,871
- 2,659
This is an one of plugin of BepInEx.This plugin will help replace texture of game without asset file replace. It changes textures on runtime.
It needed uncensored images(asset or png). Or do dump and make it uncensored.
It is do not touching asset file, So whatever game is updated, there is no problem. (when uses MD5)
New Added Feature : Select textures set
You can prepare many textures matches to 1 texture. There can be many variation of modded images. likes "black" and "blonde" hair.
prepare 2 textures and can change it run-time.
Example.
Make the folder named "Select". It's reserved name.
Game - BepInEx - plugins - ModImages - Select
... ModImages folder.
- Select
- Black Hair <- this will be "select texture"'s item name
- hair_.png
- leg_.png
- Blonde Hair
- hair_.png
- leg_.png
- Green body
- hair_.png
- leg_.png
- Black Hair <- this will be "select texture"'s item name
- UI
- button1_.png
- and so on....
- Others
- some files...
Press the F12, "hair_.png" is replaced with the texture which on "Blonde Hair" folder. Press F12 again? changed with "Green body"'s one. Rotating selection.
Of course you can prepare many textures on "select texture"'s folder.
Important !!
no duplicated names are don't needed use the MD5. (duplaicate names ex. texture_00)
Non duplicated name are just add "_" at tail of name. like below
- acstill_101_2_.png : OK. It's a simple.
- acstill_101_NO-MD5.png : location of MD5's string, there are "NO-MD5". It's OK. characters count is not 32.
- acstill_102_2_I-Hate-MD5.png : OK. "MD5" is not keyword. just check character's count is 32 or not.
- acstill_103_2_anonymouse edited.png : OK.
- acstill_103_4_This file needs more edit.png : OK. used as comments. beware of 32 characters.
- acstill_202_2_I-Want-good_game.png : In this case, texture keyword is "acstill_202_2_I-Want-good"
- acstill_502_3_cf5432a5a6b110e8b4d1fb1f1d101004.png : It is an unique name, but force check the MD5.
You can check the version of plugin with right click to dll file -> properties -> Details tab on file browser.
Files
Texture Replacer plugin v1.0.8.0
Contents:
- Texture_Replacer_BE_il2cpp.dll - for
You must be registered to see the linksil2cpp #6xx over
- Texture_Replacer_BE5.dll -
You must be registered to see the linksmono
Contents:
- ImageCompareForTextureReplacer v1.41.py : Matching similar image files.
- selected_files_rename.py : Renames files what you selected from results folder.
- UABEA_rename_with_MD5.py
Restrictions
This is a plugin of BepInEx. Running under BepInEx.
Plugin use some Unity's function. So belong to Unity version. But may be runs on many unity ver.
Installation
first, install BepInEx to game folder.
copy "Texture_Replacer_BE5.dll" file to "BepInEx\plugins\" folder. (IL2CPP exe type need "Texture_Replacer_BE_il2cpp.dll". ex: Holy knight Ricca)
If you had uncesored png files, copy it all to "BepInEx\plugins\ModImages\" folder. (Matching with texture name)
Run game and enjoy.
About IL2CPP version of BepInEx
if game client type is IL2CPP, use latest
You must be registered to see the links
.
You must be registered to see the links
is useless now. unhollow is no longer supported.How to dump images
Hotkey is ALT-F11. Toggled.
You don't have permission to view the spoiler content.
Log in or register now.
Uncensored asset files and game update
If you had a uncensored asset files(*.assets), But game is updated, Those files will be useless.
'cause texture was moved another asset file or pathID was changed, and so on.
In this case, You can use this plugin and tool(ImageCompareForTextureReplacer), can makes uncensored easier.
How to
- If have a modded images, copy files to "ORG" and jump to step 5.
- Install old game what uncensored(modded). and install BepInEx and plugin.
- Run game and turn on dumping(ALT-F11). view gallery or play game.
- Close game and move folder (BepInEx\plugins\ModImagesDump\) to proper folder(where you works. ex:"ORG")
- Install updated game.
- Do as 2-3
- Copy or move dumped folder to modded folder as step 4. (ex : "MOD")
You don't have permission to view the spoiler content.
Log in or register now.
You can use it for image translations too.
Issues
This plugin has a design flaw.
'Get data from textures data on run-time.'
If can read texture's data with CPU, there is no problem.
But many textures are can't read directly with CPU. (if "IsReadable" property of texture is setted with "true", can be read)
Bypassing this problem, The result is an image that is different from the original, depending on the GPU.
I shouldn't have used MD5.
Each GPU is dealing with slightly different colors, I tried to out same MD5, but it's failed.
Don't use the MD5 if possible.
File compare example. (sagashimono)
You don't have permission to view the spoiler content.
Log in or register now.
Changes Log
You don't have permission to view the spoiler content.
Log in or register now.
You don't have permission to view the spoiler content.
Log in or register now.
Last edited: