解包《巧克力与香子兰1》的时候,不知道动态立绘怎么处理

请求帮助求助
2024-12-25 - 14:08
火花X
2024-12-25 - 14:08

各位大佬。我用KrkrExtract1.0.3.1解包emotewin.xp3之后,提出来了很多.psb文件,测试后可以用garbro打开,里面是两个bmp图片文件。KrkrExtract1.0.3.1也同时把这些bmp文件一并提了出来。

另外,我使用KrkrExtract1.0.3.1中的反编译功能整出来了.tjs文件,每一个psb文件配一个tjs文件。tjs文件中似乎是记录着各种XYZ坐标和动作的代码(本人没学过编程,但至少英语还是看得懂的)。但接下来就不知道该怎么办了。是有专门的应用可以查看,导出么?

我之前在哔哩哔哩上问过,有个up主推荐了Ulysses-FreeMoteToolkit-v4.0.1,但经过测试它可以查看《爱上火车Last~run》提取出来的psb文件,但查看不了《巧克力与香子兰1》的。而且《爱上火车》储存psb文件的emotedx.xp3文件用KrkrExtract1.0.3.1解包时如果开启反编译就会闪退。我猜测是因为这二者不是一种psb文件。

已经在浏览器上搜索过了。目前没看到解决办法。下了个E-mote free movie maker也不知道怎么用。

所以有办法查看《巧克力与香子兰1》的动态立绘的方法么?

话题状态:正常
550
listder
=> 火花X
回复给 @ 火花X

tjs中不可能存在坐标文件,坐标文件一半存在pdb或者txt,freemote工具会把psb中的坐标文件转换成json

pbd2json可以参考 https://github.com/TUdHQQ/pbd2json

txt2json可以参考

https://github.com/TUdHQQ/kfc/blob/main/txt2json.cpp

最近没什么时间,等我过段时间看看,另外如果你可以提供参考文件的话我会很感激的(

2024-12-25 - 15:36

listder
=> listder
回复给 @ listder

顺带如果可以使用非国内盘的话我会更感激的()

2024-12-25 - 15:37

火花X
=> listder
回复给 @ listder

那可能是我看错了。我是真的不懂编程

总之,我把文件上传到网盘里了。mega网盘可以么?这是其中一个人物的a立绘文件。

https://mega.nz/file/SUQUHCCY#5NP1JawP7aRZMlosXllXZJGjUpWCd3W9kkQhCJSgQ5o

2024-12-26 - 13:23

listder
=> 火花X
回复给 @ 火花X

首先garbro可以解包,根据提示迅速定位相关源码

https://github.com/crskycode/GARbro/blob/master/ArcFormats/Emote/ArcPSB.cs

从第63的KnownKeys可以推断密钥为970396437为uint类型

然后尝试freemote添加-k参数读取

报错

>>PsbDecompile -k 970396437 dx_e-mote3.0メイプル私服a.psb
FreeMote PSB Decompiler
by Ulysses, [email protected]
18 Plugins Loaded.

Decompiling: dx_e-mote3.0メイプル私服a
FreeMote.PsbBadFormatException: Exception of type 'FreeMote.PsbBadFormatException' was thrown.
   at FreeMote.PsBuild.PsbDecompiler.Decompile(String path, PSB& psb, Dictionary`2 context, PsbType psbType)
   at FreeMote.PsBuild.PsbDecompiler.DecompileToFile(String inputPath, PsbExtractOption extractOption, PsbImageFormat extractFormat, Boolean useResx, Nullable`1 key, PsbType type, Dictionary`2 contextDic)
   at FreeMote.Tools.PsbDecompile.Program.Decompile(String path, Boolean keepRaw, PsbImageFormat format, Nullable`1 key, PsbType type, Dictionary`2 context)
Done.

我认为这可能是freemote的一个bug,你可以向他们提一个issue

所以如果想合成立绘你就得啃garbro的源码(

稍微看了一眼tjs,还真的有可能是存储坐标文件的,这我还是头一回见

(不过怎么感觉是json转了tjs

2024-12-26 - 15:09

评论
KUN
listder 评论 listder
总之加TODO了,或许哪天有空了就写个小工具吧,qwq
KUN
火花X 评论 listder
那我先期待着了。
另外再问一下,我提issue的时候都应该怎么描述?或者上传什么文件?我也是真没办法了。以我的编程水平,看个报错都要一行一行查。
而且我连freemote—master都不会用。只能用FreeMoteToolkit。
KUN
listder 评论 火花X
你直接将你的日志和上述日志填上,然后清晰的描述问题,必要时向开发者提供部分文件(
KUN
火花X 评论 listder
其实还有一个问题。你是直接将psb用freemote读取的么?如果不是,或者你用了别的东西就当我没说。
我之前应该是提到过,那个psb文件用garbro浏览可以发现里面只有两个图片文件。没有任何其它的有关坐标或者动作的文件。所以这个psb不是freemote能直接运行的psb文件。
我之前用过freemotetoolkit打开过,但它显示可能被加密。我怀疑是因为里面只有图片,才导致的失败。
当然,如果你不是这么干的话,就当我没说。
不管怎么样,非常感谢。
KUN
listder 评论 火花X
上文说过了,尝试使用密钥解密()
KUN
火花X 评论 listder
这么说,这个psb文件里应该还储存着除了图片之外的文件么?
我其实还没搞清楚这个psb文件到底是什么呢。只是单单因为《爱上火车》的psb文件不能解开。也不能直接用garbro浏览,却可以用freemote运行,而这个正好相反,我才觉得它们不是一种文件。
KUN
火花X 评论 火花X
其实,如果我问得有点多了的话,我可以自己先查查。
KUN
listder 评论 火花X
是,包含立绘的各种信息,这些是合成立绘的关键
KUN
火花X 评论 listder
好的。大概明白了。我自己又去试了一下freemote里的psbBuild,把图片和tjs文件拖进去之后窗口直接关闭了。
那我就再自己研究研究了。非常感谢。
kohaku