Thursday, February 10, 2011

post post post POST

So I bet you're wondering what we did this week. No? Well, you can read anyway. Or leave. The choice is yours. Make the right one.

So:
Nicole started playing around with the model. She had to install Maya 2010 since the files couldn't be opened on Maya 2008. Here's a short video of our test gesture: the hand wave. She ran into some problems with the rig.

Problem One: The rig has two skeletons. Which one should we use? Here are screenshots of the two: the model with both skeletons showing and the skeletons viewed in the hypergraph.
 
They appear to have the same naming convention except one has skel_driven appended to the front. We asked Pengfei about it but he wasn’t sure which one to use.

Problem Two:  A few of the joints in the rigged model are constrained in their rotation. For example, the elbow can only rotate about the x axis, not the y axis. I realize that the elbow should only have one degree of rotation, but as it is, I think the axis might be wrong. When I unlock the y axis and rotate about it, things like this happen: screenshot here.

It appears that one skeleton is getting keyframes set and the other isn’t. How can we fix this? Other than keying both skeletons, which is what we're doing now… but it seems a bit pointless and means we're setting twice as many keyframes as we need to. (And if we forget to key one of the skeletons, weird things start happening.) The wrist also has the same problem.

Problem Three: the fingers aren’t individually rigged. A few of our gestures involve individual fingers. Does this mean I need to use a different rig, or do you want us to ignore these gestures for now?
Omar got B-splines working for real now. Then, he modified the GUI to allow for the interactive input of control points as opposed to interpolation points. And then he got beta-splines working. All in one week! Here's a visual comparison of the paper and my results:
(Beta-parameter tests)

And here's another picture of the local parameters at work (note the "kink" in the curve segment):

Currently, all parameters are hard-coded. I've begun to expand the GUI to allow the user to modify the parameters easily. I will also start to extend the splines to 3D. It seems that the code already accounts for a Z-coordinate, but that they are all 0. So I'll see if I have to actually change the code at all or if I just have to change the GUI to make it display in 3 dimensions.

A question: Have I implemented everything in the paper that I need to? I implemented Section 3 (not 3.1), and Sections 4.0, 4.1, and 4.2. There is an equation in section 4.3 (tension) that in reading seemed necessary, but in practice seemed unnecessary (the tension already seemed to be accounted for by the equation in section 4.0). Am I missing something there?

And another question that should have an obvious answer: is there a way to respond to specific blog comments? We couldn't figure it out.

Anyway, NEXT WEEK:
  •  Nicole is going to animate the rest of the gestures (possibly minus the ones that are finger-dependent)
  • Omar will continue to make improvements to the GUI
Once we complete these goals, we're both actually a bit unsure of what the next step is. We'll email Joe when we get there. Or you can email us whenever you want, Joe.

Another week down. Till the next one.

Love is a many-splendored thing,
Nelskati

2 comments:

  1. As far as I can tell, there's no way to reply to specific comments on Blogger, unless you want to go and actually mess around with the html of your site.

    ...But if you just reply to this comment with another comment, I'm sure I can figure out that you're responding to me.

    ReplyDelete
  2. I also try the human model (from Alice's IrisMarket folder on sig-share server) in Maya. For the first problem, it seems only one skeleton can be used to control the human posture, and another one will move along with the controlling one. I think you may want to first try the dominant one, which is named with prefix "skel_driven2".

    For the problem of elbow's x-axis constraint, I think it is fine and y-axis constraint shouldn't be unlock. Different joints may have different translation/rotation constraints or limitations. For your interests, you can read some more references, like "http://www.cs.wisc.edu/graphics/Courses/cs-838-1999/Jeff/ASF-AMC.html", and I find out that the motions on CMU Mocap Database (http://mocap.cs.cmu.edu/) also restraint the lradius/rradius joint rotations on the x-axis.

    For the final question, you may have to add more detailed joints (like finger joints) onto the current rig model, or just give an approximate and good enough solution first at a more macro level. Then we can continue to refine the motion into more detailed levels. Or as you suggested, try work on other motions first, and after you complete some of the others, the hard problem now might be a piece of cake then, :-)

    ReplyDelete