So I had my Beta review on Friday, and we discussed a plethora of things. First we discussed the fact that Pinocchio and I were not getting along. I'm glad that Norm agreed with me that I need to focus on the animations firstly, and then with time I can try to work more on Pinocchio.
After talking about Pinocchio, I showed everyone how my shelf works and how I was using LERP to blend the different animations together. Norm gave me a lot of suggestions on how to improve the animations of my walk-cycles. One was to rotate the legs such that they were not at 90 degrees, but rather 85-87 degrees. That was really helpful, because I hadn't been animating too much from the front, so along with adding in hip rotations and more leg swinging, I will definitely be adding those leg rotations in, as well.
Another thing we talked about was working on getting rid of the Gimbal lock I have been encountering in the joints. I've been trying to fix that this past week, so hearing Norm and Joe's advice was helpful. Joe has also given me a great end goal for my work. At the end, to show how the body types do differ, I will have rendered out versions of the different animated body types walking next to each other, to help show just how different they are. That excites me, because I've been able to see the different walk-cycles in succession, but I would love to see them together to just see the differences that do happen.
From here, my end goals are to finish up the other animations, and code them in, along with finishing up general coding for all of the body parts. I have methods that set the legs, the waist and the shoulders, but I need to add in neck, back, hands and wrists. Lastly, I would prefer blending with SLERP instead of LERP just to see if it looks better. Spherically Linear Interpolation should look better, especially with rotation blending, so that shouldn't be a hard thing to change. I'm still trying to think of other parameters I can create animations for because I think it would be fun to have some more physical attributes to choose from than just age, gender, height and weight, but I can't decide what yet. Hopefully I will have a brainflash in the next week, while I finish up the current animations.
Sunday, December 4, 2011
Thursday, December 1, 2011
Pre-Beta Review Post
So this week we're supposed to talk about our Beta reviews, which have not happened yet. So I'll discuss my progress and compare it to where I planned to be.
Unfortunately my trial for Camtasia has run out and anything else I use puts a giant watermark across the video. Anyone have any suggestions for video capturing a screen on a Mac? Else, I'll have to copy my code to a computer with Camtasia when I create my final presentation video.
It's been a real struggle lately to integrate Pinocchio into Maya. I was having a hard time with parts of the algorithm I realized I had not put in, and how I would create a Maya version of it. Pinocchio has a lot of its own classes and data structures which are integral for sizing the skeleton. At this point, Pinocchio is really putting me behind and its not allowing me to focus on the main aspect of my program, which is to create these realistic looking walk-cycles, so I've decided that sizing the skeleton to the mesh is not my top priority, and I'll focus on it after my animations are done and look good. This is disappointing to me, since I've spent so much of my time on it, but at this point, it's really taking away from my work, so I'm going to see what Joe and Norm think as well, before I go back to Pinocchio.
A lot of stuff in my project has changed. Rather than making a traditional Maya plug-in, I moved over a lot of my MEL code to a creating a Maya shelf. I wrote code to make the shelf and then have files to set different body parts. It's exciting and a lot simpler than doing this through a Plug-in, because it is easier to pull the information in from the gui and use it within my scripts. It's a lot easier to write in the MEL commands to create the animations because before I was doing a lot of this:
'MGlobal::executeCommand(MString("polyEvaluate -vertex"));'
And now I can just write 'setAttr "IKLeg_L.translate" -type "double 0 0 1;' and it's also much easier to create my local and global variables.
Here are some pictures of my shelf:
![]() |
| You can see the little icon to get the parameter input window in the left corner. And in the right corner "PhenoWalk" pops up as a shelf. |
![]() |
| Here's a look at my Parameter window. Once you hit set, it computes the blends and creates a walk-cycle of 34 frames. |
Creating these animations are some of the more fun and yet frustrating parts about the project. Making them look realistic is taking up the majority of my time when I animate, but I think that's an acceptable outcome. It'll be interesting to test out certain parameters on the totally wrong characters. Already, I've been working on that, and it causes really funky looking walk-cycles, but I think that's the point. We need to have believable matches between the mesh and the walks. My only worry is making the animations long enough, at this point. If I can finish up these four parameters completely (I still have a lot to do for height and gender still), I'm trying to decide what other types of parameters I can implement in the next three weeks and how much longer I can make the animation. I'm trying to organize my previous work more and create poses that are just translated relative to the previous positions of the body parts. I think that's a much smarter way to go. If you guys have suggestions, I'd really appreciate it. A part of me really wants to create a tight-rope parameter, which makes a person walk slower and more hesitantly. I don't know if that has anything to do with phenotypes, just fun for me to watch. Hah.
Unfortunately my trial for Camtasia has run out and anything else I use puts a giant watermark across the video. Anyone have any suggestions for video capturing a screen on a Mac? Else, I'll have to copy my code to a computer with Camtasia when I create my final presentation video.
Thursday, November 17, 2011
AutoSkeleton Frustration
This week I focused on getting the auto-rigging working. At this point I've written all the code necessary to fit the skeleton, but it does not work quite yet. I'm in the process of debugging, but it looks like it's not finding the right joint locations within the model, thus it is not actually rearranging the skeleton, so I'm not calling Advanced Skeleton's attach method. If I can figure out why the measurements are not working correctly, than the majority of the coding will be done for the skinning!
Another one of my major frustrations was actually changing the skeleton given by Advanced Skeleton by Pinocchio standards. I think this might be a bigger problem in the future, because I'm not calling the moving the joints to their places properly. When setting up the rig manually, I followed Advanced Skeleton's tutorial video, and they preferred a lot of rotation changes to orient the rig accordingly, but Pinocchio prefers translation it seems, so I'm thinking this might lead to weight attachment issues, which once the skeleton looks right will be the next major problem.
Another thing I'm working on is moving my data-driven walk-cycles into Maya. I'm trying to see how I can copy and modify those animations from the mo-cap files with my plug-in. I want to gather more body types, and will be working with Joe to get more walk-cycles besides my own, in the future.
Short post, unfortunately, but I hope to have a lot to actually show next week, because then things will be working.
Another one of my major frustrations was actually changing the skeleton given by Advanced Skeleton by Pinocchio standards. I think this might be a bigger problem in the future, because I'm not calling the moving the joints to their places properly. When setting up the rig manually, I followed Advanced Skeleton's tutorial video, and they preferred a lot of rotation changes to orient the rig accordingly, but Pinocchio prefers translation it seems, so I'm thinking this might lead to weight attachment issues, which once the skeleton looks right will be the next major problem.
Another thing I'm working on is moving my data-driven walk-cycles into Maya. I'm trying to see how I can copy and modify those animations from the mo-cap files with my plug-in. I want to gather more body types, and will be working with Joe to get more walk-cycles besides my own, in the future.
Short post, unfortunately, but I hope to have a lot to actually show next week, because then things will be working.
Thursday, November 10, 2011
Alpha Review Comments and Other Remarks
So, my Alpha Review critiques were okay, but a lot of it had to do with the clarity of my presentation however, so that is good news. Basically, everyone seemed to like my project and progress once my work had been explained again to them. So that's good news, because that is easier to fix. I'll have to go through presentation with Joe before the final presentation, for sure.
One of the major critiques I got was that my walk-cycle (which I totally agree with) was bad and very unrealistic. I wasn't necessarily going for realism at that point, I was trying to key in the general motions so I could refine it for the future. But, yeah, I think with more focus on the walking part, people will be more excited with how things look.
The other critique I got was using data versus using my artistic ability for walking. Joe and I talked about it, and I'm going to use data from the motion capture data I've gathered this past week (and more data to come in the future), and use them as a basis for my walks. I think people want to see concrete data go into this since my work is based on creating realism, and I totally understand that, so I will bring in MoCap data for now, at least, and see if that works better.
Lastly, I realize that a lot of my focus has been on the auto-rigging side of things, but I find that part to be harder, so I thought I would attack that first. But I definitely plan on focusing on the actual animation aspect of my project going into Beta.
Now, about my progress for the week.
Continued working on keying up walk-cycles. We had to do a walk-cycle for my Computer Animation class, so I think I will use some of my work there and bring it into Maya. I need to go into the lab tomorrow to work on that. Also, we had to capture different motions through the MoCap in the lab, so I'm working on getting that data into MotionBuilder and bringing that into Maya as well, so I can play around with the keyframes in MEL. I'm trying to clear up most of my walk-cycles recorded, rather than the minimum four needed for class. Minus the Computer Animation assignments, I was still MEL scripting the other cycles and I think I'm getting a better handle of the poses.
Writing out Pinocchio's algorithm into MEL/Maya took a backseat this week. I was really trying to perfect the walk-cycles, but I'll be getting back into it this weekend. I've been re-reading the Pinocchio paper to help understand the code better, they explain the algorithms out, which is a lot easier to read than code.
Lastly, sigh of relief, Beta Reviews pushed back a week! This is good news, because next week we have DreamWorks, Sony Imageworks and Microsoft coming in AND my uncle is getting married, which I need to be a part of, so I was getting really worried how I was going to manage to finish everything I set out to do for Beta.
One of the major critiques I got was that my walk-cycle (which I totally agree with) was bad and very unrealistic. I wasn't necessarily going for realism at that point, I was trying to key in the general motions so I could refine it for the future. But, yeah, I think with more focus on the walking part, people will be more excited with how things look.
The other critique I got was using data versus using my artistic ability for walking. Joe and I talked about it, and I'm going to use data from the motion capture data I've gathered this past week (and more data to come in the future), and use them as a basis for my walks. I think people want to see concrete data go into this since my work is based on creating realism, and I totally understand that, so I will bring in MoCap data for now, at least, and see if that works better.
Lastly, I realize that a lot of my focus has been on the auto-rigging side of things, but I find that part to be harder, so I thought I would attack that first. But I definitely plan on focusing on the actual animation aspect of my project going into Beta.
Now, about my progress for the week.
Continued working on keying up walk-cycles. We had to do a walk-cycle for my Computer Animation class, so I think I will use some of my work there and bring it into Maya. I need to go into the lab tomorrow to work on that. Also, we had to capture different motions through the MoCap in the lab, so I'm working on getting that data into MotionBuilder and bringing that into Maya as well, so I can play around with the keyframes in MEL. I'm trying to clear up most of my walk-cycles recorded, rather than the minimum four needed for class. Minus the Computer Animation assignments, I was still MEL scripting the other cycles and I think I'm getting a better handle of the poses.
Writing out Pinocchio's algorithm into MEL/Maya took a backseat this week. I was really trying to perfect the walk-cycles, but I'll be getting back into it this weekend. I've been re-reading the Pinocchio paper to help understand the code better, they explain the algorithms out, which is a lot easier to read than code.
Lastly, sigh of relief, Beta Reviews pushed back a week! This is good news, because next week we have DreamWorks, Sony Imageworks and Microsoft coming in AND my uncle is getting married, which I need to be a part of, so I was getting really worried how I was going to manage to finish everything I set out to do for Beta.
Thursday, November 3, 2011
So much coding!
This week was a lot of coding. Firstly on the rigging side of things. Right now I'm trying to combine Pinocchio's auto-fitting tool together with Advanced Skeleton's rigging tools. So this means taking the algorithms Pinocchio uses, and creating a MEL version of those algorithms and combining it within Advanced Skeleton. I was hoping to have it fully functional by today, but this is turning out harder than I thought. I hope to have it sorted out soon, because I feel like that is the hardest problem in my project.
Basically, I need to make a Maya version of Pinocchio's "fitting" technique, which is a really interesting concept. They basically pack spheres within the mesh, and then find the centers of these spheres for the skeleton to go to. I'm trying to recreate this algorithm in Maya, that will fit into Advanced Skeleton. This will allow the rig to have minimal distortion of the model according to their paper (and video). Then from there I will need to refine the skeleton further to make a well structured skeleton. My biggest issue with this has been figuring out the rotations of the joints, because Advanced Skeleton prefers rotations over translations a lot of times when fitting the skeleton in.
This is how it's supposed to look (in the beginning, at least, before refining the skeleton).
Besides rigging stuff, I've been looking at coding my different walk-cycles. My current plan is to hardcode the "extremes" of my different body types, and then blend these together based on the users inputs using different types of splines (probably b-splines). This seems like a natural and effective method of solving this problem, but I'm always open to more ideas. I've been coding my walk-cycles, but since I started off with generality, they didn't look so realistic. Thus that is now my main focus for the rest of the project - pooling my data and what I've been learning about how walking works to create the realism.
This week has been great for that, since in my Computer Animation class (CIS 462/562), we've started to deal with key framing walk-cycles (albeit in Motion Builder), and it's actually given me some really great tips on how to create a walk-cycle. My professor spent an entire class on the different components of a walk-cycle, so I'm trying to make sure that these components make it into my work. I realized through my preliminary work, that I wasn't keying everything I needed for realism, and true, I was rushing the work, but I think that going into Beta, I really want to focus on getting the realism down. When I've been reading about walk-cycles they mention the different motions, but Professor Lane put those motions into a more animation and computer perspective, which is definitely more helpful. So far, it's been slow progress - I don't have enough frames for a nice movie yet, but I think with practice, I'll also get better at the coding in MEL in general (there's only so many times you can type setKeyframe wrong and move your model in the wrong direction). I'm thinking that I might just key frame with the Maya tools rather than script, and then copy the code from the general editor, but this means I have to be aware of my steps all of the time, which can get confusing in the Maya shell.
Moving forward, continue to hardcode the walk-cycles. Get the auto-fitting for rig into place. And then putting these together!
p.s. I also realized that I have comments on my previous posts that I didn't notice until two days ago, so I'm sorry (Joe) for not replying. My comments didn't get emailed to me like normal.
Basically, I need to make a Maya version of Pinocchio's "fitting" technique, which is a really interesting concept. They basically pack spheres within the mesh, and then find the centers of these spheres for the skeleton to go to. I'm trying to recreate this algorithm in Maya, that will fit into Advanced Skeleton. This will allow the rig to have minimal distortion of the model according to their paper (and video). Then from there I will need to refine the skeleton further to make a well structured skeleton. My biggest issue with this has been figuring out the rotations of the joints, because Advanced Skeleton prefers rotations over translations a lot of times when fitting the skeleton in.
This is how it's supposed to look (in the beginning, at least, before refining the skeleton).
Besides rigging stuff, I've been looking at coding my different walk-cycles. My current plan is to hardcode the "extremes" of my different body types, and then blend these together based on the users inputs using different types of splines (probably b-splines). This seems like a natural and effective method of solving this problem, but I'm always open to more ideas. I've been coding my walk-cycles, but since I started off with generality, they didn't look so realistic. Thus that is now my main focus for the rest of the project - pooling my data and what I've been learning about how walking works to create the realism.
This week has been great for that, since in my Computer Animation class (CIS 462/562), we've started to deal with key framing walk-cycles (albeit in Motion Builder), and it's actually given me some really great tips on how to create a walk-cycle. My professor spent an entire class on the different components of a walk-cycle, so I'm trying to make sure that these components make it into my work. I realized through my preliminary work, that I wasn't keying everything I needed for realism, and true, I was rushing the work, but I think that going into Beta, I really want to focus on getting the realism down. When I've been reading about walk-cycles they mention the different motions, but Professor Lane put those motions into a more animation and computer perspective, which is definitely more helpful. So far, it's been slow progress - I don't have enough frames for a nice movie yet, but I think with practice, I'll also get better at the coding in MEL in general (there's only so many times you can type setKeyframe wrong and move your model in the wrong direction). I'm thinking that I might just key frame with the Maya tools rather than script, and then copy the code from the general editor, but this means I have to be aware of my steps all of the time, which can get confusing in the Maya shell.
Moving forward, continue to hardcode the walk-cycles. Get the auto-fitting for rig into place. And then putting these together!
p.s. I also realized that I have comments on my previous posts that I didn't notice until two days ago, so I'm sorry (Joe) for not replying. My comments didn't get emailed to me like normal.
Subscribe to:
Posts (Atom)


