zturtleman / mm3d

Maverick Model 3D is a 3D model editor and animator for games.
https://clover.moe/mm3d
GNU General Public License v2.0
115 stars 23 forks source link

An Mm3d model pack would be a useful thing #48

Open m-7761 opened 5 years ago

m-7761 commented 5 years ago

http://www.misfitcode.com/misfitmodel3d/models.html

I do not currently have any sample 3D models available for download on this site. You can find some free 3D models at the following web sites. If you want to load these models in Misfit Model 3D you should check the Features page to see which model formats are supported by the current version.

Do we have test models that demonstrate the package's features? These are important resources for developers to have access to.

m-7761 commented 4 years ago

Can anyone share some animated models (both kinds ideally) that are MM3D or that will import?

Also, is this (https://clover.moe/wp-content/uploads/2018/09/mm3d-logo-remake.png) model available?

m-7761 commented 4 years ago

I think I've found an animated model in: tests/libmm3d/data/model_equal_test.mm3d. It looks like it has both kinds in the form of identical animations.

m-7761 commented 4 years ago

https://github.com/zturtleman/mm3d/blob/8c6c6ea29e2ad423d35ed1c2147f09c68f49d94b/src/implui/animwidget.cc#L545

I'm not sure what this code is supposed to do. It speeds up the frame animations in the model_equal_test.mm3d model file.

When I rewrote it I assumed it was setting a maximum frame rate, but it's actually a minimum as written. I changed it to 60fps thinking that a better maximum than 20. But it's actually the other way around.

(Needless to say, distorting the animations seems like a bad thing for modeling software to do.)

zturtleman commented 4 years ago

It probably only affects how often model view port is redrawn, not playable speed, so that less than 20 frame per-second animations can interpolate between frames. (I haven't confirmed if it affects playback speed or not.) Seems like it should always update at monitor refresh rate or be a setting in the missing preferences window.

m-7761 commented 4 years ago

You're right, I hadn't thought about it that way. I still can't grasp what the rationale for it is... without comments accompanying the code.

It only fell onto my radar because I misinterpreted it and the repercussions were much less subtle in that case. I think it needs a case to be made for it, since is subtly changes playback. I think using timers to render animations is probably flawed... but it may be the only way to do low-frame-rate playback as-if the display itself it limited to that frame-rate. I think probably the frames should just be interpolated and played back at SwapBuffer speed.

EDITED: But sometimes interpolation is incorrect. Sometimes frames are not designed to be interpolated, but still appear smooth to the eye, but if interpolated appear to move unnaturally.