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

About issues on recent files #15

Closed
11-59pm opened this issue May 1, 2020 · 4 comments
Closed

About issues on recent files #15

11-59pm opened this issue May 1, 2020 · 4 comments

Comments

@11-59pm
Copy link

11-59pm commented May 1, 2020

It seems that the file structure on scrobj file has changed once - though the exact time is unsure.
For some songs MillionDance is able to translate the facial motions like blinking or winking to MMD near perfectly - especially for older songs (e.g. Jireru heart ni hi wo tukete) However for more recent songs (like Mirai Hikou, Kururiuta) the program only translates the lipsync.
Would you look over the structure of "scrobj" file so that the program can translate the file?
Thanks in advance.

@hozuki
Copy link
Member

hozuki commented May 7, 2020

About facial expressions...
MLTD uses an internal "morph table" to indicate facial expressions. In the scrobj files, they put a "morph index" instead of storing the full morph animation (like in VMD). Unfortunately, MillionDance does not know about unseen facial expressions.
For example, if morph 100 represents a laughter, but it is not seen before (suppose we only know about 1 to 99), MillionDance just outputs the default facial expression.
So my guess is that they just used new facial expressions. I need to check the file to confirm it.

If that is the reason, how to fix the problem? Hmm, it is complicated.

  1. Find the moments when the model should show an expression but doesn't
  2. Read the scrobj and find its morph index.
  3. Reproduce the facial expression in other software, say, PmxEditor.
  4. Enter the values in TDFacial and save the JSON file (facial_expr.json).
  5. Now MillionDance can understand the facial expression.

Step 2 is the most complicated one, esp. for common users. I did this by hand and it is like a torture, because scrobj is a huge mess of many different kinds of data. I'll think a way to make the whole thing easier... :(

@hozuki
Copy link
Member

hozuki commented May 12, 2020

It turns out that some scrobjs split their facial expressions: one set in the landscape view, the other in the portrait view. In previous files, there is only one set of facial expressions, located in the base scrobj.

So an option was added in MillionDance:

image

Also a utility was added in TDFacial:

image

Hope it helps to ease the pain.

But beware! It seems more facial expressions are added. This is the current state of default mapping file:

image

I can't trace all of it so the user himself have to find out the specific morph values.

@hozuki
Copy link
Member

hozuki commented Jun 5, 2020

Can you confirm that this problem is solved?

@11-59pm
Copy link
Author

11-59pm commented Jun 27, 2020

Sorry for late reply. This has been resolved and I forgot to comment.
I closed the issue.

@11-59pm 11-59pm closed this as completed Jun 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants