I’m working on a project that has a lot of motion capture data associated with it. We’re doing research on human movement and prosthetics, and I’m developing a visualization utility for that data. To be specific, we have “canned” kinematic data (BVH files) taken from motion capture suits, and we also have movement data that will be generated at runtime by other applications. This all needs to be visualized on a human-shaped avatar, and also some other models that are close to human-shaped. Right now, we only need to make an avatar move; we do not need it to interact with an environment (i.e. use physics, collision, etc). However, in the future we may want to expand this application to do so.
I have a pretty strong Java background, and actually started the project using Java3D. It isn’t too hard to construct a 1980’s-aesthetic skeleton and make it wiggle with that library. Java3D worries me, though, because it’s almost an abandoned project. Would JMonkeyEngine be better for this sort of thing, or would the learning curve be too onerous to justify the better visualization? Can JMonkeyEngine make a human(ish) shaped avatar move according to canned and realtime-generated data?
I’m fully willing to dive into the documentation; I just hoped that someone could give me some broad intelligence before I invested time into it.
I guess so…
You have to “translate” your input to bones and stuff. The learning curve of the jME is pretty low if you ask me. Its a easy-to-learn framework for developing.
I think the hardest part is the translation… so the parsing of your input. The visualization should be a peace of cake compared to that. But the parsing of your input has to be done anyway… So I guess the jME is worth it.
Well basically I would say this is more or less entirely based on how good a model you has as a base. (In your case probably a model that every bone in a human, so you can simulate movements accordingly)
Moving bones then is probably the simpler part, since jme directly supports setting data for each bone. (Relative or in World coorinate system)
JMonkeyEngine is your best bet if you want to quickly get up and have your project running, but then it will be up to you to find out if it meets all your needs and what shortcomings it has, etc. If you are really that good java programer perhaps even if you run into some shortcomings you’ll be able to provide your own solution for it. JMonkey is solid and it helped me with my voxel world thingy and I would not have had time or energy to do the same thing in lets say c++ 3d engine, jmonkey and java make it so much more fun