butaixianran / Blender-Vmd-Retargeting

This blender addon will import motion from mmd's .vmd file onto Daz or CC3 models, with or without mmd model.
82 stars 10 forks source link

Cannot covert G8 character to mmd #29

Open Marco6666662 opened 6 months ago

Marco6666662 commented 6 months ago

Blender version:
3.6

Model type: Daz

Issue:

I followed the instruction on "Daz to MMD", after I transfer the morph to shapekeys (and I notice the "AA" is included), it says "cannot find key AA in the mesh" when I try to convert the model to mmd.

Also, how well the result would be if I "Daz to MMD" is successfully executed? Currently I am animating my daz model with your add-ons, it works very well but there are still differences between a mmd model and a daz model. Generally, the mmd model have perfect motions, it looks fluent and natural. For Daz imported model, it looks like a robot is dancing. I am wondering if this "Daz to MMD" would fix this issue.

Offer at least one of following for testing:
Screenshort:

屏幕截图 2024-02-12 003037

屏幕截图 2024-02-12 003105

butaixianran commented 6 months ago

In your screenshot for converting morph to shapekey, there is a checkbox named "Labels As Names" at the bottom. That should be checked as default.

If not, you need to check it, before converting morph to shapekey.

Converted mmd model, can not be used in blender immediately, you need to export it to pmx model first. If you want to use it back to blender, you can import it as a mmd model with blender's mmd addon.

If you just want to make motion as smooth as on mmd model, there is no need to do any of this.

You can just load a mmd model to blender and load vmd motion to that mmd model. Then pick that mmd model as source on this addon. So this addon will retarget every frame from mmd model, not just key frames from vmd file. But you have to wait a very long time for retargeting every frame.

There is a section about this in this addon's document.

Remember, only body motion can use a mmd model as source. if you want to import eyeball, facial and viseme motion, you still need to select the same vmd motion on this addon.

butaixianran commented 6 months ago

Also, this addon converts vmd's each interpolation to blender's most similar build-in interpolation as default. So it may still not perfect in all cases, but your motion on Daz model should not be like a robot.

You can tell use that vmd motion's name, so we can figure out what's going on here.

Marco6666662 commented 6 months ago

Hi, thank you for helping!!! I am going to try your method (and update later). Also, the "robot" is just exaggeration. I mean the motion is not smooth like mmd. The vmd I have that issue is from this website https://www.aplaybox.com/details/motion/BUwnLfVdCk2r . I loaded this vmd to a mmd model and a Daz_to_blender G8 model. The mmd model looked fine but the G8 model had many extra head/body rotations that make the dance not that smooth.

butaixianran commented 6 months ago

Update document, also paste it here:

If you want your motion on Daz/CC is the exactly as smooth as on a mmd model, there are 2 choices:

Marco6666662 commented 6 months ago

Hi, I am back. I tried both of your method and didn't improve the result. First, I tried the vmd retargeting using mmd model. The motion looks perfect on the mmd model. After I retargeted, the G8 model did worse than directly applied the vmd on it. Also, I tried using MMM to get the updated vmd file. It looks the same as directly applied the vmd on the G8 model. Moreover, I tried to make the G8 model to mmd, and the convert is successful after I turn on the "label as name" (thank you for your advise!). When I applied the vmd motion on the mmd version of G8 model, the result looks even worse than the first approach (vmd retargeting) . Could you help me with debugging this? Please let me know if you need any sources from my end (screenshot, screen record, blender files etc)

In addition, some vmd works very great by using your add-on. The result looks amazing. Not all vmd files having the issues like this.

butaixianran commented 6 months ago

I have tried the vmd motion you used.

There is no such thing as worse. If you re-save it from MikuMikuMoving, it will be the same as on a MMD model.

Also, if you retarget from a mmd model, it will be the same as on mmd model.

And if you convert it into mmd model, you need to export it to .pmx and use it in mmd, not blender.

What you are saying here is not reasonable.

Why you feel it is worse, any screenshot or video to prove your feeling?

Github can upload video, show your result.

butaixianran commented 6 months ago

This is my result by re-saving the motion with MikuMikuMoving and use that new vmd file to this addon. And compare it to a mmd model with the original vmd file

https://github.com/butaixianran/Blender-Vmd-Retargeting/assets/5558722/4e5f01ef-0f24-4fd8-a0ce-c17d3c0e8a8d

butaixianran commented 6 months ago

I also tried this motion by using a mmd model as source. I think the reason you feel it is worse, because Daz model's feet won't touch each other when dancing.

That's because Daz model is in different body size, leg length and different distance between two legs. So, even leg rotates to same degree, Daz's leg won't reach the same position.

As following image shows, mmd model's right foot moves a little to touch the left foot. Daz model did the same thing, but won't touch its left foot. Snipaste_2024-02-13_18-58-12

But, they are in the exactly same pose.

With the vmd file you used, you may want to make sure feet touch each other. In that case, re-save that vmd file in MikuMikuMoving and use the new vmd file with this addon, is the best choice.

If you feel facial is not the same, you can only use body motion from the new vmd file from MikuMikuMoving, and use facial morph from the original vmd file.

Marco6666662 commented 6 months ago

2024-02-13 11-48-16.zip

I zip the video since it is too big for uploading. In the video, I tried directly apply the vmd and vmd retargeting. I feel like the main issue for the first approach is that the G8's head and neck would have extra rotations while mmd didn't. I might do something wrong here.

In addition, I saw your result above, they look excellent! I think maybe I didn't check some options when importing my daz model?

butaixianran commented 6 months ago

Your video didn't show your addon panel. Which version of this addon are you using? There is a version number at the bottom of this addon panel. The latest version of this addon is v1.24.1.

Also, if you want to use a mmd model as source, you need to reload your daz model. Just clear animation won't work. Because if you ever imported vmd motion before, addon will create ik bones on your Daz model. But when using mmd model as source, it won't use IK and Daz model should not be constrainted by IK bones.

Also, your video didn't show the result with the way using MikuMikuMoving. Even if you are using an old version of this addon, the MikuMikuMoving way should work.

You can try following vmd file, which is re-saved with MikuMikuMoving, in any case you don't want to download MikuMikuMoving. Only use it with body motion. For facial morph you still need to use the original vmd file.

phuthon_1121_mmm.zip

Marco6666662 commented 6 months ago

2024-02-13 13-52-30.zip

Hi, I am so sorry that the last video didn't show full screen, the new zip should show my add-on panel too. The version I am using in this video is v1.24.1. I use your vmd file and I got different result as yours. I think I might do something differently when I import/export the daz model. Thank you for your patience and help!

butaixianran commented 6 months ago

Your zip file 2024-02-13 13-52-30.zip is broken. Can not unzip.

Marco6666662 commented 6 months ago

https://drive.google.com/file/d/17TouqvmhwF0paS8lZtGQkLVgKNyi0iLK/view?usp=drive_link

sorry for the inconvenience, could you try this link?

butaixianran commented 6 months ago

hi, your Daz model looks fine. But, there are some other problems in your video.

Anyway, for the vmd file you want to use, there is really no need to use mmd model as source.

Just change your playback setting to "Sync to Audio"(even if you don't use audio) and only use the vmd file from MikuMikuMoving on body motion. You'll be fine.

Also, to get the best result for this motion, you better use a Daz model with high heel, and check "High Heel" on this addon's panel.

Marco6666662 commented 6 months ago

Hi I tried all the methods you suggested but I still cannot get your result. I don't know why the head of my G8 character is rotating with a larger angle than expected, I couldn't fix this by using different motions (same dance) and methods. Do you have any thoughts with this? In addition, I have tried other dances, and they worked fine. It seems like this is the only one I could not get it to work. Right now I am just very curious why.

butaixianran commented 6 months ago

In your video, Daz model's head is perfectly right. I don't see anything wrong with the head.

Also, it is the same as my video or on a mmd model. I don't understand why you feel they are different with the head.

I can only guess there could be 2 reasons you may feel that way.

In that case, you can set arm rotation rate to 1, arm rotaion euler plus to 0, before importing vmd motion.