🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Mocap Motion Transition

Started by
0 comments, last by Tommato 4 years, 6 months ago

December 2019

We started to study Characters Locomotion and we found some papers, we are creating a Emitter tool in our software and we want to implement characters walking, right now, we don’t have time and resources to implement a sophisticated and cool Locomotion system.

We are seeking in theory a simple task, but we dont know the math behind it, if you have a tip of what we need to search, I will really appreciate your help:

--------------------------------

Emitter's child animation, our plan is:

In our Emitter's tool User Interface, the user provides / fill a table like this


Animation Type Frames Speed

------------------------------------------------

Walk Cycle 0-50 10

Walk2Run Transition 51-75 15

Run Cycle 76-100 20

Run2Walk Transition 101-125 15

Walk Cycle 126-176 10


User is responsible for creating such animation sequence for a replicated Emit Unit.

Ok, now multiple instances are created with Emitter's simulation. Every instance moves with some speed. We want to associate this (instance's) speed with a speed from the table above.


Examples:

instance's speed = 10 -> ok, use "walk"

instance's speed = 20 -> ok, use "run"

instance's speed = 5 -> well, nothing better than use "walk" but play it slower

instance's speed = 25 -> well, nothing better than use "run" but play it faster


The important, principal moment is: Emitter does NOT do any locomotion system (in fact - motion synthesis) nor any blending or mixing. It just calcs a frame of source animation (table above) corresponding to a current instance's frame.


What we're googling now some math to do this calc. We already have our draft “bicycle” solution but looking for a better one. Example of math probs


- ok, now we've a speed 10, "walk" is absolute ok, so in use. At next frame the instance’s speed os, say, 29 and we must use "run" - but we can't switch to it "momentary". First we need to finish current "walk" cycle, then run "walk2run" transition and only after all this we can start a new "run" cycle". But while we're doing all this - it's absolute possible the instance's speed is changed to 10 or ever 5. So we need to switch or how?


It's a pure math.

Thanks a lot Tom & Igors


This topic is closed to new replies.

Advertisement