2026.5.14更新之后,使用AS直接导出Live2D模型不再可靠
花了几天研究了一下,看样子是对游戏的文件管理系统进行了修改,同时对live2d系统进行了一些自定义处理,更新产生了几个问题:
- 容器路径损坏且无明显规律,导致贴图、动作和moc3难以分类
fade动作使用了自定义的字段ControlIds以及ControlTracks
准备工作
使用AS版本为aelurum/AssetStudio: AssetStudioMod
工作目录结构
在一个空目录下创建以下目录。
Fade
- *.fade, *.fadeMotionList
Textures
- *.png
TexturesMeta
- *.dat
Moc3Json
- *.json
Output
- model_1
- motions
- *.motion3.json
- textures
- *.png
- *.moc3
- *.model3.json
- ...
- model_n
准备游戏文件
主要有
- APK
assets/assets /storage/emulated/0/Android/data/com.zy.wqmt.cn/files/fs/assets/./files/fs_anti/assets/这里是反和谐的资源,自行搜索相关教程./files/fsclassify/assets/
合并在一起即可,重复文件自行替换(通常APK内的是旧版资源,热更的是新版资源)
解密方式跟之前一样, DecryptBundles.py
处理方式
-
导出动作,搜索
.fade导出所有模型的所有fade动作,以及.fadeMotionList到 Fade 目录注意这里需要修改导出设置,因为需要pathID来进行分类。

-
导出贴图,搜素
texture_0,筛选文件类型Texture2D导出到Textures目录,导出设置同步骤1。 -
导出贴图元数据,正则匹配搜索
.*\.(1024|2048|4096)\.bundle$,筛选文件类型AssetBundle导出到 TexturesMeta 目录,导出设置

-
导出moc3,筛选文件类型
MonoBehaviour (Live2D Model),导出到 Moc3Json 目录,导出设置同步骤3
然后用这个,自行修改dll路径,以及工作目录即可。
PathToNoWhere_Live2D.py
具体细节,主要就是调用dll的时候需要注意内存对齐(这里是为了解析moc3导出参数表,暂时没有找到更简洁的方式),以及meta解析的时候某些字段后也需要对齐。
最后需要.model3.json配置文件,可以使用Live2DviewerEX手动创建或者
ProcessModel3ByMotion3.py
存在的问题
- 疑似游戏内部资源管理问题,某些模型文件缺失了,比如
Nuokesi_502并没有moc3以及对应动作,但是有纹理图;以前提取的资源里面有Nuokesi_501但是新版没有。 - 某些模型有多个分辨率的纹理图,但实际上你只能使用更高分辨率的,比如
Enfer_3,有2048和4096两种分辨率,实际上只能使用4096版本(如果有,需要手动修改model3.json的相关字段)。 texture_00 @-588627214321533275.png和texture_00 @3599768868974006534.png找不到对应的模型
Fix
2026.5.19
感谢 yunyoushuiche 提出的背景闪烁问题,经过考证,发现ControlIds由parameterIds和partIds两个部分组成,之前以为是空白曲线而简单地忽略了,同时修正了一些曲线转换相关的问题。注释掉脚本中步骤1,3,只执行步骤2即可覆盖原来的动作。








