unity游戏去除mosaic方法 您所在的位置:网站首页 galgame都有马赛克吗 unity游戏去除mosaic方法

unity游戏去除mosaic方法

#unity游戏去除mosaic方法| 来源: 网络整理| 查看: 265

unity游戏去码方法

        dlsite上发售的同人作品unity小游戏去mosaic方法,只适合动态,不是和静态,如图片。主要有修改.assets中定义mosaic、censor的文件或者删除mesh、编译Assembly-CSharp.dll、使用BepInEx框架加载UniversalUnityDemosaics插件这3种方法。

思路分析:

AssetStudio加载文件夹,查看texture2D,判断是在图片上打码,如果是就只能改图。

搜索mosaic、censor等有没有关键的shader、Mesh类型文件,有就用UABEA修改,Mesh就删除。

不成功就使用BepInEx框架加载UniversalUnityDemosaics插件。

最后再尝试编译Assembly-CSharp.dll,不一定有都不行只能自己分析游戏了。

软件都可以在GitHub上找到。

使用软件 :

UABEA

AssetStudio

dnSpy

        主要记录修改成功的游戏和方法,方法相同的不再列出。步骤都为主要步骤,需要有一定的操作能力,软件的使用方法不说明,请参考官方文档。

1. 修改.assets方法

        此方法主要找到有_CellSize、_blockSize、 colMask的shader,shader一般不建议直接删除,少了shader着色器会让本来打码位置部分显示为紫色,没有着色的原因。

详见的文件名:

Ist_MosaicField

Live2d Cubism_Unlit_Mosaic

Live2d Cubism_Unlit_Mosaic Masked

Custom\Pixelate

1.1 Live2d游戏

    对于untiy用Live2d的游戏,前提是不是在图片上打码,例如RJ280657

AssetStudio加载游戏文件夹,搜索mosaic。

找到Live2d Cubism_Unlit_Mosaic和Live2d Cubism_Unlit_Mosaic Masked,记下PathID和Size的值,AssetStudio查看来源的.assets。

UABEA打开此.assets然后删除这个文件,保存再替换。

1.2 通用修改方法

    多数unity游戏都看使用此方法,例如RJ286256、 RJ302401。

AssetStudio加载游戏文件夹,搜索mosaic

把含有mosaic字段的Shader类型,即Ist_MosaicField,记下PathID和Size的值,AssetStudio查看来源的.assets。

UABEA打开此.assets,找到对应的`PathID 514`和`Size`的文件,选择`Export Dump`导出文件。

用文件编辑器打开,搜索名0 float val = 15(即`0 SerializedShaderFloatValue colMask`下面的值),全部替换0 float val = 0,保存。

UABEA在`Import dump`替换为修改后的文件。

         如果关键词搜索为空,可以尝试 找shader有 _CellSize的内容,例如

Custom\Pixelate 中`_CellSize ("Cell Size", Vector) = (0.02,0.02,0,0)`,将0 float val = 15全部替换0 float val = 0。

1.3  删除mesh

      如果去码不完整可以尝试mesh,例如RJ308908。

2. 修改Assembly-CSharp.dll

    修改dll需要看懂代码,有时候unity游戏不一样有Assembly-CSharp.dll。例如RJ283778

备份Assembly-CSharp.dll, 用dnSpy加载Assembly-CSharp.dll文件。

搜索mosaic,搜索框点击结果跳转到类。

 右键-编译类,把`float`浮点数的数值改成`0.01f`。

编译`然后`文件-保存模块`。

3.  BepInEx框架

    通过BepInEx插件注入unity游戏,禁用或删除加载mosaic的方法或材质,不需要手动去修改assets和dll文件,koikatu、com3d2等有专门的插件。   

    UniversalUnityDemosaics,github上可找到。详细介绍请看文档。

3.1 使用方法

 加载`BepInEx`,首先查看游戏是64位还是32位,可以从任务管理器中查看。把`BepInEx`复制在执行`unity`游戏目录上,运行游戏。

如果游戏加载成功加载插件,会在`BepInEx`文件夹生成`config`,`plugins`等文件夹,如果没有新文件夹,可以不支持此游戏,或者不是对应的系统版本。再或者`BepInEx`不支持此游戏。

在`config/BepInEx.cfg`修改配置`Logging.Console.Enabled = true`打开控制台,查看`BepInEx`是否正确加载。

加载`UniversalUnityDemosaics`插件,将`DumbRendererDemosaic.dll`复制到`BepInEx/plugins`文件夹中,打开游戏,查看是否正常去码,不行就把`CombinedMeshDemosaic.dll`复制进去。

加载插件时可以看看`控制台`信息,`UniversalUnityDemosaics`插件不需要全部复制进去,可能会冲突。

   测试游戏

        RJ168748可以加载`BepInEx`,复制`CombinedMeshDemosaic.dll`和`DumbRendererDemosaic.dll`成功去码。

    

    

    此方法只是记录和分享个人测试成功的,提供一个思路,但不一定适合所有unity游戏。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有