Monday, October 31, 2011

Alpha Review

Here's just a quick post. I wanted to share my Alpha Review video with everyone.


This video summarizes all of my work so far. Enjoy.

Thursday, October 20, 2011

MEL Beginnings

I changed my Rig tool once again, but this one is definitely the final rig framework. I found Jason Schleifer's rigger to be a little confusing, so I searched some more and found Advanced Skeleton, which is even better and simpler in my opinion. My only issue with a lot of the auto-rigging tools I've found for Maya is that, first you need to align the given rig to your model, and then it will skin it for you. Which is fine normally, but I was hoping to do something more like Pinocchio, where given a model it figures out everything for you. I'm thinking as I move along further, I will try to incorporate some of Pinocchio's algorithms into my plug-in so that the user will not have to set up the rig in any sort of way.

Here's a look at how Advanced Skeleton works. I like it a whole lot better than the other rigger I was using, and I like that it has multiple feet joints, and all in all, is a more complicated bipedal rig than one generally finds on the internet.

The video took forever to upload! Sorry for the delay. Here's a video of me playing around with my first rigged model, and then again, re-rigging to get better results. I still need to improve on my techniques, but the skinning is pretty good, minus a few kinks!


Anyway, so my primary goal this week was to gather more data (have about an hour's worth of different people on campus walking), and start scripting. I started to script a walk-cycle, and I have a little test video of me trying to move a rigged character's leg forward. A lot of the MEL scripting right now is me trying to remember which joints to select and then key them at the right place. I'm really going to have to keep everything straight as I start moving into animating the full body. I hope to have a fully scripted walk-cycle some time this coming week. Since the primary movements of the joints are translate and rotate, I don't need to worry too much about too many MEL commands. I hope that stays true for the future. But that will make it easier to "weigh" when incorporating my data of the different human types.

Here is the super-short test of me moving the rigged character's foot forward. Sorry it's so short, I haven't had time to render a better video with more movements.


Thursday, October 13, 2011

Shorter Week

This week I didn't work far enough on Senior Project as I wished. Fall Break was this weekend, which meant it was time for me to play some catch up with the readings in one of my classes and try to finish up my other programming assignments (B-Splines == nuisance). So I didn't work on my project until Monday. What I did do was this:

I managed to pull the MEL script for the automatic rigging into Maya. It took a while to figure out because the instructions weren't clear, but I've been able to test it on a model, and it's pretty cool. I'll post a video later this week, I want to iron out some kinks I have from not having all of the scripts in place. The model I've used is the basic model, an OBJ file, that I got from Pinocchio. While this turned out fine, it doesn't really help me see where I really need to fine tune the rigging, so I also want to see how well the auto-rig tool works on a more realistic model. I did a lot of model searching, trying to see if I could find free models that I could pull into Maya of different shapes and sizes. Unfortunately, that's proving to be a little difficult and tedious at the moment. A lot of the models I found don't come in a compatible file format, I did find this one model, which I will use as a test for now!

So much more realistic!

Anyway, besides the rigging, I'm in the process of gathering my data. I'm renting a camera from the library this weekend, and I'm going to record some people walking around campus. Hopefully by the end of this weekend I'll have some data to start off with!

Also, I've been looking through Youtube for helpful videos. I really like this video because they slow it down for you, and talk you through how a walk is supposed to look. The video is kind of hypnotising, actually. 



Youtube is turning out to be a really great resource for seeing some focus on the movement itself. While my videoing will be useful, I like that I can find videos of people just walking on a treadmill for you with only their legs in focus if I just want to get an idea of the simple, overarching movements.

Lastly, my main goal for the next week is to script a walk-cycle, so I can have something that combines everything I've done so far together. I'm really excited for this, it'll be the beginning of things to come. From the scripting, then I'll be able to focus on the algorithms and how they affect my walk-scripts or whether my algorithms create a walk-cycle from scratch each time. I'm not sure which approach I'll take, only time will tell.

Friday, October 7, 2011

Finding My Way

This week was a lot of data gathering and playing around with Pinocchio. Firstly, I was torn whether I should use motion capture data or a more visual-based data (such as videos and day-to-day observation) as the foundation for my walk-cycles. Since I'm trying to create a procedural animation tool that will create realistic human movement, it's more important that the animation look good rather than accuracy. So I started off by researching places I could find motion capture data of different phenotypes, since I figured I could try it out and see what I thought. I found a bunch of sites that allow you to download their motion capture data for free. However, after talking with Norm and Joe today, I decided that I will not use motion capture data to create the motions, but rather use visual data, mostly from watching/taping people around campus and finding walk videos online, to create the walk-cycle movements. This excites me, because it will give me more flexibility when creating the algorithms for generator, and allow me to look at more movements than just those found in motion capture data.

Along with looking for research, I was reading a few papers I found on the BioMotionLab website, and seeing how they found their data. BioMotionLab used motion capture on different subjects to find most of the data, but when it came to trying to describe the subject's mood, they used outside observers to numerically describe the subject's mood based on their walk. Thus they could gather enough data whether certain walk's appeared happier or sadder, etc. I found this really interesting technique, and I will probably use that as a testing tool for my program later on. I think that'll be a good way to see if my choices for the animations match up with other people's perceptions. They also have a cool tool where you can create an attribute for their walkers, and scale that attribute accordingly. It's an interesting idea, check it out:
click on the image
Besides data, I've been playing around with Pinocchio, trying to connect it with my Maya plug-in framework that I have so far. However, I wasn't too sure how to integrate Pinocchio with Maya in a not overly complicated way. Joe suggested wrapping the project so I could access it in Python and thus integrate it within Maya super-easy, or copying the code into my compute method on Maya itself. However, then I'd have to convert it into MEL which might be a pain. So I went digging around and found another auto-rig script that's made for Maya. One of DreamWorks' Head Character Animator, Jason Schleifer, sells a DVD that teaches animators how to rig, and has a bunch of scripts that animators can use and some guy decided to create an open-source version of the techniques found on the DVD and distribute it. So I've downloaded these scripts, and I'm looking forward to using this as a framework instead of Pinocchio, because it will be easier for me to integrate my code nicely, and also tweak it to be more versatile than the normal auto-rigging tools. I'm trying to open it up according to the instructions so stay tuned for some videos this week of using that tool.

Lastly, I added more to my Maya plug-in framework. My main goal right now are to integrate the plug-in code with the MEL code for auto-rig. If I can have that up and running I can start testing out models within the Maya framework, which would be very exciting!