【碧蓝航线】Azur Lane Crosswave 解包指南+探索历程

本文转载自ERU博客

工具,船名对照表
前排注意:任何解包行为需把握资源用途,为尊重作品著作权,请勿用于商业行为或大范围传播!

此处仅提供教程与经验,无资源。

本人共计探索了超过4天,终于摸透了包里的数据。目前除了3D模型还未测试(已可提取),其余资源都可成功提取。

大体流程(目录):

PAK数据包解包
虚幻4资源文件提取(CG get~)
Spine动画提取*
3D模型构建*(暂无,有生之年更新)

探索历程的无关文字会被折叠,请只看教程的读者放心食用。

文中用到的工具会给出官网与网盘地址,本人希望诸位能支持官方下载。网盘文件可能无法做到及时更新,敬请谅解。

一、裂解PAK

或许是幸运,或许是“自知之明”,总之地雷社没有给ALC的数据包加密,这也使得解包变得异常简单。这一步并没有坑,因而也就没有探索文字啦。

准备解包工具QuickBMS(官网网盘)与UE4解包脚本(官网同上网盘)。
znarqh5exmviggm

双击“quickbms.exe”,依次选择脚本、PAK数据包(通常位于“~\Azur Lane Crosswave\Azurlane\Content\Paks”)、解包位置(资源保存至何处)。
等待…… Done!

二、渗透UE4

ALC采用UE4(v4.21.2.0)游戏引擎,导致所有资源文件都被“加密”成uasset、uexp等文件,如何将这些还原成原始文件是这一关的核心任务。

吐槽
手贱用umodel选游戏路径时把所有解包出来的资源文件全选了,结果分析就花了半个多小时……
而且umodel稳定性也不太好,在我手上至少崩了30多回。另外它无法提取所有文件,这可着实坑惨我了……

1.准备提取工具UE Viewer(官网、网盘)。

2.双击“umodel.exe”,按图中配置参数,路径自选,不建议选择根路径(Content),否则所需时间较长。我在下面列出了子目录中包含的部分资源,可参考个人需要选择相应路径。
最后点击“OK”,等待处理。(此时命令符窗口无显示,请耐心等待)
7~$P0%ULLLLQ.png
Battle:含有战斗场景下的各种3D模型,2D UI设计等。
Event:含有VN(视觉小说)界面下的各种立绘、CG。
Sound:含有游戏内所有的BGM、SE、Voice(配音)。
System:含有游戏主页面的UI设计文件。
World*:含有主线剧情内世界场景的资源文件,包括地图架构,2D动态Q版人物等。

4.处理完成后弹出资源选择窗口,左侧目录树找到目标后可在右侧双击感兴趣的资源来预览。建议预览较大的文件,这些文件通常是图片、模型、音乐。
TD7S7SR{O_O$4HP

5.预览完毕后可以直接在预览器的“Tools”菜单中导出,或在文件浏览窗口批量选择需导出的文件,点击下方“Export”,选好路径与图片格式(仅影响图片文件)后确认导出即可。
a

注:UE Viewer仅能导出部分资源文件,一些数据文件无法识别与导出。

通常没有什么刚需的话,止步于此即可。也就只有我这么死脑筋的人会去想下面的内容了……

三、​​啊Q版小人太可爱了还会动 i了i了 一定要把她们导出来!~~

闹着玩嘛,这节主要是来提取ALC地图场景那些Q版小人。在这个坑里花了70%的时间才爬出来,获得不少经验的同时也感谢各位提供神奇工具的开源作者。

在这节里,经验伴你同行。

人生经验(点击查看)
一开始就花了半小时分析数据包文件架构,才找到路径“~\Azurlane\Content\World\Spine”。本以为是CG一样的玩意,结果用Umodel(UE Viewer)一看——Ch001.png
aab
【心脏骤停】誒呀好难受啊……与六年前拆CS1.6素材文件是一样的感觉呢。

  1. 经分析可知此类2D建模由Spine软件设计,单个建模包含json1、atlas1、png*1,对应解包后的路径为“~\Azurlane\Content\World\Spine”。其中“Ch001”即岛风,“Ch002”即…… 额这是谁来着?

Ch002_touch.png

是绫波吗…?是她吧…… 誒别打我啊!

剩下52位诸位若学成的话就可以自己提取哦~ 请自行探索吧~~(按道理每艘秘书舰都有的说)

  1. 准备文本编辑器(无脑推荐VS Code、Sublime Text 3,Notepad++ 因过于自由而不推荐),Spine Viewer WPF(作者:kiletw)。

注:SpineViewerWPF需要.NET Framework 4.7.2与Microsoft XNA Framework Redistributable 4.0作为前置库。

经验+1(点击查看)
这一步就着实不容易呐,Spine Viewer出奇的好用,虽然有点小Bug但作者很快就修复了,真得感谢他,不然可能就得买原装Spine了。(试用版无法导出图像,基础版就要69刀……)
悲惨的是,到最后我才找到这玩意。
辛运的是,你们的时间不会浪费了

  1. 利用第二节的方法,通过 umodel 从“~\Azur Lane Crosswave\World\Spine\Chxxx\Textures”(xxx指数字,为避免误解下面采用001,毕竟小岛风辣么可爱,拿来练手也不错~)得到Ch001.png。

  2. 神奇又关键的一步。资源管理器定位至“~\Azurlane\Content\World\Spine\Ch001”,将“Ch001.uexp”用文本编辑器打开,得到下图内容。(可能会有所卡顿)
    Z9YKX_8KFXBGZL.png

将分界线(一排乱码)上端的文字复制,注意顶端乱码不用,按岛风举例是从“Ch001.png”到“index: -1”,创建一个新文本文件,重命名为Ch001.atlas,将内容粘贴进去,保存。

再将分界线下端文字复制,底端乱码不用,同样以岛风为例是从“{“skeleton”:”到“”angle”:-0.05}]}}}}}”。注意编辑器显示缺陷导致的复制不全。
523N.png

创建新文本文件,命名为Ch001.json,将内容粘贴进去,保存。

建议移至同个文件夹,便于处理。顺便吹一波QTTabBar。

JAHTS3LQ0.png

痛苦不堪的经历(点击查看)
知道是Spine模型后,我苦思冥想地雷社把json藏哪了。当时用umodel找了一晚上也没找着,倒是在预览窗口发现了端倪,但问题是——根本不能导出啊!!
G4LUO5B4HPCUU.png
诶呦真的火气来了。在解包文件中浏览,突然一个“Azurlane.uproject”让我眼前一亮。woc,这不就是ALC的工程文件吗!感觉胜利的曙光都要照到身上了,赶紧双击,结果报错……
Q2CDNO04.png
凉拌,这胜利曙光刺激啊,把我眼都给亮瞎了。
接着网上冲浪,但几乎丧失了信心,直到有一次想复制“Ch001.uasset”文件名,不小心双击打开了它……
5GATFI73.png
??梦寐以求的json与atlas,简直就是乱码丛中的那两颗耀眼的钻石啊!
顺手打开和它在一起的“Ch001.uexp”,便出现教程里这一幕。简直泪流满面……辛苦没有白费!

接下去我会分成两种情况,5富人党(购买了Spine正式版)6穷人党(如本人),分别用两种颜色描述。

由于个人经济情况限制,以下步骤可能不准确,以Spine客服为准。

5-1. 发动钞能力,购买Spine!

5-2. Spine中新建项目,选择“导入数据”,导入Ch001.json。再选择“纹理解包器”,图集文件导入Ch001.atlas,确保Ch001.png在同一文件夹,选择输出文件夹后确定。

5-3. 将导出的许多单张图与Ch001.json放在一起,就能在Spine中预览到了。更多功能请自行探索,此处不再赘述。毕竟这不是教程想表达的方法。

5-4. 选择导出,各种图片视频格式任君挑选。

  1. 接上第4步。双击打开“SpineViewerWPF.exe”,在“Use Version”菜单中选择“3.7.83”(注意不是最新的3.8.x)。再点击“File -> Load Spine”,选择Ch001.atlas文件路径,并保证png与json在同一文件夹,能看到如下图。
    ASG.PNG

其中左侧“Anime”可选择不同动画,一个角色通常有多种动画(如岛风有3种)。下方是播放控件与截图(相机键)还有Gif导出(摄像键)。

没错,白嫖就是那么简单~~ 不过探索出这条路来并不是那么简单的……

在此提醒下,导出Gif时会占用大量内存资源,请留出足够的内存,否则程序会崩溃。

现在让我们看看探索历程的艰辛——
一开始我用Spine 试用版,它可以导入json数据文件。然而Spine不认atlas,而“纹理解包器”功能试用版又无法使用,导致只有骨架,材质全部遗失…… 简直就是死路一条啊。
ab
然后就开始考虑分割图集(那张大png),网上找了近乎两天,测试了各种软件:Skeleton Viewer、Texture Packer、Sprite UV、Gdx Texture Packer、Dragon Bones Pro 等等。
最后找到了“splitAtlas.py”,可惜没有原出处了。不过它成功帮我分割了大图,当时怕是都感动到哭了

一言难尽,其中的辛酸没人能理解,文字完全没法描述。这几天已经处于返校倒计时,我是多么想在返校前作出一番成就呢!终于——
KP89O26YGB7SN.png
热泪盈眶,终于在游戏外看到成品了!!虽然不能导出,但也足矣。
我并非没想过找破解版的Spine,可这设计软件太小众了,以至于根本没人破解,或许也有联网激活难破解的原因吧。
也尝试了替代品,Dragon Bones Pro。可这玩意有Bug,硬生生把可怜岛风的头发给整没了…… (wdnmd!!毁谁形象呢?!)受害者照片如下:
4K5DC.png
最后的最后,我看到了真正的曙光——Spine Viewer WPF!

感谢你能看到最后,祝提取顺利。

当然如果有了解Spine Web用法的盆友,欢迎联系我,我实在是无法玩明白这东西。这是我搭建的测试网址:http://sxj.mcmod.cn/123.html
不知道为什么就是不显示……

插一句,岛风这憨憨,我要定了,都礼貌点儿,别抢。

最后有个彩蛋~ 虽与教程无关,但挺有趣的。

This article is reprinted from ERU’s Blog

Tools, Ship Name Comparison Table
Front row notice: Any unpacking behavior must be mindful of the intended use of resources. To respect the copyright of the work, please do not use them for commercial purposes or widespread dissemination!

This post only provides tutorials and experience, no resources are shared.

I spent over four days exploring and finally figured out the data in the package. Currently, except for 3D models which have not been fully tested (extraction is possible), all other resources can be successfully extracted.

General process (Table of Contents):

Unpacking PAK Data Packages
Extracting Unreal Engine 4 Resource Files (CG get~)
Extracting Spine Animations*
Building 3D Models* (Not available yet, updates… maybe in this lifetime)

Irrelevant text from the exploration journey will be folded, so readers only interested in the tutorial can proceed with confidence.

The tools used in the article will be provided with official and cloud storage download links. I hope everyone can support official downloads. Cloud storage files may not be updated promptly, please understand.

1. Cracking the PAK

Perhaps out of luck, or perhaps due to “self-awareness,” in any case, Compile Heart did not encrypt the ALC data package, making unpacking exceptionally simple. This step has no pitfalls, and thus, there’s no exploration story here.

Prepare the unpacking tool QuickBMS (Official Site, Cloud Storage) and the UE4 unpacking script (Same official site, Cloud Storage).
znarqh5exmviggm

Double-click “quickbms.exe,” and sequentially select the script, the PAK data package (usually located at “~\Azur Lane Crosswave\Azurlane\Content\Paks”), and the extraction location (where to save the resources).
Wait… Done!

2. Infiltrating UE4

ALC uses the UE4 (v4.21.2.0) game engine, which results in all resource files being “encrypted” into uasset, uexp, and other files. The core task of this stage is to restore these into their original files.

Rant
Made the mistake of selecting all unpacked resource files when choosing the game path with umodel, and the analysis alone took over half an hour…
Moreover, umodel is not very stable; it crashed at least 30 times on me. Also, it cannot extract all files, which really gave me a hard time…

  1. Prepare the extraction tool UE Viewer (Official site, Cloud Storage).

  2. Double-click “umodel.exe,” configure parameters as shown in the image, choose the path yourself. It is not recommended to select the root path (Content), as it will take a long time. Below, I list some resources contained in subdirectories for reference based on personal needs.
    Finally, click “OK” and wait for processing. (The command prompt window shows no output at this time; please be patient.)
    7~$P0%ULLLLQ.png
    Battle: Contains various 3D models for battle scenes, 2D UI designs, etc.
    Event: Contains various character art, CGs for the VN (visual novel) interface.
    Sound: Contains all BGM, SE (sound effects), and Voice (voice lines) in the game.
    System: Contains UI design files for the game’s main menu.
    World*: Contains resource files for the world scenes in the main storyline, including map layouts, 2D dynamic chibi characters, etc.

  3. After processing is complete, a resource selection window will pop up. Find your target in the left directory tree, and double-click the resource of interest on the right to preview. It is recommended to preview larger files, as they are typically images, models, or music.
    TD7S7SR{O_O$4HP

  4. After previewing, you can directly export from the previewer’s “Tools” menu, or in the file browser window, select the files to export in bulk, click “Export” below, choose the output path and image format (only affects image files), and confirm the export.
    a

Note: UE Viewer can only export some resource files; some data files cannot be recognized or exported.

Usually, if there’s no immediate need, you can stop here. Only someone as stubborn as me would think about the following content…

3. ​​Ah, the chibi characters are too cute and they even move, I love them, I must export them!~~

Just for fun, this section is mainly about extracting those chibi characters from the ALC map scenes. I spent 70% of my time climbing out of this pit, gaining a lot of experience while also thanking the open-source authors who provided amazing tools.

In this section, experience is your companion.

Life Experience (Click to view)
I spent the first half-hour analyzing the data package file structure before finding the path “~\Azurlane\Content\World\Spine”. Initially thought it was something like CG, but when I looked with Umodel (UE Viewer)—Ch001.png
aab
【Heart stops】Ah, this hurts… it feels just like unpacking CS1.6 material files six years ago.

  1. Analysis shows that this type of 2D modeling is designed using the Spine software. A single model contains json1, atlas1, png*1, corresponding to the unpacked path “~\Azurlane\Content\World\Spine”. Here, “Ch001” is Shimakaze, “Ch002” is… uh, who is this?

Ch002_touch.png

Is it Ayanami…? It must be her… Hey, don’t hit me!

You can extract the remaining 52 characters yourself if you master this method~ Please explore on your own~~ (In principle, each secretary ship should have one.)

  1. Prepare a text editor (highly recommend VS Code, Sublime Text 3; Notepad++ is not recommended due to being too free-form), and Spine Viewer WPF (Author: kiletw).

Note: SpineViewerWPF requires .NET Framework 4.7.2 and Microsoft XNA Framework Redistributable 4.0 as prerequisite libraries.

Experience +1 (Click to view)
This step was really not easy. Spine Viewer turned out to be surprisingly useful, although it had minor bugs, the author fixed them quickly. Really thankful for him, otherwise, we might have had to buy the original Spine. (The trial version cannot export images, and the basic version costs $69…)
The sad part is, I only found this tool at the very end.
The fortunate part is, your time won’t be wasted.

  1. Use the method from Section 2 to obtain Ch001.png through umodel from “~\Azur Lane Crosswave\World\Spine\Chxxx\Textures” (xxx refers to numbers; to avoid confusion, we’ll use 001 below, since little Shimakaze is so cute and great for practice~).

  2. The magical and crucial step. Navigate in File Explorer to “~\Azurlane\Content\World\Spine\Ch001”. Open “Ch001.uexp” with a text editor to get the content shown below. (May be slightly laggy.)
    Z9YKX_8KFXBGZL.png

Copy the text above the dividing line (a row of garbled characters), note that the top garbled part is not needed. Taking Shimakaze as an example, copy from “Ch001.png” to “index: -1”. Create a new text file, rename it to Ch001.atlas, paste the content, and save.

Then copy the text below the dividing line, the bottom garbled part is not needed. Again using Shimakaze as an example, copy from “{“skeleton”:” to “”angle”:-0.05}]}}}}”. Pay attention to potential incomplete copying due to editor display limitations.
523N.png

Create a new text file, name it Ch001.json, paste the content, and save.

It’s recommended to move them to the same folder for easier handling. Also, a shout-out to QTTabBar.

JAHTS3LQ0.png

Painful Experience (Click to view)
After realizing it was a Spine model, I racked my brains wondering where Compile Heart hid the json. I searched with umodel all night but couldn’t find it, although I noticed clues in the preview window. The problem was—you couldn’t export it!!
G4LUO5B4HPCUU.png
Ugh, I was really getting frustrated. While browsing the unpacked files, suddenly an “Azurlane.uproject” caught my eye. Whoa, isn’t this the ALC project file! I felt the light of victory was about to shine on me, quickly double-clicked, only to get an error…
Q2CDNO04.png
Well, that’s that. This “light of victory” was so stimulating it blinded me.
Then continued surfing the web, but almost lost hope, until one time I wanted to copy the filename “Ch001.uasset” and accidentally double-clicked to open it…
5GATFI73.png
?? The long-sought-after json and atlas, they were like two dazzling diamonds amidst the garbled mess!
Opened “Ch001.uexp” which was with it, and the scene from the tutorial appeared. Tears were streaming down… the hard work wasn’t in vain!

Next, I will divide into two situations, 5 The Rich Faction (those who purchased the official Spine version) and 6 The Poor Faction (like myself), described with two different colors.

Due to personal financial limitations, the following steps may not be accurate; refer to Spine customer service for confirmation.

5-1. Activate the power of money, purchase Spine!

5-2. In Spine, create a new project, choose “Import Data,” import Ch001.json. Then choose “Texture Unpacker,” import the atlas file Ch001.atlas, ensure Ch001.png is in the same folder, select the output folder, and confirm.

5-3. Place the many exported single images together with Ch001.json, and you can preview in Spine. Explore more functions on your own, as they won’t be elaborated here. After all, this isn’t the method the tutorial aims to convey.

5-4. Choose Export, various image/video formats are at your disposal.

  1. Continuing from Step 4. Double-click “SpineViewerWPF.exe,” in the “Use Version” menu select “3.7.83” (note, not the latest 3.8.x). Then click “File -> Load Spine,” select the path of the Ch001.atlas file, and ensure the png and json are in the same folder. You should see the image below.
    ASG.PNG

Here, the left “Anime” allows selecting different animations. A character usually has multiple animations (e.g., Shimakaze has 3 types). Below are playback controls, screenshot (camera button), and Gif export (camcorder button).

Yes, it’s that simple to get it for free~~ However, figuring out this path wasn’t so easy…

A reminder here: exporting Gif will consume a large amount of memory resources, please ensure sufficient memory is available, otherwise, the program may crash.

Now let’s see the hardships of the exploration journey—
Initially, I used the Spine trial version, which can import json data files. However, Spine doesn’t recognize the atlas, and the “Texture Unpacker” feature is unavailable in the trial version, resulting in only the skeleton with all materials missing… It was like hitting a dead end.
ab
Then I started considering splitting the texture atlas (that large png). Searched online for nearly two days, tested various software: Skeleton Viewer, Texture Packer, Sprite UV, Gdx Texture Packer, Dragon Bones Pro, etc.
Finally found “splitAtlas.py,” unfortunately, the original source is lost. However, it successfully helped me split the large image; I was probably moved to tears at that time.

It’s hard to put into words; the bitterness is something no one else could understand. Words simply can’t describe it. With the countdown to returning to school in just a few days, how I wanted to achieve something before going back! Finally—
KP89O26YGB7SN.png
Tears in my eyes, finally seeing the finished product outside the game!! Even if it couldn’t be exported, it was enough.
It’s not that I didn’t think about looking for a cracked version of Spine, but this design software is too niche, to the point that no one cracks it, perhaps also due to difficulty cracking the online activation.
Tried alternatives, like Dragon Bones Pro. But this thing had bugs, brutally removing poor Shimakaze’s hair… (What the hell!! Ruining whose image?!). Victim photo below:
4K5DC.png
Finally, in the end, I saw the real light—Spine Viewer WPF!

Thank you for reading this far, and I wish you smooth extracting.

Of course, if there are friends who understand the usage of Spine Web, please feel free to contact me, I really couldn’t figure this thing out. This is a test website I set up: http://sxj.mcmod.cn/123.html
Don’t know why it’s not displaying…

An aside, I’ve decided on this silly Shimakaze, everyone be polite, no snatching.

Finally, there’s a little bonus~ Although unrelated to the tutorial, it’s quite interesting.


【碧蓝航线】Azur Lane Crosswave 解包指南+探索历程
https://tokisaki.top/blog/unload-azur-lane-crosswave/
作者
ERU
发布于
2020年12月20日
许可协议