在尝试提取PSD的时候出现了这种问题,最后没有提取成功
测试另一个项目的时候发现提取出来的PSD文件错误很多,如图
can you fix it?
dafeng model have some giant mesh that totals to ~2.7GB so that would cause overflow. Especially there’s one large empty mesh that you may want to remove then re-export as moc3 then ran that through the tool again for psd. Currently patching the codebase to better handing that behavior and allowing customization when detecting large meshes and how to handle those.
For telafaerjia, unfortunately the original intention is that psd export allowing people to make rig-ready psd so I did not consider on render correctly yet and only handle emitting all necessary textures. I’ll see how I can handle this. In the meanwhile you may want to manually edit pose in Cubism editor then export as moc3 then re-run through the tool for psd export.
dafeng 模型中包含一些巨大的网格(mesh),总大小约为 2.7GB,这会导致溢出问题。其中特别有一个巨大的空白网格,建议将其移除,重新导出为 moc3 文件,然后再用该工具进行 PSD 导出。目前我正在修改代码,以更好地处理这种情况,并允许用户自定义检测到大网格时的处理方式。
关于 telafaerjia 模型,由于 PSD 导出功能的初衷是让用户制作“可直接绑定(rig-ready)”的 PSD 文件,因此我尚未考虑渲染效果,目前仅处理了必要纹理的输出。我会研究一下如何解决这个问题。在此期间,您可以尝试在 Cubism 编辑器中手动调整姿势,导出为 moc3 文件,然后再通过该工具进行 PSD 导出。
Also you may want to open dedicated psd editor and try to change layer visibility (此外,您也可以打开专用的 PSD 编辑器,尝试更改图层的可见性).
提到导出psd这些多图层文件(我的更新版gimp支持导入)的事,我真碰到有游戏开发商仅利用编辑artmesh将己经做好的内容进行删减而不对纹理文件编辑,我不知道这个工具对此有无方法反查可疑的artmesh编辑来更好还原psd文件 ![]()
thanks for replay
PSD bug being fixed with correct render. Still have some visual artifact. 正在修复 PSD 渲染错误,目前显示已恢复正常,但仍存在一些视觉瑕疵。
Also since psd stuff is getting complicated, new cli change will split out all psd-related operation into their own subcommand. 此外,鉴于 PSD 相关功能日益复杂,新的 CLI 变更将把所有与 PSD 相关的操作拆分到各自的子命令中。
Visual artifact somewhat fixed I think. Still need to cleanup codebase.
视觉伪影问题应该算是修好了,不过代码库还需要清理一下。
This is a truly ingenious technique, and many models are packaged in this format to share with others. I hope it will be used solely for personal learning and analysis, not for stealing other people’s models. The article’s title should avoid terms like “converter” or “decompiler” to prevent the technology from spreading further and falling into the wrong hands. Consider a more subtle title, such as “moc3 Analysis Tool.”
Hi, thanks for concern, I may probably change title ![]()
New WIP psd feature which support export with custom motion at specific time point. (新增的 PSD 开发中功能,支持在特定时间点导出包含自定义动作的内容).
Pushed new updates. Hopefully things should be stable.
已推送新更新。希望系统能保持稳定。
Amazing work!!!
有人说下怎么运行这个程序吗?不懂
需要下载rust自己编译 然后quadrism.exe xxxx.moc3 xxxx.cmo3就行了
In the restored PSD file, some elements have the correct orientation but are flipped, and the positions of certain components are off. However, the most critical CMO3‑restored component is intact; the issue likely lies in the code referenced by the PSD.
Hi, is it possible for you to send me the model for further debugging? You can use gofile (the link I posted before) for sending models. If you’re uncomfortable sending it publicly maybe you can try sending it in private. Yeah it is likely psd related since psd code is more complicated as it also trying to evaluate models directly.
First of all, thank God. This is a very great and impressive attempt. As a newcomer, I have a question: while it also creates CAN3 animation files from JSON, how exactly does that work? I managed to convert files successfully with AI assistance, but I tried all night and still couldn’t find anything that can generate CAN3 animation files from JSON.
Looks like it “probably” is expected behavior if not having --time flag since that flag render more correct version through more throughout calculation and default behavior tried to optimize more for unchanged texture. Maybe you should try quadrism.exe psd xuni.moc3 --time --aux-recursive and see how it’s going.
I also did use AI but maybe your tooling is a bit lacking since what I did is prompting the AI to create parsing tool, rust xml schema generation for type strictness to avoid hallucination, idempotency test (original json → can3 → new json == original json), java invocation, etc; alongside with various test models for data sampling with guesswork plus official models that have original can3 xml fields which are easy to trace behavior and perform semantic diffing.
Thank you for your guidance! I’ll keep trying, and thanks again for your sharing ;>
correct
A new update has been released, fixing additional PSD-related issues, implementing further optimizations, and adding very basic threading support. The Rust compiler now generates two files—an executable and a dynamic library—based on the platform to separate functionality. The cmo3 emitter has also been improved to ensure better idempotency.
发布了新更新,修复了更多与 PSD 相关的问题,并进行了进一步优化及增加了线程支持。现在,Rust 编译器会根据平台生成两个文件(一个可执行文件和一个动态库),以实现功能拆分。cmo3 发射器(emitter)也得到了改进,从而具备了更好的幂等性。
Executable name is now quadexec to prevent name collision. 可执行文件名现已改为 quadexec,以避免名称冲突。
https://github.com/spawner1145/lpk-unpacker
By the way, I also used this project to extract files from LPK archive and successfully converted an LPK file into a CMO3 file. Since I’ve only tested it on a single model in the Live2D EX Creative Workshop so far, I haven’t encountered any issues yet.Maybe could give it a try.