UnityLive2DExtractor

2019-10-23 42,072 ℃

摸了好久终于是把这玩意摸完了。

程序在原本AzurLaneLive2DExtract基础上,除了一些bug修复和细节完善,最主要的是实现了physics3.json的还原,这样其他游戏的Live2D也都可以提取了,原本这个文件在导入Unity时会跟model3.json和moc3一样被转换成MonoBehaviour,只是舰B也把源文件打包了进去,所以以前的代码也就直接写出这个源文件了。

程序运行需要

.NET Framework 4.6

Microsoft Visual C++ 2013 Redistributable

Microsoft Visual C++ 2015 Redistributable

源码

GitHub

下载地址,提取码:y2w2

百度云

另外程序无法用于双生视界Live2D的提取,因为它的physics3有自定义字段,并且moc3文件也有简单的加密。双生视界的专用版本会晚些时候在博客上放出,敬请期待啦~

Il2CppDumper v6.1.0

距离上次在博客发布都要快一年了,这次因为又添加了一个新功能,所以在博客介绍一下。 ida脚本现在分为“ida.py”和“ida_with_struct.py”两个,使用“ida_with_s...

阅读全文

双生视界Live2D提取

总算是回到家了,差点就要把这篇文章咕掉了。 在github上有人提双生视界Live2D解出来的文件载入显示有问题时,UnityLive2DExtractor的代码还没写完,所以先用...

阅读全文

Il2CppDumper v4.4.2

程序已更新,有任何问题请去最新文章下留言 最近一段时间又更新了一下Il2CppDumper,除了支持switch的NSO格式外,最主要的还是完整处理了下MetadataUsage,现...

阅读全文

204 条评论

  1. 我最近想魔改一下碧蓝的l2d立绘,但是我经验比较少,怎么把l2d拆出来就碰壁了,我把l2d拖到程序上,会显示
    未经处理的异常: System.IO.FileNotFoundException: 未能加载文件或程序集“AssetStudio, Version=0.16.8.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。
    在 UnityLive2DExtractor.Program.Main(String[] args)
    不懂问题出在哪

  2. 大佬,我是萌新所以很無知,如果犯了很傻的錯請原諒。我網上搜索怎麽樣從游戲提取出Live2d,找到大佬的工具。關於這個unitylive2dextractor,我是想用在剛剛出的重返未來1999,可是自己苦試了一個星期多都還不太知道要怎麽做。可以請指教到底是要什麽樣的檔案才能用在你的unitylive2dextractor呢?我用了一個fork過的asset studio提取出了一大堆json和anim檔案,自己搜索了都像是Live2d有關的檔案,可是怎麽樣都不能用在你的工具。把folder拖進你的exe,cmd窗口出現1秒就不見了,沒有outputfolder。我磨了這個很多天,磨到快瘋了。如果能指教的話我真的很感激。

    1. 首先你要确认游戏使用的是live2d而不是spine,这两个很容易弄混,然后就算是live2d,如果游戏打包路径格式比较奇怪的话,程序也是不能识别的,这个地方比较复杂不好说,cmd窗口一闪而过基本可以认为是没有识别到live2d文件,如果你还要提取只能建议你参考源码自行修改

  3. 大佬你好,我想问下UNITY打包L2D那个有没有教程什么的?我自己做了一个L2D,但是不知道怎么打包回去放游戏里。

    1. 修改unity包可以用工具UABE或者UABEA,如果你是要替换原本的l2d也不只是修改图片这种简单的,你需要先用unity打包成bundle再用uabe替换所有文件

  4. 请教下,现在碧蓝航线的liv2d是无法提取了吗?
    把文件夹拖上去显示这个
    未经处理的异常: System.IO.FileNotFoundException: 未能加载文件或程序集“AssetStudio, Version=0.16.8.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。
    在 UnityLive2DExtractor.Program.Main(String[] args)

  5. 大佬,想请教一下,这两个包里的模型为什么一个能提出来motion3.json,一个不可以呢?我在AS里看container那里动作文件都是放在motions文件夹里的,不明白怎么搞。能帮萌新看看有什么解决办法吗 ……:???:
    链接:https://pan.baidu.com/s/1V9PC2HDzSP5w-c2a9SVQ3A
    提取码:m01v

  6. 您好,请问遇到加密的ab包,找到了密钥,通过魔改的assetstudio可以拆出来文件,拆出来的只有贴图,anim,许多MonoBehaviour类文件,请问这样能否还原回live2d文件,或者说可以通过密钥把ab包还原成未加密的再导进UnityLive2DExtractor吗

    1. 感谢大佬回复,github上有个大佬前两天发出来了,叫CNUnityLive2DExtractor,就是针对中国版unity加密的,今天刚用这个搞出来了少前云图的l2d文件,但是目前发现纹理贴图全是乱的,不清楚是不是厂家还搞了别的手段🙃

    2. 大佬,那个解包源码怎么用啊,我看说明要把live2d文件拖到exe,但是这个源码怎么才能生成exe呀,我也想康康云图的live2d :mrgreen:

    1. 看了下文件,他moc文件和anim是分开放的,所有程序没法识别,不过我发现他里面有原始的motion3文件,你直接导出应该也是可以用的

  7. 大佬好,我用这个解包家喵二三事只发现生成了unpack,没有发现live2doutput怎么解决?

  8. 大佬,我的各角色live2d是.bundle檔案,每個角色的檔案我都用assetstudio確認過有moc和phy的檔案,但我把他們各自放到不同資料夾且把各自的資料夾拖到live2dextractor時只有固定的某個角色能成功,其他的全部都是跳出終端機一下就立刻沒了。
    我曾想過是不是因為檔案是中文名,但當我把能輸出成功的檔案改中文名且不能輸出的改英文名時,前者依舊可以輸出成功,後者依舊不行。請問怎麼辦

    1. 因为你没有提供源文件我也不清楚是什么情况,不过可以给你说下程序的逻辑,首先对于bundle文件需要在有Container路径的情况下才能正常工作且需要里面有CubismMoc这个MonoBehaviour,然后程序只会把跟moc文件的Container路径相同的其他文件视为一个live2d里的东西,如果开发者把moc和其他东西分开放的话程序也没办法识别

    2. 请问如果碰到这种分开放的类型 要如何处理呢 文件没有加密 用AS解包出来的mono脚本应该不能直接还原成moc吧

  9. 大佬有空可以看看云图计划吗?跟少前一样都是散爆做的,然而解不了云图的L2D :???:

  10. 大佬我想问一下我那个云图计划的ab文件为什么一拖到UnityLive2DExtractor上面以后出现一个黑框闪半秒就消失了,然后那个output文件夹也没生成,是我电脑的问题还是云图计划这个ab包的问题,麻烦大佬了qwq。现在没有一个人搞云图的live2d,我也是小白也很迷茫。。。

  11. 大佬,请问一下被转换为animationclip的motion要怎么提取?与live2d文件放在一个文件夹里面提取不出来

    1. 看了一下之前的博文, :!: 好像是可以提取motion,但是不知道为什么我把motion文件和本体放在一起只能提取本体不能提取motion :cry:

    2. 程序目前只会把游戏打包的时候在同一目录的文件视为同一个live2d里的文件,即moc3和motion文件游戏开发者把他们放在一起的情况下。但是在有些游戏中开发者可能会把他们放在分开的子目录,这种情况下程序就没法判断他们是不是属于同一个liv2d,你可以用AssetStudio打开文件看看container那栏就知道了

    3. 我要提取的live2d也是分开的子目录,我修改代码后(水平有限),会生成motion文件(文件名正确),但json里面的内容是空的,控制窗口输出
      EF_Idle.anim read fail on binding 0
      EF_Idle.anim read fail on binding 1
      EF_Idle.anim read fail on binding 2
      EF_Idle.anim read fail on binding 3
      ……
      不知要怎么改,大佬给个思路或帮忙改改_(:з)∠)_

    4. 这个问题有点复杂,简单来说就是没找到动画对应的骨骼路径,有些游戏骨骼路径和其他东西可能是分开打包的,具体问题得具体分析

  12. 我也是相同原因,在解包碧蓝航线live2d时,文件解压出来四个文件夹分别是Animator ,MonoBehaviour ,TextAsset ,Texture2D ,其中Animator 中有一个ojb格式文件,MonoBehaviour 中全是json文件,TextAsset 中是physics3.prefab文件,Texture2D 是角色贴图,请问能使用此个工具转化成moc3文件吗? :?:

    1. 使用1.0.3,1.0.3,1.0.7都没有输出,只有使用双生视界专用版本时有输出,但是输出的是空文件夹

  13. 大佬,这个碧蓝航线的live2d的文件在手机哪个文件夹呀,是不是那个painting里面的。我吧这里面的一个文件拖到exe上显示loading…done!这是怎么回事呀

    1. 大佬我用assetstudiogui这个解包立绘后就获得了两个png图片,后续改怎么操作呀,怎么才能获得live2d文件呀

  14. 小白问个问题,这个软件能吧游戏的l2d文件解包,那如果有live2d文件,怎么封包成游戏文件啊?

  15. 在提取nikke的时候出现loading…done!但是并没有提取后的文件,这个游戏在用as的时候是可以直接提取的(要用最新的)
    大佬请问有测试过这个游戏吗

  16. 大佬好,尝试使用软件提取live2d,1.0.1与1.0.2用不了,1.0.3可以提出所有文件但是打不开.moc3。后改用1.0.7版本,发现仅能提取出.moc3与physics3.json,贴图与动作无法提取,并弹出提示:未经处理的异常: System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
    根据网上查阅更新了.NET Framework 还是没解决。想问一下这是否是因为.moc3文件被加密了缘故?

    1. 试出来报错原因了,是因为文件夹里有两个模型文件,直接拖到.exe只会提取第一个,提取到第2个时会覆盖,导致弹“未经处理的异常”
      看blog里说双生的有加密所以没办法用UnityLive2DExtractor提取,我尝试的这个,动作贴图物理都能提出来,也没检查出错误。提出了.moc3,丢进Live2D Cubism Viewer 里还是无反应,所以说是被加密了?

    2. 你提供的这个文件我在1.0.7版本没有遇到任何错误,双生因为加密需要使用网盘里的特供版本,但是现在还有没有加密我就不知道了,如果没加密普通版就能用

    1. 谢谢大佬回复 上次没说清楚 是软件打不开 我还纳闷拖到程序是啥意思 :!: 整了个painting对着启动程序放还是一打开有一秒画面就没了

    2. 你打开这个程序的文件夹有个后缀为.exe的,然后一直点着painting文件夹把它拖到这个后缀为.exe的程序这里

  17. 大佬萌新有个小问题,碧蓝航线AssetBundles根目录下好多文件,我找到了live2d
    1.然后选择了一个叫z23的文件,这个文件就是单独的一个,没有任何子目录,之后把他复制到新建的文件夹里面也重命名了,但是推到exe里面后写了个done,什么事情都没发生
    2.我用assetstudiogui选择painting里面的信浓1和2,全部默认选项后,导出了四个文件夹,分别是texture2d,sprite,mono,mesh,请问我接下来应该怎么操作呀,选项

    1. 1.可能你的操作有误,试试1.0.7版本,碧蓝航线我是测试过没问题的
      2.碧蓝航线立绘有加密,去github上搜索工具

  18. 大佬,您看这个是否是有特殊加密,我试过assetstudio解包里面只能看到动作和贴图没有moc文件本体
    链接:https://pan.baidu.com/s/1R9MMcS12rBALKpXrrvRiTA
    提取码:gao0
    里面一个是经过asset的一个是游戏里源文件

  19. 大佬,文件开头是UnityFS 5.x.x 2019.4.22f1的文件是不是没法用这个来提取live2d了,我玩的这个游戏之前的文件都是UnityFS 5.x.x 2018.4.16f1开头的,最近更新了发现提取不出来就去看了下

欢迎留言

0 + 6 =