I hope someone gives you because I was never able to fix it. It seems that the reason for this is that the vmd in the threejs camera works in a similar way but not the same as how it works in MMD (it is lopsided). This is especially noticeable in the rotation and zoom.
My workaround was first to create my camera animation in MMD like I normally would. Then once finished, invert X rotation on my marks.
Other tips would be:
Use zoom instead of zooming in on the Z axis *When zooming consider reducing the zoom of your camera animation by 10%
*When you want to rotate the camera it is better to make marks every 90°
Ty for reply!! i’m thinking of trying to send my mmd animation to blender, save it, and read it with three.js. It can be an easy road. If it doesn’t work I’ll program something to automatically move the camera in three.js from an array… or something like that.
The problem that you might have. It will be having to synchronize the animation of the camera with that of the model. Something that MMDanimation helper already does easily.
As I said you can easy make a camera animation like you normally do. once finish. save a backup and thenon mmd select edit(D), select all camera frames (C), multiple camera and position angles (G) and in angle x just ad a minus (-) in the left colum. This will invert all your X angles. then save this new animation because this will be what you gona use.
This was the best and simple workaround I could find and mi camera animations works something like 95% close to the original.
I’m Here! after 2 years i found a “solution”. This is not a good solution, but someone may need it.
Edit function _animateCamera from class MMDAnimationHelper on file MMDAnimationHelper.js
Remove or comment line where is camera.up.applyQuaternion:
This repair many problems in X and Z. Remember that in MMD the animation revolves around the character, while in three.js it moves directly from one point to another.
Sorry for revive this topic, but maybe someone needs it.