Thursday, February 24, 2011

Post Posterson VI, Esq.

Hello, friends. Read. Ist a long post. Ist very long.

So, this week was all Alpha Review prep. We made a pretty good video, if we do say so ourselves. Which we do.

But before we made a great video, we also did some work. Thanks to some guidance from Pengfei and Joe, we made some good progress this week.

Omar used MEL for the first time this past week! After reading a few online tutorials and trying to figure out how to use C++ code in Maya, he found that it would just be easier to adapt some of his C++ beta-spline interpolation code into MEL script. So that's what he did. And it worked pretty well. See the image below.



So, the one problem is that this particular curve actually has 60 edit points, when it should really only have 4. That is because Omar has not figured out how to have Maya draw a curve with a custom interpolation scheme like the one he has coded. He can specify points all he want, but it will only allow him to do so with interpolation of degree between 1 and 7. He may just have to get C++ and Maya working together. But for now, in order to at least visualize it in Maya, he currently has the script drawing the curve with 20 points on each segment, where each of these points is interpolated linearly. If anyone knows how to define an interpolation scheme using MEL, let Omar know. Thanks.


Nicole added finger joints to the rig. (A few of the hand joints had their names changed, and joints rhand_end and lhand_end were deleted because they were no longer needed.) Yay, fingers!



The plan was: add finger joints to the rig, save current skin weights, unbind the skeleton and the model, rebind the skeleton to the model (so you can animate the fingers), load the old skin weights (so you only have to paint the finger weights), and finally modify the skin weights so the finger joints move the fingers.

However, Nicole ran into a problem. Nicole unbound the joints; the model's arms and legs, previously in the bind pose, changed position to this:

 The rig does control the model, but it causes awkward scaling when a joint is moved since the skeleton and the model don't line up properly. Nicole has tried both smooth bind and rigid bind. Neither solves the problem.

Pengfei: Nicole has uploaded the Maya file to the sig computers if you'd like to take a look at it.
The file is called A_001_v8. It’s in sig-share\Projects\2011-RCTA-MARKETPLACE, and it has the model before the skeleton has been un-bound. (If you detach the skin and then bind it again, you get the image above.)

Question: Also, Nicole would like to know what to do about the skel_driven skeleton (the one she is not animating with)? Does she need to add finger joints to that one as well and link it to the main skeleton? She didn't play around with that, since trying to re-rig two skeletons could create twice as many problems, especially when one is linked to the other. (And she's not even sure if we'll need to use that skeleton.)

For next week:
  • Omar will hopefully be able to solve his interpolation problem in Maya. He'll try to make interactive manipulation of the curves work in maya like he has in his 2D GUI, but he's not sure ho far he'll get on that this week. There's a lot of things to do before spring break.
  • Nicole will hopefully be able to solve the problem with binding the rig, and will be able to work on the animations that involve fingers.
  • Nicole will also start reading up on MEL and Maya plugins. The next step is to draw out the curves in Maya for one joint (specifically, the translation of the joint over time), which sounds like a job for MEL. Once Nicole gets this done, she can give the control points of the curve to Omar, who can modify them with his curve editor. Drawing one curve is just a test. Eventually, we want to have a curve for every joint.
That's it for this post. See you all tomorrow at the alpha review.

Tender-Lovingly yours,

Nelskati

4 comments:

  1. Buddies,
    Good progress!

    Nicole,
    I would suggest you back up the current model, and delete the other additional skeletons, because they might have side-effects on the skin mesh. (They used to be there because of the compatibility for exporting several skeleton formats, but now it seems you don't need this feature in your project.)

    BTW, did you make sure the r/lhand nodes you deleted didn't have impacts on the mesh? It seems to me the rig/skin not matching problem is due to some IK causes.

    Thank you for uploading the files, and I will take a look at it.

    Omar,
    I think if you use C++ API in Maya, you might be able to reuse some of your previous codes. When designing the interaction model and GUI etc., MEL should be the key.

    Hope you enjoy everything, and keep on doing well~

    ReplyDelete
  2. Hi Nicole,

    After you unbound the skin from the skeleton, did you try to re-bind the skins to the skeleton with finger details? If so, could you briefly let me know how you did it? It seems in terms of re-binding, you need to rebind everything respectively: for example, from head skin to neck joints, arm skin to arm joints, etc.

    ReplyDelete
  3. Pengfei

    After I un-bound the skeleton, I selected all parts of the model (root, both arms, head, and legs) and then selected the root joint of the skeleton to rebind.

    I'll double-check the hand joints that I deleted, but I don't think they had much influence on the mesh. The nodes themselves could not be rotated or translated, so I think the only thing affected by deleting them would be skin weights?

    I've been super busy this week with midterms and projects, but I'll look over the tutorials you sent me and see if they help. Thanks.

    ReplyDelete
  4. Maybe you want to try bind each part separately: head mesh to head joints, arm mesh to arm joints, etc.

    Have a nice trip~

    ReplyDelete