Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question] Cannot view mtn files in FreeMoteViewer #105

Closed
IamnotLin opened this issue Mar 31, 2023 · 10 comments
Closed

[Question] Cannot view mtn files in FreeMoteViewer #105

IamnotLin opened this issue Mar 31, 2023 · 10 comments
Labels
enhancement question https://github.com/betaseeker/How-To-Ask-Questions

Comments

@IamnotLin
Copy link

  • Game name: Senren*banka
  • Platform: PC Steam
    (Because my English is really poor, I can only use Chinese, if I have to use English, please let me know.)
    打扰了大佬,本来我是想着能不能通过看issues自己解决的,但我实在是个笨脑子,基本上就是完全搞不懂,所以只能求助于大佬了。
    sd001.zip
    这是我利用GARbro从steam上面的《千恋*万花》里提取的mtn文件,它被放在data.xp3\motion\sd里。
    我觉得它应该确实是motion文件,我曾经尝试用PsbDecompile打开它,然后我获得了含有图像的文件夹和两个json文件,这是其中一个json文件内的一部分信息:
    image
    当我试着用FreeMoteViewer打开它的时候,却几乎没有反应,只能通过鼠标看见似乎有加载一秒,但是什么都没有发生,当我改成用命令行来尝试打开它的时候,我却更加一头雾水了:
    image
    如图片一般,什么都没有。
    我也怀疑过是否是我安装的文件缺少了什么,所以我把文件更新到了最新版本,并尽可能确保安装了需要的组件。我还在别人的issues里下载了一个psb文件尝试打开并成功了(不过那个issues提供的文件存在一些问题,因此模型并不在正中央,不过通过移动画布我确实是看到了模型:iro_0.zip)。
    我实在是不明白应该怎么做才能让FreeMoteViewer打开我获取的mtn文件,可以的话还希望大佬能帮我解惑。
@UlyssesWu UlyssesWu added the question https://github.com/betaseeker/How-To-Ask-Questions label Apr 1, 2023
@UlyssesWu
Copy link
Owner

UlyssesWu commented Apr 1, 2023

FreeMoteViewer是用的win版本的Emote引擎,目的是预览Emote模型。
Emote模型是motion type PSB的一种,但motion type PSB不一定是Emote模型。
你这个文件是KRKR版本的非Emote的motion type PSB。只能用KRKR版本的MotionPlayer引擎打开,win版EmotePlayer不兼容这种格式。
KRKR版本的MotionPlayer引擎只能集成在KRKR里用,也没有公开的试用版本或者API可调用。
通常Emote模型(也就是FreeMoteViewer能打开的格式)后缀是psb/emtbytes/psz;mtn一般是非Emote的motion type PSB,但偶尔(如果是win版本)也能用FMV打开。

@IamnotLin
Copy link
Author

好的,十分感谢大佬的解答

@IamnotLin
Copy link
Author

因为我不确定我的笨脑子是否完全理解了大佬所说的,所以便再确认一下,我获取的这个文件想要打开的话只能下载KRKR,是这样的吗?

@UlyssesWu
Copy link
Owner

UlyssesWu commented Apr 2, 2023

我不知道你想要打开这个文件的目的是什么(作为提问的技巧,这应该在你第一次提问时就表明)。

如果你是想要渲染里面的图片并且导出(这个需求太小众了,一般使用FreeMote的汉化组都不需要这么做),那目前没有任何工具可以直接做到。你可以把motion文件理解成一个类似于Adobe Flash的东西,里面可能是由多个关键帧组成的动图(与之对应的,其他类型的PSB中可能是静态立绘,比如pimg文件FreeMote就可以直接拼接),导出图片可能会有很多帧,虽然或许你可能只需要第一帧,但万一你需要后面的第n帧,这个工具的实现难度会大很多,就好像要实现一个Flash,要计算每一帧某个元素移动到哪里、产生什么形变。如果是在此基础之上进一步封装的Emote,还涉及它的物理系统等等,更是很难直接模拟,所以还是会回到调用Emote引擎上来。

想要打开的话只能下载KRKR

即使你下载了,你也要学会怎么在里面调用Emote引擎,最后还要研究渲染出来怎么导出。相当于你要实现一个KRKR版的FMV,可能不算难,但要花点时间研究。这个需求有些过于小众了,如果你实现了欢迎来介绍下你是怎么做的。

@IamnotLin
Copy link
Author

好的,再次感谢大佬的解答。

UlyssesWu added a commit that referenced this issue Apr 2, 2023
@UlyssesWu UlyssesWu changed the title [Question] 无法用FreeMoteViewer打开mtn文件 [Question] Cannot view mtn files in FreeMoteViewer Apr 2, 2023
@UlyssesWu
Copy link
Owner

UlyssesWu commented Apr 2, 2023

@IamnotLin

Good news: Since next version (v3.5) MtnPainter is implemented to draw images from mtn files. Accuracy is not guaranteed.
Usage: EmtConvert.exe print sd001.mtn

刚刚实现了对mtn初始状态的绘制功能。
用法:EmtConvert.exe print sd001.mtn

再次提醒,mtn中存的是类似于flash的动图,这个功能对于mtn中的每个动图仅尝试输出一帧,正确性也不做保证。

Try latest build: https://ci.appveyor.com/project/UlyssesWu/freemote/build/artifacts

demo:
image

@IamnotLin
Copy link
Author

好的,真是十分感谢大佬(虽然这么说或许是有些自大,但真是十分感谢您对我这种小众需求如此上心)。

@IamnotLin
Copy link
Author

抱歉大佬,不知道是我的操作问题或者是什么其他原因,我输入了命令,命令行的反馈似乎也证明了它有实际工作:
image
但我似乎没能找到任何输出的图片。
image

@UlyssesWu
Copy link
Owner

UlyssesWu commented Apr 4, 2023

抱歉 是我手滑了,正确的命令是print而非paint
你可以通过 <工具.exe> -h 来确认有哪些命令可用。

@dogdie233
Copy link

@lamnotLin 我添加了一些额外的修复,你可以试试

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement question https://github.com/betaseeker/How-To-Ask-Questions
Projects
None yet
Development

No branches or pull requests

3 participants