Welcome to the MegaMotion forum section!

A motion synthesis tool for the indie developer

Moderator: chriscalef

1 post Page 1 of 1
chriscalef
Posts: 340
Joined: Mon Feb 09, 2015 7:48 pm
by chriscalef » Sat Feb 11, 2017 8:38 pm
Hello Torque community!

This is a brand new forum section (thanks @
User avatar
LukasPJ
!) devoted to discussion and support for my Torque based application, MegaMotion, which you can find here:

http://www.megamotionsoftware.com


Q: WHAT IS IT?

MegaMotion is the final version of the product that used to be called "Ecstasy Motion". (You can look that up on YouTube for more info.) The purpose of MegaMotion is to help animators and film makers generate quantities of character motion using game industry tools like behavior trees, navmeshes, steering AI, and physics simulation.

There are two versions of MegaMotion: the free trial and the full version for a (currently) $99 indie license. The only difference at the present time is that the full version allows export of sequences into BVH motion capture format, so that you can import them into many other applications. This means that as Torque developers, you can use the free trial version to generate dsq sequences all day long. I do intend to put together a "non commercial use" license or something similar, that basically asks you to buy a license anyway if you are actually using it to make money, but that's down the road and it will be voluntary/nagware anyway, so feel free to work it into your pipeline if it helps you in any way.

My code is also shared, all except for the export BVH part, up on github at [url]github.com/MegaMotion[/url]. Please consider this a gift back to the Torque community for all your hard work!

Q: WHAT CAN I DO WITH IT?

Expect a lot more documentation as time allows, but the main takeaway is this: on the Scene tab, there are two buttons called Start Recording and Stop Recording. Start Recording causes every actor in the scene to start recording all of its motions into a buffer, and Stop Recording causes that buffer to be saved out as a dsq file.

That's the short story, the long story is that inside the program there are many different tools and things you can mess with to get the content you want.

It starts with the sequence editing/cropping tools, which are designed to enable you to very quickly extract useful short, often cyclical, crops from longer motion capture takes. For this purpose I have taken over Torque's "groundframes" concept, which in stock Torque is used only for death animations (to the best of my knowledge). In MegaMotion, I use groundframes to store all movement around the world, so that when you repeat a locomotion animation like walking or running, the character will continue moving forward instead of looping over and over from the same starting position.

The other major component outside of motion capture input is physics simulation. I have working ragdoll physics, which can be recorded the same way as anything else - once you hit Start Recording, anything the character does goes into the recording, whether it's running around the block or flying through the air. I have made an effort to make the ragdolls as realistic as possible, including conservation of momentum so that a running character continues falling forward as they ragdoll. It is also possible to apply impulse forces, or angular forces, to any bodypart at any position, so you can easily generate realistic headshot/gutshot/etc ragdolls to your heart's content.

There are several features of Ecstasy Motion which I was forced to cut out in order to ever get anything to the finish line (FBX support, Kinect support, OptiTrack support, to name a few) but one thing that I do plan to incorporate as soon as I am able is the concept of joint motors. When I made the big switch from PhysX2 to PhysX3 that was one of the casualties, but it is too important to lose: in Ecstasy Motion, it was possible to not only ragdoll a character, but to use joint forces to play an animation using physics. I won't go into more detail here but for the record, that is also on the way.

The other big things you can do with MegaMotion, however, involve steering and behaviors. Once you have made some useful clips for yourself, like a sexy walk for your lady character, you can then apply that sexy walk to moving your lady character all around the world, using Torque's recast/detour navmeshes and BadBehavior's behavior tree system.

I have also implemented a concept I call "Action Sequences", in which you can have generic action names, like Walk, Run, Idle, Attack, Block, etc., and then on the fly you can assign different animations to fill these roles. This is so that you can build behaviors involving eg your "Run" action and you don't have to name the specific animation you are using, and the behavior will work fine with whatever run you have currently set. (NOTE: this is how the system works in theory, in practice at the moment it is a little buggy, and/or completely broken, but I'm working on it.)

I have also incorporated the OpenSteer open source multi agent steering library, which allows characters to avoid each other while using the navmesh. This implementation is not perfect, but it is much better than nothing.

Finally, in order to create a User Interface by which to share all these powerful tools, I ended up creating my own database-driven UI system, which is also exposed to the MegaMotion user. And while we're discussing databases, I use SQLite for storage of all data, and I included a free utility called SQLiteStudio for browsing and editing the database.

This is getting long already so I'll stop, but I just wanted to make a formal introduction here so everybody knows what I'm talking about, and invite everyone who hasn't done it yet to download my free trial and give it a whirl. It's a 400M download, just so you know, mainly because I've included a 200M, 2000+ anim CMU motion capture library, converted into DSQ format, so that people will have something to work with immediately. I expect some issues when it comes to people importing their own BVH files (it will be possible, but at least at the beginning it will be not as easy as it should be) but the CMU dataset should get people started.

Oh, finally, last thing...

Q: WHY THE DUDE IN HIS BLACK UNDERWEAR?

To make things easier, I have supported only one character model so far in MegaMotion, and he is a DAZ3D Michael4 character. In the future I hope to have at least a few characters, including a female as well as some kind of generic box figure or robot - but the main point of the program is that what it looks like in MegaMotion isn't relevant, you are supposed to export BVH files and then use them on your own characters to create your final product.

That being said, I also really hope to be able to support makeHuman characters soon, and then the door will be wide open for people to create whatever human figures they want. But one thing at a time. :)

Anyway, that's the short story of MegaMotion. I'm working on the slow, soft release strategy here, because I know I need a ton more tutorials and sample scenes and sample behaviors and bugs fixed and more features added, but I'm hoping to work my way toward actually making some sales with what I have, among the more intrepid explorers and early adopters out there, in order to make it easier to devote actual work time toward finishing the rest of what needs to get done. Ultimately I intend to market it all over the internet on sites where people buy models and animations, but we're taking it one weekend at a time here so I can't say how far out that day is.

If you do try it out and end up with questions or bug reports, please use this new forum to report them.

Thanks for listening, and happy devving!
1 post Page 1 of 1

Who is online

Users browsing this forum: No registered users and 1 guest