Lincubator: Live2D moc3 Decompiler

Lincubator是D2Evil项目(原名FreeLive)的一个工具,类似于FreeMote项目的EmtMake。其功能是将Live2D Editor通过工程文件(cmo3格式)导出的运行时用模型文件(moc/moc3格式),还原回cmo3文件,从而可以再次导入Live2D Editor进行修改、导出。

通过Lincubator,可以为已经导出的moc3模型做任何修改,比如增加一个动作、参数,或是调整贴图,修改后仍可导出。

但是毕竟是“反编译”,有些已经丢失的元数据也是无法复原的,比如:

  • Deform Path是无法复原的,因为它在运行时不需要(已经转换生成了中间插值),被剔除了。没有Deform Path不影响还原的效果
  • 参数名、ArtMesh名、分组等信息,都不会保留下来,还原时都会采用ID
  • PSD图层信息目前完全按照texture复原,而不是图层在画面中的真实位置,因此导出PSD后对PSD直接做修改确实不是很方便。但是真的要加美术素材的话,通常可以再加一张texture,把新图层放到新的texture上。正在计划的Lincubator第二版本会尝试对PSD进行一定程度的复原

如果想看Lincubator产生的cmo3工程是什么样的,可以访问:https://github.com/Dual-Vector-Foil/Amizin

在两个Live2D交流discord群中展示Lincubator后,都激起了不小的忧虑。(而且第二天我就被踢出了群聊,虽然我不太明白把我踢出去能解决什么问题。)事实上EMT的同类工具EmtMake早已存在,目前我还没看到有人使用它做出什么。程序界的IDA Pro、ILSpy等反编译工具,现在大家都在用,也没有人要把它们的作者钉到火刑架上。考虑到L2D作者担心工具被滥用的忧虑和自己写这玩意儿浪费的时间,Lincubator短期内并没有开源的打算。目前可以为正当的需求提供付费服务。不接受任何商业产品模型的还原。

D2Evil还有很多想法可以继续开发,比如实现EMT和L2D模型的互转(之前定名DualVectorFoil,现在这个名字已经给了别的项目),实现moc模型(Live2D第二代模型格式)转moc3模型(现在的第三代模型格式)、为L2D Editor制作辅助插件(已经定名:D2Evil.Witches)等等。但是工作很忙而且有很多要恶补的东西,不知何时才能写下去了。

 

2020-09-13追记:Lincubator v2现已支持moc转cmo3,也就是说现在可以支持市面上所有类型的live2d模型了。同时这意味着已经实现了moc转moc3模型(moc -> cmo3 -> moc3)。理论也可以反向把moc3转为moc,但是并没有那个必要。

 

添加评论

Loading