各位在玩各種 DLsite 上的黃遊時是否經常遇到馬賽克遮擋導致無法好好的觀賞 CG 呢? 今天就來教一下如何去除馬賽克 (但是通常只適用動態 CG 的遊戲,若是那種畫死在圖片上的就無法去除了,也有一些其他特例無法去除。)
若不想自行下載此教學中會用到的工具,可以使用我提供的壓縮檔,裡面包含所有會用到的工具。
Unity 遊戲
使用 BepInEx 來載入去碼插件 (首推!)
https://github.com/BepInEx/BepInEx
https://f95zone.to/threads/bepinex-plugin-sw_decensor-v0-7-2-1.223718
https://github.com/trimmerpop/UniversalUnityDemosaics
https://github.com/ManlyMarco/UniversalUnityDemosaics
首先要確認該遊戲是使用 Mono 還是 Il2Cpp,通常可以透過觀看遊戲文件結構來得知。
若遊戲目錄中包含 MonoBleedingEdge 之類的那就是 Mono,反之則是 Il2Cpp。
然後下載對應版本的 BepInEx,解壓縮後將內容物放入遊戲目錄。
啟動一次遊戲後關閉,檢查 BepInEx 資料夾內是否有多出一些檔案,若沒有則須換一個版本的 BepInEx (如 5 換到 6、Mono 換到 Il2Cpp)。
接著就是下載去碼插件,把下載的 .dll
檔案放入 BepInEx/plugins
內並重啟遊戲,上方除了 BepInEx 以外的三個連結皆可嘗試,建議從上試到下 (通常第一個或第二個就能成功了,第三個包含更多去除的方法)。
透過修改遊戲來去除馬賽克
https://github.com/Perfare/AssetStudio
https://github.com/nesrak1/UABEA
https://github.com/dnSpy/dnSpy
參考 https://www.bilibili.com/opus/605569115767045579
我自己嘗試過的有兩種方法
1. 使用 AssetStudio 以及 UABEA 來更改
首先打開 AssetStudio 並載入遊戲的 Data
資料夾,例如 XXX_Data
。
搜尋馬賽克的 Shader,如 mosaic
,並記下其 PathID
和 Size
。
接著在 UABEA 內打開該檔案,對應到 PathID
和 Size
,用編輯器打開,把所有的 0 float val = 15
換成 0 float val = 0
。
若要使用此方法建議參考上方我貼出的參考連結,對於此方法的實踐有更深入的教學。
2. 使用 dnSpy 反編譯 Assembly-CSharp.dll
此需要有程式基礎,首先打開 dnSpy 加載位於 Managed
下的 Assembly-CSharp.dll
,例如 AliceInCradle_Data/Managed/Assembly-CSharp.dll
。
我無法給出一個具體一定是要怎麼修改的方法,有可能是透過修改 float
為 0.01f
,又或是像是 AliceInCradle 那樣單純把 return true;
改成 return false;
就好,需要看該遊戲是怎麼實現的,反正就是右鍵 -> Edit Method 修改後再 Compile 回去。
總之,我不推薦使用修改的方式,難度升高非常多,除非插件對該遊戲真的完全無用再來嘗試。
Unreal Engine (虛幻引擎) 遊戲
使用 3Dmigoto
https://github.com/bo3b/3Dmigoto/releases/download/1.3.16/3Dmigoto-1.3.16.zip
https://f95zone.to/threads/how-to-uncensor-almost-any-unreal-engine-game.120864
打開 x64
的資料夾,將裡面的東西複製到有 -Win64-Shipping.exe
的資料夾,例如 GirlsRedemption/Binaries/Win64/
。
打開 d3dx.ini
,搜尋 previous_pixelshader
,將三個 _pixelshader
的 no_modifiers
後面的按鍵設為你想要的,VK 表按此。
儲存後對那個 -Win64-Shipping.exe
按右鍵 -> 建立捷徑,並對建立好的捷徑按右鍵 -> 內容,在裡面的目標後面加上 -dx11
,如 C:\Users\owenl\C\H\Game\gamename\Game\Binaries\Win64\Game-Win64-Shipping.exe -dx11
,儲存後啟動該捷徑。
到遊戲中出現馬賽克的畫面,然後不斷按下你剛設定的 next_pixelshader
對應的按鍵直到馬賽克消失,過頭了可以按 previous_pixelshader
,當馬賽克消失時按下 mark_pixelshader
,這時到 ShaderFixes
資料夾下會看到一個後面為 -ps_replace.txt
的檔案,請記下 -
前面的那行字,例如 b0d4a9b54e51ebe3
。
再次打開 d3dx.ini
並刪除所有內容,貼上這串:
|
|
如果你需要去除多個馬賽克 Shader 就多用幾個 ShaderOverrideMosaic
,例如:
|
|
如果你遇到了 DX 錯誤就再加上這內容:
|
|
結語
感謝閱讀至此,希望你有成功的把馬賽克去除了。
喔對說好的壓縮檔在這裡
馬賽克真是萬惡的東西啊!可惜本子不像遊戲能這樣去除,我好想看更多無修正蘿莉本子啊啊啊啊!!!
我愛蘿莉,感謝大家。