Unity工程资源提取其实还是很方便的,网上也有很多相关介绍,比如雨凇就专门写了一遍关于破解Unity资源的文章(http://www.xuanyusong.com/archives/3618),当然即使有傻瓜式教程,也难免会踩一些坑,下面记录一下这两天破解Unity资源的工程。

    一.disunity

    disunity是一款开源项目,java语言写的,轻量级,传言简单易用,然而并不好用,

    1.disunity5.x版本命令如何尝试都不成功,总是报出如下问题:

     2.disunity3.x 使用还是比较顺利的,但是并没有破解完全,一部分贴图并没有被提取出来,而且每张贴图有很多mip图集,总体破解结果并不好。

      如破解结果:

 

    二.UnityAssetsExplorer

    这个工具也可以顺利提取资源,但是使用也挺方便,但是提取的资源也不是十分令人满意。不过最新版本据说支持Unity5.x,具体没继续尝试了。

 

    三. Unity Studio

    Unity Studio十分强大,可以在直接预览资源,但是导出的贴图文件时dds格式,而且导出的贴图是“倒的”,两个难点:dds转png或者jpg 、 把图片反转。

使用方法十分简单,只要File—>选择解压包目录assets\bin\Data就可以了,之后就可以看到资源列表了:

 

之后就可以导出资源了,Unity Studio导出的贴图是dds格式,需要转换其他格式,这里推荐DDS Converter,使用也很简单,但是,但是,但是……转换后的贴图竟然是倒着的

这里就有第二个问题,处理图片倒位问题,这里似乎就没什么工具可以用了,不过简单思考一下也可以找到解决办法。既然图片是倒的,那只需要把像素点上下反转一下就可以的,按照这个想法就用c#写了一个简单的工具,也就实现了正常的图片,贴一下代码:

namespace WindowsFormsApplication1
{
class HandleImage
{
static string loadPath = @"E:\NewProject\Test\rst\";
public void HandleImg()
{
string[] files = Directory.GetFiles(loadPath);
for (int i = 0; i < files.Length; i++)
{
Bitmap img = new Bitmap(files[i]);
Bitmap bTemp = RevPicUD(img);
Save(bTemp, files[i]);
}
} //上下翻转
public Bitmap RevPicUD(Bitmap mybm)
{ int height = mybm.Size.Height;
int width = mybm.Size.Width;
Bitmap bm = new Bitmap(width, height);
int x, y, z;
Color pixel;
for (x = 0; x < width; x++)
{
for (y = height - 1, z = 0; y >= 0; y--)
{
pixel = mybm.GetPixel(x, y);//获取当前像素的值
bm.SetPixel(x, z++, Color.FromArgb(pixel.R, pixel.G, pixel.B));//绘图
}
}
return bm;
}
//左右翻转
public Bitmap RevPicLR(Bitmap mybm)
{
int height = mybm.Size.Height;
int width = mybm.Size.Width;
Bitmap bm = new Bitmap(width, height);
int x, y, z; //x,y是循环次数,z是用来记录像素点的x坐标的变化的
Color pixel;
for (y = height - 1; y >= 0; y--)
{
for (x = width - 1, z = 0; x >= 0; x--)
{
pixel = mybm.GetPixel(x, y);//获取当前像素的值
bm.SetPixel(z++, y, Color.FromArgb(pixel.R, pixel.G, pixel.B));//绘图
}
}
return bm;
} public void Save(Bitmap bitMap , string path)
{
path = path.Replace("rst", "handled");
bitMap.Save(path, ImageFormat.Jpeg);
}
}
}

处理完上面的问题,贴图就算基本正常了,如图:

哈哈,到这里资源提取就算基本成功了,但是……还是有个问题,就是alpha通道丢失了,想了很久并没有找到解决办法,只能用ps抠图了,汗……如果有大神有办法完美解决这个问题,还请留言赐教一下哈

附上dds转换工具和Unity Studio 工具下载:http://files.cnblogs.com/files/lixiang-share/UnityResTools.zip

Unity工程资源破解的更多相关文章

  1. 升级MAC OS到10.13, 10.14系统后UNITY工程无法加载资源的解决办法

    升级MAC OS到10.13, 10.14系统后,出现UNITY工程无法加载资源的情况: Unity项目中Asset目录显示为空! 解决办法一: 打开Launchpad中的磁盘工具 (也就是实用工具下 ...

  2. Unity工程无代码化

     目的 Unity默认是将代码放入工程,这样容易带来一些问题.1. 代码和资源混合,职能之间容易互相误改.2. 当代码量膨胀到一定程度后,代码的编译时间长到无法忍受.新版的unity支持通过asmde ...

  3. 2019年Unity学习资源指南[精心整理]

    前言 进入一个领域,最直接有效的方法就是,寻找相关综述性文章,首先你需要对你入门的领域有个概括性的了解,这些包括: 1.主流的学习社区与网站. 2.该领域的知名大牛与热心分享的从业者. 3.如何有效的 ...

  4. unity工程接入Android sdk后真机测试解锁屏后退出的解决

    unity工程接入如91.移动支付等Android sdk后,真机运行尤其是在4.0+以上坏境,往往会出现解锁屏后退出的情况,解决办法如下: 可以在AndroidManifest.xml中所有的con ...

  5. 【Unity_UWP】Unity 工程发布win10 UWP 时的本地文件读取 (下篇)

    Universal Windows Platform(UWP)是微软Windows10专用的通用应用平台,其目的在于在统一操作系统下控制所有智能电子设备. 自从Unity 5.2之后,配合VS 201 ...

  6. 【Unity_UWP】Unity 工程发布win10 UWP 时的本地文件读取 (上篇)

    Universal Windows Platform(UWP)是微软Windows10专用的通用应用平台,其目的在于在统一操作系统下控制所有智能电子设备. 自从Unity 5.2之后,配合VS 201 ...

  7. Unity编辑器 - 资源修改立即写入磁盘AssetDataBase.SaveAssets()

    Unity编辑器 - 资源修改立即写入磁盘AssetDataBase.SaveAssets() 在编写编辑器时,如果需要修改Unity序列化资源(如Prefab,美术资源,ScriptableObje ...

  8. Unity编辑器 - 资源批处理工具基类

    Unity编辑器 - 资源批处理工具基类 经常要对资源进行批处理,很多时候都是一次性的需求,于是弄个通用脚本. 工具是个弹出面板,处理过程有进度条,如下: 如图,子类只需要重写几个方法: using ...

  9. Unity开发 资源准备

    开发环境准备 插件资源 当有喜欢的资源,选择去泽国社区和纳金网下载,仅用于学习目的. Fbx查看器 下载版本对应的FBX插件 比如:fbx20133_quicktime_win.exe 对应Quick ...

随机推荐

  1. http--一次完整的HTTP事务是怎样一个过程?【转】

    一次完整的HTTP事务是怎样一个过程? 如有收获请给作者点赞 --> 原文链接 声明:本文章中的说法仅是个人理解总结,不一定完全正确,但是可以有助于理解. 当我们在浏览器的地址栏输入 www.l ...

  2. P1880 石子合并

    P1880 石子合并 题目描述 在一个园形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分. 试设计出1个算法,计 ...

  3. 【Luogu P1120】小木棍

    题目: 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过$50$.现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度.给出每段小木棍的长度,编程 ...

  4. sql语句查询数据库案例

    package com.hanqi.test; import java.sql.Connection; import java.sql.PreparedStatement; import java.s ...

  5. Xmanager用法(export DISPLAY=客户端IP:0.0)

    1.在用户的目录下找到文件.bash_profile或profile,用vi对其进行编辑.加入下列命令行: DISPLAY=192.168.88.71:0.0;export DISPLAY 2.如果只 ...

  6. Leetcode 654.最大二叉树

    最大二叉树 给定一个不含重复元素的整数数组.一个以此数组构建的最大二叉树定义如下: 二叉树的根是数组中的最大元素. 左子树是通过数组中最大值左边部分构造出的最大二叉树. 右子树是通过数组中最大值右边部 ...

  7. Leetcode 523.连续的子数组和

    连续的子数组和 给定一个包含非负数的数组和一个目标整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数. 示例 1: ...

  8. vlc无法播放.flv视频文件

    解决方法:https://videoconverter.wondershare.com/vlc/flv-not-displaying-video-vlc-media-player.html. 在pre ...

  9. Linux下解压rar格式的压缩文件

    如果需要在Linux系统下解压RAR格式的压缩包,需要安装Linux版本的rar程序. 具体安装步骤如下: wget http://www.rarlab.com/rar/rarlinux-3.8.0. ...

  10. Groovy安装

    进入Groovy的官网下载安装SDKMAN() 以下是官网的下载方法(http://www.groovy-lang.org/download.html) This tool makes install ...