教程如何提取公主连结游戏动画素材

教程如何提取公主连结游戏动画素材

绿龙

本篇专栏的核心在于如何将公主连结游戏内的 cysp.bytes 格式文件转换成可以识别的动画 .skel 格式文件。通过提取游戏文件在的Spine动画编辑器里播放人物/生物/Boss的动画。

本帖仅供学习交流使用,严禁用于商业用途。

最终的效果是可以提取包括绿龙在内的所有生物动画。如图所示。

地下城里的绿龙

绿龙动画

似似花

对于一般的人物动画,可以在[干炸里脊资源网]里找到对应的 .skel 动画文件。例如这里是克里斯蒂娜(狂野)的结算动画的动作,套用了似似花的动画。而干炸里脊资源网里面没有一般生物的动画,因此专栏会在使用一般人物动画的基础上介绍如何提取生物的动画。这样玩家在进行pcr的二创或者视频创作时,就有更方便的素材来源渠道了。

干炸里脊资源网:https://redive.estertion.win/

首先,你需要在B站下载公主连结redive的安卓端的安装包 .apk文件。

公主连结官网

apk安装包本质上是一个压缩包。将文件的后缀名由 .apk 改为 .zip 解压,得到游戏文件。这部分内容在这个视频和专栏里有详细介绍。

AssetStudio

随后,需要下载1个软件用来读取游戏素材文件。也就是常用的 AssetStudio 。后面简称 AS。

AssetStudio

当前版本的AS可以在这里下载。

使用它可以点击左上角[File] → [Load folder] 加载文件夹,选择解压的文件夹。载入。 等1~2分钟后,可以选择第二行的 [Asset List] 里找到所有的素材文件。

2023.3.20f1

日服 2023-4-23 更新,需要输入对应的unity版本号读取日服文件:

2023.3.20f1

点击左上角的 [Export] → [All assets] 导出所有文件。 (文件很多,很大。如果加载过多导致软件崩溃,可以将文件夹 [a] 分几次,分别加载) 

这样,就可以得到公主连结的游戏素材文件了。

贴图文件

首先介绍如何使用干炸里脊资源网提供的动画资源,和游戏提取的文件资源,制作自己想要的动画。在干炸里脊的[卡面]里有对应的角色壁纸/立绘,对应的日文名。

如 ヒヨリ (日和莉)

搜索日和莉

保存1张图片,发现图片名是 [100131] ,这也是日和莉的角色ID。下面是 日和莉(ヒヨリ)的人物贴图,文件名是 100111.png 。这是从游戏里提取的资源。保存在 [sdnormal] 文件里。

我在文件夹里搜索了png,然后全选复制粘贴到了新的文件里,方便大图查看

人物编号

日和莉的编号是 1 001 1 1,代表的含义是

1人物,001号,1星角色,1默认。

栞 的编号是 1 038 3 1,代表的含义是

1人物,038号,3星角色,1默认。

日和莉贴图

日和莉共有3种模式的贴图,分别对应了1星,3星和6星。分别是:

100111

100131

100161

栞贴图

栞只有2种模式的贴图,分别对应了1星和3星:让我栞栞谁还没6星

103811

103831

绿龙贴图

每个角色/生物/boss都有其对应的编号,如绿龙的编号是:310100

如何将游戏素材转换成可以利用的视频/图片素材呢?

干炸里脊 战斗小人

在干炸里脊里选择[战斗小人]角色是按照1~99顺序来排列的。(没有搜索功能,这一点很不友好)

找到对应的立绘,加载动画。

等到下面出现日和莉小人动画后,保存 [skel] 文件。

下载skel文件

这样,我们就得到了 [骨骼动画] 的 [贴图] 和 [动画] 文件。

可是,怎样才能得到具体的视频/图片素材呢?

这里需要用到强大的 Spine 骨骼动画编辑器。

spine

可以参考这个专栏

Spine pro 3.8.75 版本打开之后是这样的:

spine窗口

但是spine只能识别 [.json] 格式的文件,干炸里脊下载到的是 [.skel] 格式的,这要怎么处理呢?

别急,首先需要找到日和莉的所有文件。

在刚才提取出来的游戏文件里搜索100131(日和莉的编号),发现游戏里关于日和莉的素材有非常多。但是我们并不需要这么多素材,我们只需要在规定的路径下找到对应的素材就可以了。

例如日服在 CygamesTextAssetassets\_elementsresources esourcesspinesdnormal 这个路径下,找到 100131.atlas.txt 这个文件。整个游戏里分别有3个同名文件,分别是 

shadow 阴影,地下城暗的影小人,以及hard本里掉角色碎片

room 公会小屋,每天收体力,互动,喂蛋糕的地方

sdnormal 一般关卡里的,战斗小人而我们需要的正是 [sdnormal] 文件里的 100131.atlas.txt 这个文件。

100131.atlas.txt

我们可以尝试用 [txt] 格式打开这个文件,发现里面是一些 xy 之类的坐标数据,它是用来切分完整的贴图图片的。有了这些数据,就可以把一张完整的贴图裁剪成一个个零部件。

新建1个文件夹。取名为 [日和莉 100131],把刚才准备好的 100131.atlas.txt ,100131.png 以及 从干炸里脊下载的 100131.skel 放到这个文件夹里。

这时候需要用到1个转换网站,把 [.skel] 格式文件转换成 [.json],以便可以 Spine 动画编辑器 可以读取文件。

网址:https://naganeko.pages.dev/chibi-gif/

将3个文件导入该网站,如果加载了日和莉小人,说明加载成功。此时,我们就得到了 Spine 可以识别的 [.json] 文件。点击网页下方的选项 [as-is] 或者 [Spine3.8],下载 [100131_s38.json] 文件。将其放到刚才新建的 [日和莉] 文件夹里。

这样,我们制作动画的所有文件就准备齐了。新建1个 [Texture2D] 文件夹,用来放贴图。下面是准备好的文件。

接下来我们需要将文件导入到spine里。

打开 Spine之后,左上角[文件]里新建1个项目。然后[导入数据],选择 .json 文件。日和莉是人物。人物的缩放要改成 0.5。可能会提示你 “有未保存的项目”,点[放弃更改]。

这时候,会出现一大堆乱码,显示 missingname 示意贴图丢失。不过不要紧。因为我们还没有对贴图进行解包。

纹理解包

接下来使用 [纹理解包] 功能,将完整的贴图文件切割成贴图零件。

[图集文件] 选择 100131.atlas.txt 文件。[输出文件] 选择路径时在 [日和莉] 文件里的 [Texture2D] 文件夹。

同时勾选 [非预乘alph],点击 [解开],这样就得到了贴图文件。

点击 Spine 右侧的 [图片],点击加载选项。

选择刚才建的[Texture2D] 文件夹。

贴图加载成功

大功告成

接下来演示如何导出动画:

左上角点击 [设置]/[动画] 切换成 [动画] 模式,在右侧的动画列表里找到对应的动画,比如我这里找的是 idle 发呆动画。

导出文件之前保存一份 spine 格式的工程文件。

在底部操作栏里关闭 [骨骼] 的图层,这样动画显示的更清楚一些。

如果选中了图中的元素想取消选中,按 [空格] 就可以。

如果有误操作导致动画变形,可以 [ctrl] + [z] 撤销操作。

导出gif动画时,Alpha阈值调到 [90] 就可以将人物脚下的半透明 [阴影] 隐藏了。

点左上角,[导出],然后会出现一个选项窗口。我这里演示的是 .GIF格式的。也可导出 [.mov] 和 .avi 格式的视频素材。

选项窗口的右侧有 [默认] 和 [预览] 选项,点击 [预览] 可以展示动图的预览效果。以便确定画布的裁剪宽度。

我一般会选择视区裁剪的格式。里面一共有4个值,分别是

坐标轴 X轴,Y轴,图片大小 宽度W,高度H。

例如我导出的是以 XY坐标轴的 (-250,-50) 这一点开始。宽 [500像素,高500像素] 的区域。

通常在导出同一类图片的时候,会把视区固定在同一值。这样方便不同动画之间的互相切换。

在选择导出路径的时候,要给 [文件] 起一个名字,比如我导出的动画名是 idle,我给文件也起名为 idle。

文件起个名字

日和莉

这样就可以导出一般的人物动画素材了。

好了,一切工作准备就绪。施法前摇完毕。下面进入正题。干炸里脊资源网里只有战斗小人的 .skel。如何获得其他生物,比如绿龙的 .skel格式的动画文件呢?

绿龙的编号是 310100,如果在 [unitanimation] 文件夹里搜索 310100,会得到 [ _battle.cysp.bytes] 和 [ _chara_base.cysp.bytes] 2个文件。这2个文件就是拆分后的 .skel 文件。

干炸里脊资源网是将几个普通的人物模板文件 [.cysp.bytes] 合并后,得到的 .skel文件。也就是说,大部分的人物动作是通用的。比如 [rank] 升级后的演出动画,战败后 [跪地] 的动画。这些动画是通用的,没有必要每个角色都塞进去一套。所以游戏里除了每个角色专属的技能动画。还有所有角色通用的动画。本专栏的核心是如何得到 Spine 可识别的 [.skel] 文件,我们要做的就是将上面这2个文件,合并成 [ .skel] 格式的文件。也就是得到骨骼动画文件。

下面我先介绍修改文件的原理,再分享一个Python程序批量操作文件。

Hex Workshop

我用的是 Hex Workshop 这款软件。它可以把 [数据文件] 以 [16进制] 格式打开。这样可以方便我们对文件的源码直接进行修改。由于格式是固定的,用脚本修改会更方便,这里我先介绍如何修改源码。如果没有更深需要可以直接跳过。

为此我需要新建1个 .txt文


比丘资源网 » 教程如何提取公主连结游戏动画素材

发表回复

提供最优质的资源集合

立即查看 了解详情