Basic Idea: Sketch-based path editing with Motion Graphs and visualization of blending metadata. We are going to build from Kovar’s classical Motion Graphs. This project will implement both motion graphs and motion path editing with the intent of gaining a deeper understanding of the techniques.
Expected Result: The user will be able to draw and edit paths (splines on the ground plane) for a character to follow. These splines can be drawn using “brushes” corresponding to unique motions; the character will transition between these motions for every change of brush in the curve. Using the blending weights from the transitions between motions, the UI will modify the display of the spline to visualize the “magnitude” of the transition (big blotches for substantially different motions, small for similar motions).
Success Criteria:
-the user can sketch a path with different brushes
-a character will follow the user-specified path as well as possible
-a successful demo would go as follows: the user selects a motion from a list and then draws a curve, which is colored corresponding to the motion (walk = red, run = blue) on the ground plane. He/she selects a different motion, draws another curve which is appended to the previous one. The spline’s drawn shape (not curve shape) is updated to visualize the transition magnitude. When the user is done drawing the curve, he/she will press play and the character will follow the path and transition between motions as specified.
Work Plan:
-3/11 Checkpoint: we are going to try and have a motion database structure, distance metric (with joint angles), spline-drawing interface and (potentially) marker data visualization. Here is how the responsibilities are divided:
-Adrian: Spline-Drawing
-Reid: Distance Metric
-Aaron: Motion DB
-Michael: Marker Data
-3/25 Checkpoint: have rough, but workable, motion graphs and motion paths. We will determine individual roles after the 3/11 checkpoint.
Foreseeable Risks:
-time constraints due to research and other deadlines. All we can really do is to try and plan everything precisely and hope nothing catastrophic occurs.
-implementation misjudgment. Although we may plan our tasks to a tee, actually implementing some things may become more of an undertaking than anticipated. We’ll need to incorporate some slack variables into our schedule so we compensate for unexpectedly long progging sessions.
Evaluation Criteria: You’ll know if we did a good job in the end by seeing if we’ve met our success criteria. At this point, good progress for the 3/25 checkpoint would entail some semblance of a motion path. The character should be roughly following a path and transitioning motions.
{ 4 comments }
At first glance, this seems like a really cool idea. How does this approach plan to handle computing where the blends begin (i.e. will they be automated or determined by overlap between the curves)?
Also, from the description, it feels as if the user will have full control over the overall motion paths. Will there be any smoothing constraints on the input motion paths to avoid discontinuities in the path that could potentially be introduced by the user? Also, has any thought been placed on how the tool will handle the order in which the different splines are traversed?
Sounds like a very interesting idea combining 2 major concepts. What would be the practical applications of your project? Is it more geared towards character animation for movies than an interactive/ gaming kind of environment. I like the idea of using he sketch parameters to model the motion, but I’m not completely clear on how the style of the brush strokes would be parameterized in to motion. Are there any existing videos that utilize this method.
I also have a similar concern to Danielle has mentioned; because you are giving the user full control, wouldn’t it be a problem if the user sketches are discontinuous or difficult to parameterize. How are you planning on handing such cases.
I look forward to seeing your results, best of luck with your project.
May be I am wrong, but the way I interpret the word “Sketch” is some hotch-potch lines which are extremely hard for computer to recognize, whereas any human has immediately recognize the context. Also, in your description, you mentioned Spline, which has well defined mathematical structure, so I am not quite sure, what will be the interface ?
It will be nice to see “sketches” having lots of discontinuous and computational vague curves.
Mixing motion graphs and path editing is a good idea – not one that has been fully followed through. Check out Mankyu’s SCA ’05 paper (with Lucas and I) where he gives one take on it. He comes at some of the gotchas (how do you make an inexact search? how do you know if the search is close enough?), but his path editing scheme is a bit simplistic.
You should say something about your search strategy. In particular, I think that A* (or bi-directional A*) are useful additions and well-worth your time.
I think that giving the user control over various tradeoffs (transition quality, how close a match, much much editing, …) will be interesting to show the tradeoffs in the techniques. It would also be nice to visualize the differences between different synthesized motions.
It seems you have ideas for the UI, but these aren’t so clearly articulated (which is why people have asked about it). Putting some thoughts into a cool UI is a nice touch.
You will also need to think about finding a rich enough database to do non-trivial experiments with.