Closed Kikasuru closed 3 weeks ago
Hi, thanks for the report. I am the author of Three.js MMD stuffs.
Unfortunately I'm not really sure if I can make time for MMD soon. If you are in hurry, I'd be pleased if you or someone else investigates the problem.
By the way, do you like Touhou? If so, you are my friend.
Hi, thanks for the report. I am the author of Three.js MMD stuffs.
Unfortunately I'm not really sure if I can make time for MMD soon. If you are in hurry, I'd be pleased if you or someone else investigates the problem.
No problem! I should probably focus on other parts of my project anyways lol
By the way, do you like Touhou? If so, you are my friend.
Status update in this?
I'm still busy
Without knowing what code is used for interpolation here, I can't say for sure. But it looks like curve data is interpreted incorrectly, what the video suggests - is that a spline is used for animation, something like this:
the implementation of MMD here seems to default to linear interpolation instead, resulting in sharp transitions where curves meet, like the up and down motion.
That's what I presumed as well.
the implementation of MMD here seems to default to linear interpolation instead,
No, IIRC I didn't implement the interpolation as linear, but I implemented it as cubic bezier interpolation.
https://blog.goo.ne.jp/torisu_tetosuki/e/bc9f1c4d597341b394bd02b64597499d
If it moves as linear, it's a bug for sure.
Simpler model and animation data will help the investigation.
I'd say to quickly whip one up using one of the default models that MMD comes with, showing different curves with each motion.
I would but I've been a little busy myself unfortunately...
MMDLoader
has been deprecated, see #29698.
Describe the bug
Three.JS's MMDAnimationHelper produces incorrect interpolation curves compared to MikuMikuDance.
Code
Posted here.
Live example
Expected behavior
This is rendered straight from MMD. Download MP4
PMM and VMD files are also provided in the assets folder.
See how with MMD, her arms slowly go into place, as with the live example, they jolt when they're going to the next keyframe.
Platform: