Thursday, August 3, 2023

Final Industry Review

 Here is my final industry review! Not much to say about this at the moment. 



Monday, July 31, 2023

Final Delivery - The Animated Athlete

 Hey everyone! 

I have a lot going on (as does everyone in our cohort), so I'm going to keep this blog post short! 

After toiling away with the graph editor for several long weeks, I have a product I am finally happy with. 

Take a gander at the final iteration of the Animated Athlete project!! 


Again, a lot of the work was on the back end, with the graph editor, so I was messing around with tangents, snapping keyframes, and the whole nine yards.

In addition, I also got wonderful feedback from my professors and fellow animation students, which is always a treat.

So, yeah! 

Before I go, I would like to drop the final presentation link here, so you can view it. It has a bunch of stuff compiled from the previous iterations, which makes for interesting comparison material.

Animated Athlete - Final Sprint Presentation

Well, I hope you enjoy what I did! See you at Industry Review. 

Wednesday, July 19, 2023

The Animated Athlete-- Sprint V

 Hello everyone!

So this week brought a lot of progress to the Animated Athlete project. While I still have some progress I would like to make on the project as a whole, I, for the most part, was able to achieve my goals.

Here is the animation I produced this week. I looped it several times, so you can see that it transitions seamlessly from the first frame to the last one. 

Over the course of the Sprint, I had the following goals:

  • Ensure ball rotation looked natural.
  • Redo ball animation entirely.
  • Reference a new rig for the ball.
  • Add facial expressions to give Ray life.
  • Fix sliding feet issues.
  • Ensure that shoulder and back motion look good.
While I was able to accomplish all of those goals, here are some aspects that I want to improve by the final sprint: 
  • Ensure the character squashes/stretches properly.
  • Reference out the old ball (beneath Ray).
  • Add additional squash and stretch to the bouncing balls. 
  • Plant the feet fully on the ground.
Here are the ways I am going to achieve these final goals:
  • Continuing to iterate based on feedback. 
  • Seeking feedback from teachers.
  • Learning the graph editor further.
  • Learning more about constraints.
Overall, this Sprint has been my most productive one yet, especially in terms of the quality of the work I was able to produce. 



All in all, I spent about 10-15 hours over the last few weeks on this animation. I was able to meet all of my goals that I set in Jira, too, which helped me continue to make excellent progress on the animation. 



Here is the Sprint Map, to refresh your memory.



So, as this project is wrapping up, you might be wondering where I am going to direct my attention in the future. Since Industry Review is fast approaching, I've decided to really polish up the animation in time for it. I am on schedule, according to my Jira timeline, so I will continue to iterate and get a final couple rounds of feedback from Johnathan and the class. 



As always, I appreciate you all taking a look at my stuff! 

Wednesday, July 5, 2023

The Animated Athlete - Part IV!

 Hey everyone! 

This week has been an exciting one here at FIEA! Not only did we have a Capstone Status Update last week, but we also all made some incredible progress on our Common Art projects! (party noises)

I have worked really hard over the past two weeks with the hopes I would have something cool to show you all this week. Hopefully, this counts for something, right? 


So this week, I added a lot to the project, with direction from my animation teachers, Cheryl and Jonathan. I was working really hard to make the animation loop and trying to fix the issues I was having with the legs over-extending. 

As I figured out with the arms last week, there is this setting called "Body Space" and "Stretch" on the various appendages on Ray. This gives him a cartoonier look, which can be appealing in some instances. In this instance, however, it was not appealing at all. His arms and legs looked like they broke, which made the animation much scarier than it probably should have been.

During animation class, Jonathan and Cheryl helped me to troubleshoot this issue, which could be turned to "0" in the channel box, preventing Ray's bones from breaking. Unfortunately, I was not able to fix the leg entirely, but it doesn't "pop" as much as it did in the previous iteration. I'm going to go back to the drawing board in animation class and ensure that I have the proper protocol down for troubleshooting this issue. 

So, now Ray's knees do this weird floaty thing, which is my bootleg solution for reducing the pop. Since I didn't entirely solve the issue of the popping knee, I figured a way to temporarily cheat the issue would be to key and copy the pose I did want until the leg moved. Unfortunately, since the character is bound and constrained to a ball, he moves ever-so-slightly and his feet twitch back and forth. This is most noticeable on his right foot. 


I did, however, make the animation look much better than it did last week by putting the feet flat on the ground. Previously, he had been putting all of his weight on his arms and the ball, with his feet erratically kicking to and fro, even if the ball was not anywhere near him. It honestly looked like one of those animatronics at Disney, which was really creepy and led me to just plant them. While they do still slide, Jonathan did show me how to do that in a help file. I'm going to reference his help file and learn how to do the process on my own, so I can figure out this issue in future projects.

So yeah! My ball and character now properly loop. The animation loop point is a bit rough around the edges, but it is ultimately much smoother than where I was last week. Last week, the ball zipped around like a UFO from the last place he kicked it to frame 1 of the animation. Now, it rolls down his leg, bounces up, and arcs into the first pose. 


As per Jonathan's suggestions, I also made the second soccer ball (the one he kicks on the ground) interact with a rock and roll back to the player. I need to make the motion slower, but now it doesn't look like Ray is playing with an imaginary friend or ghost. That would be scary and I'm happy that now there is a small environmental object for him to interact with.

But yeah! 

While this week was very crazy both in and outside of FIEA, I'm happy that I got to make some time to animate my Animated Athlete! I'm excited to showcase what I've done to the class and get more feedback moving forward. 


I think Ray's soccer moves are great and I am so happy that the Animated Athlete is shaping up to be a nice addition to my portfolio.

For reference, here is what the project looks like now:


And here's what it looked like last Sprint:


And here's the animation from my first Sprint!

They grow up so fast, don't they?

So, now instead of being 81 frames, this animation is around 100 and it loops relatively seamlessly. I just have to work on making the motion more natural, but I am thankful, at least, that it is much easier. 

Jonathan did suggest utilizing the Ultimate Ball Rig in place of this Maya Ball Rig I'm using, which I might do in the future. For now, too much depends on this ball rig for me to change it at the moment. I do agree that the other rig is easier, but I've already dug my grave with this. It's a definite stretch goal, though, and I will keep it in mind-- which is why I'm bringing it up here! 

As always, thanks for looking! Excited to see what everyone else has made this week!

See you soon! 

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! 

Wednesday, June 7, 2023

The Animated Athlete Returns!

Welcome to this sprint's blog post! I’m your host, Mackenzie and I’m here to give you all the latest on this project! 

Before we get into the nitty-gritty of what I did this week, let's take a brief look at our animation render.

And here is the Stepped Tangents version of the final product! 

So, what's different?

A lot, actually! Here is the initial submission I presented in my first presentation two weeks ago.

During this two week session, I implemented several changes, which I'll briefly run through here before we get into the meat of the blog post:

  • Slowed the animation down by 1.75x. 
  • Iterated on the animation based on teacher feedback.
  • Added rotation to the soccer balls.
  • Added movement to the hips.
  • Used IK/FK switching on the hand to make it stick to the ground.
  • Experimented with different tangent types in the graph editor.
  • Added a basic lighting setup, consisting of 3 directional lights at 0.8 - 1.3 intensity.
  • Did a simple Arnold render of my character rig. 
  • Cleared animation of any non-snapped keys.
  • Removed extraneous keyframes to maintain line-of-action.
  • Emphasized squash and stretch on the soccer ball. 
  • Implemented the infinity wall into the project.
  • Resized the infinity wall to make it less distracting. 
  • Added basic facial animation.
  • Adjusted Jira board to make up for the advancement of the lighting task to this sprint.
  • And more! 
So yeah, a lot went in behind the scenes, which is all very exciting, I know. 

But, I hope you at least enjoy the final product. I am very happy with how everything turned out and I'm excited to keep iterating. 

But before we get to that, I have one quick thing to get to... My blog! 

So, here is the post in question, which contains all the pitfalls, ups, downs, and loop-de-loops this project has taken me on over the past two weeks! 

Sprint 2 Retrospective

This sprint’s progress was better than I was expecting! I was lacking direction last week, as I was not fully satisfied with the animation, however, with help from Jonathan, I was able to identify key poses and create a better storyboard that followed line-of-action and animation principles. 

Overall, I was able to take a 20+ frame ‘storyboard’ and limit it down to 7 key poses. From there, the goal next week will be to find sufficient in-betweens for the key poses. 

Additional feedback I received during the presentation last week suggested that the animation was too fast. Since I was utilizing a GIF for my animation, the video render looked sped up and was a little too quick. 

Using Adobe Premiere, I was able to render a much more realistic target for my animation. I narrowed it down between 1.75x faster and 2.0x faster. 

Here is 1.75x faster.

And here is 2.0x faster. 

Thanks to feedback from Cheryl and Jonathan, I ultimately decided on 1.75x faster…

…However, I had a problem.

When I adjusted the frame spacing in Maya, it multiplied all the frames by 1.75, which resulted in a lot of funky numbers with decimals, which is never good for animation frames. Worse yet, I had 20+ frames of animation with weird numbers that refused to snap to keys. 

Thus, I decided to start over from the beginning. Yep, all the way from the beginning. I decided to take Jonathan’s advice to heart and really hone in on key poses. And I wanted to start piecing together Chris’s advice regarding center of gravity.

So I went back to the oldest version of my scene and started fresh. And here we are! 

I definitely worked a lot of the hips and line-of-action this week, as they were things that were not present in last week’s animation. In addition, I also tried to keep the head motion natural, as the neck got a lotta bit out of hand last week. 

Another thing I really worked hard on were the arms and hands. During last week’s submission, the hands floated and moved away from the ground and looked really unnatural and artificial. In this week’s rendition of the project, I figured out how to IK/FK switch with the hands, which made it easy for me to plant the hands on the ground. 

I will figure out how to constrain these objects and the ball to the ground later; I just want to get all my ducks in a row, first. Once I have a submission that pleases everyone, I will move forward and get into the more complicated elements of animation (i.e. camera sequencer, graph editor, constraints). I am a firm believer of fundamentals first, so I am going for that approach with this project.

Oh, also, along the way I added the lights and infinity wall, too. Chris and Nick suggested that I pull the lighting up in the schedule, just so I can iterate on it, which I did. Part of the reason for pushing lighting so far back in the schedule is because I struggle with it quite a bit, but I managed for this submission, at the very least.

Here is that lighting setup.

I wanted to put in area lights, but I was having trouble with them over-saturating my camera view, so I swapped them out for low-intensity Directional lights. I set them up in the formation we learned last semester, two angled up front and one behind the character. 

The render in Arnold is a little gloomier than I would want it to be, but I didn’t want my playblasts to be too white, so I decided to tone down the lights for now. It’s weird that Arnold renders out so much darker than the normal camera view. I will have to consult a teacher regarding this because I have no idea why or how it does this. 

The Arnold render in question is below. This is before I added the infinity wall, by the way. 


I also mentioned experimenting a little bit with different tangent types. I uploaded a bunch of videos of these different types and how they impact my animation.

Here's clamped:


Here's auto:


Here's linear: 


Here's flat:


Here's plateau:


And here's stepped, the one that is ideal for storyboarding and finding key poses! 


And this is what my graph editor looks like in stepped tangent mode:


I want to learn when and where to apply these various tangents in animation. I know some are good for bouncing ball motions, while others are better for more natural motion, which is one of my targets for next week-- figuring out how to make the motion the most natural.

Anyways-- that's a story for next week. I've got a PowerPoint to prepare for class tomorrow. 

Before I leave, have my Jira board! Woohoo! (It was too big to fit into the PowerPoint)


That’s all, folks! Thanks so much for tuning in! See you in two weeks! 

Wednesday, May 24, 2023

The Animated Athlete... My Common Art Project!

 Hey everyone-- it's been a long time since I've updated this blog. I've honestly just been working on a lot of stuff in the background, without a lot of time to write about things. 

Well, that all changes today! I'm going to be covering my most recent Common Art project-- an animated athlete! 

You can see him below, juggling the soccer ball like it's going out of style!


And here is an alternative angle.


The inspiration for this project stems from my love for soccer. My family is big into soccer-- so I have a lot of fond memories of trying to juggle soccer balls with my brother and dad. 

That gave me a great idea for an animation-- I wanted to capture the fun fluidity of juggling in my demo reel. For a week or so, I was looking into different types of animations to include on  my demo reel. I wanted the animation to be exciting and engaging for viewers. 

To see more of my inspiration and initial ideas for the project, check out the PureRef board below.


Overall, I wanted my animation to touch on a subject matter that usually isn't seen on demo reels. I know there are lots of bouncing ball and push/pull animations usually on reels and I wanted to stay away from those. I wanted to use a unique subject matter, so I could try something new. 

The below gif really stood out to me, as the soccer player was balancing on a ball, while juggling a ball and kicking another ball. I thought it was a really interesting idea for an animation, so I wanted to give it a shot! 


I worked really hard to storyboard the animation in 3D, which I did by using stepped tangents and keying each time the soccer player did a key pose. Since he did move around a lot, I definitely have more than 20 keyframes, which is a lot for a 47 frame animation. Overall, this animation is just under 2 seconds long, but there is a lot of dynamic motion in it. And yes, I did use a frame exporter to export the GIF frames, which is why I know the exact amount. 

Also, as a heads up, I'm going to be showing my playblast progress between some of the below paragraphs, so you can see all the work I did as the animation progressed! 

My biggest struggle in animation is timing, which I hope the project will help me learn. Already, I'm learning just how fast objects move with the impact of gravity. In addition, the character has a lot of weight, which he places largely on the ground (with his hands) and on the ball he's sitting on. The ball that he's sitting on has some squashing going on, which I hope displays the character's weight effectively.

A big setback with this animation was believe it or not the rig. I had originally intended to use the Dirk the Daring rig on Agora Community, however, it required a MEL script, which I didn't know how to run. I decided to use the Ray rig by CGTarian instead, as he was similar in build to the soccer player in the GIF. He also did not have big hair, excessive clothing, or big hands/feet. The character needed to have human proportions, which Ray achieved perfectly. 

I initially had trouble working with Ray due to a camera issue, which Nassir was kind enough to help me with! So, thank you so much Nassir- you went above and beyond in helping me. Thank you so much for your awesome explanations- I appreciate it! 

After the rig was all figured out, it was just up to how much animation I could power through. I wanted to use this storyboarding period to see how much I could schedule myself to do in the future, so I could get a good idea of how much work I could give myself moving forward. 


Overall, I ended up spending about 7 hours working on the blocking out of the animation. I spent around 4-5 hours planning the project in Jira and 2 hours getting references. 2 hours were spent selecting rigs and around 30 minutes were spent testing and setting up the scene. 

In the future, I see myself spending around 10 hours or more per week on this project. Based on feedback from my peers, I can increase or decrease this number. 

Since this is my own project, assume that all tasks are assigned to myself. I will add more sub-tasks as the project dictates, depending on any re-routes or unplanned hiccups I might encounter. Below is the most detailed schedule I could come up with. I go over additional details in my PowerPoint presentation, which will be shown to the class on May 25, 2023.

Alright, speaking of planning, this project has forced me to learn Jira. I'm actually using Jira to archive and upload my Playblasts and videos, which is great for if I need to re-reference old work. I'm trying to get into the habit of updating descriptions or adding comments to show what work I've finished and when. 

But most of all, Jira is great for planning sprints! I want to figure out how to track my time through Jira, so I can get an even better idea of what I've accomplished and how long it's taken me. 

Thanks to Jira, I was able to plan out the entirety of the project, from this first sprint until the end. While it took awhile, I think this will be useful in keeping me focused. 


So, yeah! I am going to keep working with Jira and continue iterating on the animation . Since this is a highly-focused animation (and since it's only about 2 seconds long), expect lots of little updates, such as me working on the feet or focusing on the face and eyes. I did not do any facial animation this week, so expect some facial expressions and changes in the next few weeks. 


This project leaves a lot of different areas for improvement and exploration, all of which I am excited to explore, so I hope you enjoy coming along for the ride as much as I enjoy taking this wild ride. Thanks again for taking the time to read my post and take a look at some of my progress. 

See you soon!