撰写了文章 更新于 2019-06-13 00:12:59
关于现版本 明日方舟资源提取(CG,立绘,BGM)
明日方舟资源提取
明日方舟凭借自身独到的玩法、高质量的画风而席卷当前各个萌系手游企鹅群成为新的斗图战士。似乎一时间只要你迫害阿米驴,我们就是好骡友.jpg。煞有于锉刀,铁板组成ACG三大手游迫害阵营。
不管怎么说大家对于“骡的岛”是发自内心的喜欢,于是我也蹭一波热度分享我是如何提取明日方舟的资源、立绘、BGM等等。希望能为广大同人创作的大佬提供制作的素材、也为能让对“白光”过敏的玩家有见见老婆的机会。
一、下载资源并解包
1.下载资源
第一种办法,我们可以直接从官网去下载https://ak.hypergryph.com/index他的Apk (安卓安装包)。
然后将文件的后缀名改为zip(重命名的快捷键是F2),并解压文件(保证你的电脑有个压缩软件)
通过SpaceSniffer对游戏apk解包出来的文件夹的/assets文件夹下文件夹大小进行分析(assets文件夹一般来讲都是资源包),我们大概可以知道游戏占比最大是/assets/AB下的
Audio(音频)占比最大,
Arts (游戏场景、UI资源等)第二,
avg(感觉是剧情素材?),
charpack(就是你们老婆的立绘),
其他的文件就有待你去探索了。
第二种方法就是导出手机的数据,这个很重要因为游戏一般都是热更新后续的新游戏资源都会由游戏下载你的手机里,而不至于让你重新下载游戏。
所以如果你要解包最新的游戏素材那么你就需要去手机根目录下(这主要看你把游戏是安装手机上,还是内存卡上)找到
Android/data/com.hypergryph.arknights.bilibili/files/AB/Android目录复制到电脑上进行下一步解包操作(这个文件夹目录结构和我们在电脑上解包apk是一样的)
2.解包Unity游戏资源
这个时候我们观察游戏文件格式——AB包,标准的Unity封包(好像大部分的手游都用的Unity?)。
关于提取Unity的封包工具有很多,我个人极力推荐Perfare大佬开发的Asset Studio,
功能丰富,且支持预览。感谢大佬的分享!https://www.perfare.net/1194.html
实践是检验真理的唯一方式,我们来尝试提取游戏CG。
1).打开软件目录下的AssetStudioGUI.exe,选择菜单栏 File(文件)——Load Folder(载入文件夹),选择你需要解包的文件夹。
2).由于我们是提取游戏CG,所以选择
\游戏解包目录\assets\AB\Android\avg\backgrounds (游戏背景图片)
\游戏解包目录\assets\AB\Android\avg\images (游戏剧情图片)
这个两个就好。
3).选择好之后,就可以点Export(解包)—— All assets(全部资源)
二、合成立绘
1 . 解包文件
1).立绘文件的目录是:\游戏解包目录\assets\AB\Android\charpack
2).和上文操作一样提取出来,打开\解包出来目录\Texture2D,你会发现人物立绘都是些带黑底或者花底的png图片。
2 . 合成图片
实际到这里其实很多小伙伴都知道这该怎么合成了,实际上就是一张原图和一张通道图就合成出来,这里我推荐使用GalPhotoAuto(这里估计会有不少Galgame玩家会心一笑吧)
1).复制“批量修改文件名(明日方舟立绘).vbs ”这个脚本文件到图片目录下去,双击等待弹出“文件处理完成”对话框。
2).打开GalPhotoAuto,选择(2)添加处理图片——将图片文件夹拖入模式二(添加文件夹)
3).再选择(3)选择合成规则——常规合成规则——源图与ALPHA分开为两张图——模式二:添加文件夹,自动合成,以“_m”结尾的合成,xxx.bmp是源图,xxx_m.bmp是作为ALPHA。
4).点执行,就看老婆(老公)了(目录下会生成0_YouCanDel文件夹如果不需要直接删除就好)
三、关于合成软件的原理(无聊的话可以看看)
关于BGM音频方面只要使用Asset Studio去解包就好,格式是wma如果是需要MP3格式可以使用格式工厂转换(与上文一致)
音频目录:\游戏解包目录\assets\AB\Android\audio
在很久之前png这种自带通道的图片格式尚未出现时。
游戏制作者用的图片都是有底色的(一般来讲是黑色)游戏程序会自动过滤掉底色的从而得到透明边缘的图像。
但是如果碰到需要表示部分地方半透明(具有透明度值)咋办?于是机智的大佬就想到直接将透明度存储在另一张图中,这就是我们说的通道图。
说道这里我们大概了解一下,像屏幕之类发光设备的显示原理(加色原理)便是红(R),绿(G),蓝(B)这三个颜色的混合而成。
那么同样的图片的每一个像素也是有RGB组成,每个颜色范围一般来讲只有0~255(高了反正也显示不了),所以我们可以使用一串16进制数字来表示颜色,eg:红色(#FF0000),黑色(#000000),白色(#FFFFFF)。
而通道图就是需要存储同样范围(0~FF)的A(透明),一般来讲三个颜色通道来存储该数值,因为三个颜色一致通道图会呈现出灰色,所以我们还会称这种图为灰阶图。
那么说话png这种图片他非常棒免费不说还支持无损压缩和速度。他存储格式便是ARGB,与上面的RGB只是前面多个A通道。我们可以通过一个简单程序来实现。
Set Img = CreateObject("WIA.ImageFile")
Set Alpha = CreateObject("WIA.ImageFile")
Set IP = CreateObject("WIA.ImageProcess")
Img.LoadFile "F:\img.png"
Alpha.LoadFile "F:\alpha.png"
temp = Timer
Set sc = CreateObject("MSScriptControl.ScriptControl")
sc.Language = "JScript"
Set v = Img.ARGBData
For i = 1 To v.Count
A = sc.Eval((Alpha.ARGBData(i) And &HFF) & "<<24")
If A Then v(i) = A Or (v(i) And &HFFFFFF)
Next
IP.Filters.Add IP.FilterInfos("ARGB").FilterID
Set IP.Filters(1).Properties("ARGBData") = v
IP.Apply(Img).SaveFile "F:\02.png"
MsgBox "耗时:" & Timer – temp
这里是提供一个思路,但脚本不适合处理这种大数据(脚本执行效率低)。
以上便是鄙人拙见,愿抛砖引玉,得到大佬们的建议和批评。如果反响比较好的话,我尝试推出关于碧蓝航线的提取合成的教程。那各位有缘再见。
卵石之美 [作者] 1年前
发布
星八道 1年前
卵石之美 [作者] 1年前
星八道 1年前
发布
天杀包子神 1年前
锉刀我知道 铁板是谁
不应该是型月重工吗
OrangeCZY 1年前
发布
彼肩上de蜻蜓 1年前
现在最新版本的apk里charpack下面好像只有几个干员的立绘了
卵石之美 [作者] 1年前
发布
正在打哈欠的水果 1年前
卵石之美 [作者] 1年前
发布
桜花piupu 1年前
卵石之美 [作者] 1年前
发布
小左 1年前
卵石之美 [作者] 1年前
鹿人哒 1年前
发布
ModernWan 1年前
卵石之美 [作者] 1年前
ModernWan 1年前
发布
Remilia 1年前
发布