Animate a Bouncy Ball! [Introduction to Animation Skills: Unit01]

 Standard Bouncy Ball - Back to Basics!


If I’m completely honest I was a little surprised to see the first task of a master being to animate a bouncy ball and I was a little confused at the University’s online module delivery platform, however, I thought I’d start with the first module and rather than assume I’m too skilled for this task I wanted to explore this in depth. I’d also not finished a 3D animation professionally in Maya for quite some time. I’d spent the last 5 years working on 2D animations made in Esoteric’s Spine for my indie game ‘Squishy Sports’ - so I though this would be a perfect opportunity to do a back to basics approach and get back into the swing of working with Maya on a more professional basis.


Above shows a cross section of my 2D animation work for Squishy Sports where I have created all 2D art and Animation! More on my ArtStation : https://www.artstation.com/mattlawson-hall

I set up a Trello board for my Masters with the intention of keeping me on track. I was finding this a little hard as modules were appearing and disappearing on the portal yet this introductory module seemed to be staying steady so I thought “Let’s just work on this and work on this to the best of my ability!” I now realise I’ve actually got myself behind schedule by doing this but I’m hoping I can slowly claw it back and get back on track - more on this later!

I set up the Trello to work in a traditional Kansan style and used cards with checklists on. I didn’t need anything too more complex than this at this point and would be able to easily visualise my workflow whilst keeping it scaleable when new tasks came in. This would be a long term project management technique I would plan to use through the course to manage progress. It is a technique I use in all aspects of my professional life from teaching to working collaboratively on an indie game so I thought it made sense to use it here too!




Above shows my breakdown of tasks and goals for this project. I wanted to : 
  • Get back into the swing of 3D animation in Maya with a classic bouncy ball
  • Animate a ball that had emotion - initially I was going to do one for sad and one for happy but I decided to combine these and create a ball that started off sad and became happy!
Below are two playblasts showing my standard rubber bouncy ball animation.



I started this process using stepped preview to focus on the core key frames before setting to spline and working in the graph editor to manipulate the transitions in-betweens the key frames. 


This green curve above shows the translate Y curves - crucial to getting the up and down bounce happening. It was important here to break the tangents at the ground contact to enable the ball to hit the ground at a faster velocity that it builds up when falling from its peak due to gravity. This also meant that I could control the tangents to replicate the slight ‘hang’ or ease in and out as it reaches the apex of the bounce height. This is where upward energy is diminished due to gravity’s pull before acceleration begins on the descent. You can also see the loss of energy over time as the peaks become smaller and smaller as the kinetic energy is lost.


Once I have my bouncing up and down working I can add forward motion to this on the Z axis. The Z axis is generally forward with X being side to side so I wanted to stick to these conventions. (At least that's how it is in video game animation!) I decimated the keys I set when blocking out the animation to leave behind just 3 keys. The first is the starting Z position and the second is the end Z position. I am tapering off the curve here to reduce the energy over time as gravity affects it and slows it down. The last key frame s actually the ball moving backward ever so slightly. This is seen in the playblasts as the ball does a Little Rock backwards. I do this so accentuate the kinetic energy and ‘round’ shape of the ball to make it feel believable.


This above curve shows the X rotation on the ball’s rotation controller. I absolutely love how this ball has a rotation controller - it helps separate out the translation and rotational values making the graph edition much easier to control and also keeps the squash handles in place. I’ve used other rigs where when you rotate the ball the squash handles rotate which makes it awkward to control as you need the rotation to be 180 or 360 degrees to get an accurate squash.

I’ve used the exact same technique as the translate Z by decimating the keys to leave 3. I rotate the ball over the duration of the full animation smoothly and slow down the rotation towards the end as it loses kinetic energy. I then mirror roll back with rotation to ensure this feels believable and we see the ball visually move backwards.


Above are the curves for the squash handles. You can see the squash down and stretch out with settling inbetween. You can also see the squash lessening over time as the ball loses energy to mirror what we saw on the translate Y of the ball.


The final outcome I rendered using Maya Arnold with a simple ground cube in. I have a small shadow to help the ball feel grounded and I have added a tiny amount of reflection on the ground plane to accentuate the impact and mirror the animation paths to a subtle degree. The animation feels bouncy and believable. There does feel like a quick bounce up about midway through that feels slightly off - I think I might have a translate Y curve heading upwards too steep. The outcome uses Squash and Stretch to make the ball feel bouncy like rubber. It uses ease in and ease out to control the acceleration realistically in all points to make the ball appear to abide by the laws of physics. I love the subtle rock at the end as the ball settles - it adds that extra element of realism. I could have perhaps experimented with the peaks of the Y translation a little more so that they weren’t quite as uniform, however, I feel I have achieved a good outcome generally.

Animation 02 - Sad Bouncy Ball

I probably shouldn’t have done this animation from a time perspective but I wanted to challenge myself to get emotion into a simple animation. I wanted to show a ball feeling sad and then transition to feeling happy with a comical twist. I had the idea of a ball slowly plodding along before sighing and trying to juniper off a cliff - a little dark I know! However, when it jumps off the cliff it gets ‘coyote time’ and instead it lands mid air instead of falling. It is then shocked because of this, gets happy and bounces around in a sentient like fashion including a celebratory spin before the ‘coyote time’ runs out and it falls off screen!

Research

I knew that I wanted research to drive everything that I was doing so I wanted to capture effective research that would inspire the various states of emotion I was aiming for. I explored a range of research to try and capture the initial feeling I wanted. I knew this was a mini project so again didn't want to go over kill with this but instead source some reference that would inspire my goals!


I liked the sad little hops of this animation, however, I felt the hops were a little too quick and would instead adapt mine to be a little slower. 

I loved the slow plod of this flour sacks walk. The timing felt great and the follow through of the head coming down from that slow plod. I loved the pose they had this flour sack walking in and thought I could get the line on the ball facing down to reflect the sad emotion. I also loved the jumping off the cliff as this was similar to my idea. Yet I didn’t want it to be too sinister and instead wanted that Looney Tunes / cartoony feeling.


I thought it would be good to gather some real life reference from a timing perspective as everything I’d looked at so far was an animation created by another artist. I wanted this to drive timing and feeling of human emotion to look at how I could translate that into a ball’s emotions. I liked the slow plodding feeling of this again and the little wobble after each step.


I liked the Ultimate Tail rig animation in this compilation - particularly the fast snappy movements that have been animated. I love the ease outs as poses are held yet fast, arced motions. There was also a change of emotions across this animation that I wanted to implement into my animation.


Whilst this is forever imprinted in my memory I wanted to revisit Wile E. Coyote and Road Runner’s classic ‘Coyote Time’ / ‘Airtime’ elements that I was going to use to bring up the mood slightly in my animation. It was going to be a shock to my character and this is what would drive the change in state of emotion, however, ultimately ‘coyote time’ always runs out!


Rather than making a storyboard I thought I’d approach this from a thumb-nailing point of view to pick out some key poses but also plan the path of motions. I used annotations to identify what was happening and how the screen space would be used. Honestly, this was super useful and gave me a starting positions to create my initial pose to pose key poses that could build my animation. I used colour just to make it more readable. In the end I think I only did 3 happy jumps opposed to 4 where only 2 contacted the ground and the third was the happy flip. This felt better in the timing of the animation and another jump wasn’t necessary - since the previous 2 had illustrated the point of ‘coyote time’ and the special, celebratory jump would be the jump where it all went wrong!


Above you can see my initial animation blocking. I thought I’d use a motion curve to help control the initial key poses / key positions. I’ve not generally used them in the past, however, they seemed like they could be powerful at this initial blocking stage and to particularly visualise the jumpers and control them visually in perspective. I found they worked well but they didn’t always update when I added new key frames which made them feel a little finicky. However, once the blocking was laid out and the motion path then created it did help tweak the key positions before I got too detailed in the graph editor to control the position between key frames.


Above you can see the initial blocking and timing of the key poses to get the main poses down. I wanted to work with stepped preview on to really try and focus on the key poses - I’d been reading the Illusion of Life and was trying to really understand and create strong poses as described in the book using pose to pose. Once these were created I could then care about the transition but control as much of this as possible with the graph editor.


The above shows the blocking refinement and the additional poses I created to make it feel more alive. Some key points of note are the sigh before the first jump off the cliff and the shocked poses. I was using anticipation here to add a quick opposite motion before the main action happened. For example a slight upward motion before the downward sigh or a quick downward pose before the upward shock. This helps accentuate the main motion more and prepares the audience a little more for it before it happens. It also enabled me to exaggerate the subsequent pose a little more! 


The above video is a playblast of the refinement. I’ve turned off stepped preview to get a spline view and used the graph editor to control the transitions. I’ve altered key frame positions to adjust the timing slightly as it can be difficult to really get a feeling of timing when you’re in stepped preview. However, due to the developments and refinement I did in stepped preview the timing was largely accurate and I only made minor adjustments.

The below images show my refinement with the graph editor.


Above we have the main translation of the object. The blue stepped curve is the translate Z that’s you can see slowly plods forward - reflecting the reference that I found earlier. You can also see this same plodding through the translate Y curve that slow bounces along with smaller bounces when it is sad and larger ones when it is happy. I varied the spacing between the bounces and the bounces were very different to the standard bouncy ball. I have pauses between the bounces as this ball was meant to be a character that felt like they were slowly heaving themselves through the scene opposed to an inanimate object that had been thrown - hence the stark difference between the animation curves.


Above shows the X rotation curves - and a stark difference to my standard bouncy ball. I’m rotating it back and forward slightly rather than completing a rotation. The only complete rotation that is completed is the flip at the end where you can see the sharp increase in value. This is to create contrast and emphasise the happy joy - before the imminent drop that this poor ball isn’t aware of!


Here you can see the squash handles that are a little reminiscent of the standard bouncy ball. However, we’re seeing the difference between the sad and happy bounces with slower timing on the sad squashes and more snappy yet exaggerated bounces on the happy sections!


Above shows the finished rendered result! I’m really happy with the outcome I feel I’ve nailed the change in emotions and giving this little ball a bit of personality which was my goal. I’m happy with the transition between the sad and happy with the bridging shock phase. I included some sound effects, albeit fairly quickly, to try and polish this animation and help convey the story. I love the extreme stretch at the end where the ball falls down with a little hang - I saw this in the Wile E. Coyote and Road Runner animations where Coyote’s head will stay put whilst his body stretches off - but to finish the believable aspect of this action - his head does follow through. I feel I captured this well and the timing reflects this. There are lots of points that aren’t quite true to the laws of physics but the timing is carefully controlled and the laws of physics always catch up - similar to that seen in Looney Tunes animations! To improve further I think I could look at more of the fast to slow motions paired with some rendering techniques to add subtle motion blur to create a clean and complete final animation.

I think some visual effects like a cloud puff where the ball impacts on thin air would have also helped this, however, this would be a purely visual addition and would not have affected the animation skill which is what I was focusing on. Research into this will have eaten more time that would not have been wise to expend. However, this would have helped communicate the short story and more abstract/cartoony elements I was exploring!

Below is a simple update of my project management to show my tracking and progress. At this point in time I am behind where I need to be, however, I have now gained a stronger understanding of how to tackle this course. In a future post I will share my plan for catching up to get back on track and allow me to continue focusing on quality as I have in this animation. So whilst I have stretched this task further than I needed to I feel I have laid a good foundation in animating in Maya to rekindle my skills here and focused on building personality that will be useful in the future!







Comments