Wednesday, June 21, 2023

The Animated Athlete - Part III

 This week has been oh-so busy, as I am sure that everyone at FIEA has been feeling. With so much going on, you bet your boots I was able to get some hardcore work done on my Animated Athlete friend. 

To start off, let's jump right into the animation itself. Here is my most current rendition of the Animated Athlete (Iteration 3)!

So, what exactly did I accomplish this week? Let's check in and see! 

But first, let's check out my Jira sprint schedule to make sure I stayed on schedule:

This week's accomplishments are as follows:

  • I added object constraints to the ball and hips of the character.
    • I added an orient constraint to the rotation of the ball and the hips, so the ball moves with the body.
    • I added a point constraint to the squash/stretch controller of the ball, so the ball would squash or stretch with the body.
    • I wanted to thank Ankur for this amazing advice regarding this-- I couldn't have done it without him! 
  • I added keyframes to make the ball motion appear more natural.
  • I started messing with the graph editor, to ensure motion looks less choppy than that of last iteration.
  • I trimmed the squash/stretch segment when the ball hits the player in the head, making it last less long, so the ball didn't look as UFO-like.
  • I added camera motion and keyframed the camera, so that the viewer could see the full arc of the ball. I will continue iterating on the camera motion as we continue the course of this project. 
  • I added IK and FK to the right hand. The left hand was not functioning properly when I IK'd it, so I have set it as a high-priority task for this week's sprint. 
So, I definitely accomplished more than I thought this week! I was able to fully constrain the player to the ball, which makes it much easier to have natural motion, without his rear passing through the ball. 

For reference, here is the animation WITHOUT any constraints! 



This came with a lot of trial and error, as I'm sure you are well aware. Unfortunately, this did not work as intended multiple times. There were lots of points in the project where Ray's body would twist uncomfortably or do something straight outta the Exorcist. It was pretty creepy! 

Thankfully, Ray stopped doing that once I figured out what order to select the various parts in. After that, getting the motion correct was much easier.

I wanted to use this space to really, sincerely thank Ankur for walking me through the IK/FK and object constraint fundamentals. Without his help, I wouldn't have achieved this sprint's goals, so I am 100% very thankful for his collaboration and awesome support!

Here is the range of motion that I was able to complete thanks to his awesome help and support:



I also wanted to note that the IK on the right hand makes it so much easier to keep the hand planted when the hips and upper body are moving. With this in place, I'm going to start moving his upper body. I only shied away from this in the beginning because every time I moved his upper body or neck, his arms lifted off of the ground and he lost all contact. It was pretty not-awesome! 

But yep, I am just going to keep on chugging with the IK controller on the left hand. The problem with that hand is that, unfortunately, it twists and contorts in a really disgusting way when I switch it from FK to IK. No matter what I did to rotate or reposition it, I couldn't seem to get that darn hand to obey my commands. I'll get to it in a later rendition of this project, I suppose!

Here is the setup I was able to achieve for the hand. This is for my future reference, as well as for anyone who might need to know this particular setup! 



I got a lot of feedback from Nick, Chris, and Jonathan this round, which I have tried to implement. I am going to keep implementing feedback and seeking advice from the animation teachers as I continue. Hopefully, the piece will start looking more polished now that I've implemented basic constraints and IK on the right hand. It's only upward from here! 

As for future goals, I'm right on track and where I want to be moving forward! I still have a lot of work to do and a lot of iterations to continue working on, but I am really satisfied with this Sprint's progress. 

I hope everyone had an amazing week-- I'm looking forward to continuing work on this project. I really have learned a lot with this "flying solo" experience. I get to ask the stupidest questions imaginable (like "What's IK?") and I get to delve into problems I shied away from or avoided entirely, as to not mess up a group project's framework. I am really thankful for this learning experience-- I honestly have learned more about Maya in these 4 weeks than I have the rest of the semester.

Like, for example, I've really worked more with the graph editor in this project than I usually do. Usually, I don't touch it and the most I have ever done is put everything in stepped keys. This time, I am actually playing with tangent types (for the ball) and trying to make the motion more natural. I am trying to make the ball rotate and bounce in a more realistic way, but I can really only do that through continued iteration. 

Here is my graph editor, for reference:


Again, I have a lot to work on, but it's slowly happening!

Also, for further reference, here is my Lighting setup:


In addition, Nick and Chris walked me through the Perforce setup for our projects and I was able to import my old project directory directly into the new Perforce. 

Here that is: 

Overall, I achieved more on this sprint than I thought I would, so I am really stoked to continue working and striving to complete my goals! 

The only thing that I was unable to achieve was getting the animation into Unreal. The rig didn't end up loading correctly, so I couldn't get it in at all. The ball loaded, but I was unable to get Ray to load. I want to look into this further with Chris and Nick, so I can get moving on this goal. I think Unreal rendering with this would look really good and I am so confused at what I did to make Unreal not properly load my files. Everything loaded in as a blueprint class, except for the balls. 

But, I'll just add it to my goals for next week. The Unreal addition to the sprint was a last minute (yesterday) decision and I did not realize how long that it would take. 

I'm going to keep deep-diving into help pages and pressing buttons and seeing what they do in the meantime! I mean it, though! Thank you for this opportunity, FIEA staff. I have already learned so much and I'm only going to keep learning more!

See you in two weeks! 

No comments:

Post a Comment