January 26, 2013

More Bouncing Ball Tests


My next step was to create a bouncing ball in Maya by using one of my reference videos - I chose my rubber ball bounce as it gave me lots to work with (compared to the fruit and vegetables)! However, I found it very difficult to assess timing and spacing through watching the video alone - counting out loud was not accurate enough for what I wanted. So I took a different stance by using the sound of the video clip. I loaded it up in Adobe Audition, and the wave form showed precisely and clearly the timing of the ball bouncing on the ground.

I wanted to use this as my reference, so I amplified the wave form so that the loudest point would be even more visible next to the timeline. The tricky part was translating the timings into keyframes on maya.



My method was this: 
For each second, I have 24 frames (I realise now that I should've have been working in 25fps)! So if the ball lands at 4.625 seconds, that means that it occurs at 96 frames (4 seconds worth) plus 0.625ths of a second (0.625 x 24 frames = 15 frames) meaning that the bounce would lie at 111 frames into the animation. I did this for every bounce until the bounces became extremely close together.

After this I went back and placed a keyframe halfway between the original keyframes for the high point of the bounce. I did some adjusting by using the Dope Sheet editor.



My technique for judging the distance between the high points of the bounces was less technical. Again, just watching my reference video wasn't accurate enough, but I needed a basic reference to make sure my bouncing ball was as similar to the video as possible. 



My solution was opening up the image I'd made earlier of the bouncing ball path and adjusting it so the ball in the image and the ball in Maya were the same size. In side view, I aligned the line where the ball hits the ground with the x axis and used it to judge how high the ball would bounce. What would have made it easier was if I simply used an image plane, which I did not realise at the time!



I then spent a lot of time on the graph editor, adjusting and refining my curves and adding a 'Slow in' in the beginning, as opposed to an anticipation. 

When I finished the animation, I added the audio of the reference video to the playblast using Adobe Premiere Pro to see if the two matched up without need for any adjustments...


Success! I'm pleased with the finished result in terms of weight, and therefore timing and spacing. However, when I get more time I want to add some rotation to the ball and get it to change direction more - in the reference video it doesn't bounce in a perfect straight line!

I then wanted to try animating a ball of a different weight - I looked through my reference videos and decided to try animating the clip of the tomato. Being relatively heavy, it only bounced twice so I hoped it would be a stark contrast to the rubber ball.



Using Photoshop, I tried making another image showing the motion path of the tomato. Unfortunately, it didn't prove to be very useful as a reference!



Modelling my tomato-shaped ball...!



The timing and spacing was very different to that of the lighter, rubber ball, and because of this the movement of the tomato was certainly sharper and more sudden. I do feel this animation seems slightly less realistic to my previous one:
1. At the end, the tomato wobbles too slowly. 
2. Where the tomato bounces to the side, it seems weightless.

I had more problem with the second issue; although I like the arc, the tomato seems to bounce too high and too far to the left (despite it being accurate). I tried to amend this by speeding up the timing slightly, although this made it look like it was glitching. Finally, I edited the keyframes of the x axis in the graph editor which ended up making it much more realistic.

This week I also learned how to do the principle 'Squash & Stretch' the correct way in Maya (ie. not changing the scale)!



I did this by using a 'Squash handle' found in the 'Create deformers' menu bar, wherein you would adjust the factor in order to make the sphere squash sideways or lengthways. There was quite a lot of flexibility to it as you could adjust the height of the handles depending on how much squash or stretch you wanted.




I really enjoyed using this method as it gave quite a bit of appeal to just a simple ball - I thought I'd emphasise this by making the ball bounce higher at the end (as opposed to lower) to make it seem like it had a life of its own.

January 19, 2013

Bouncing Ball Tests

As an introduction to the principles of animation and to the 3D modelling software, Maya, this week I've been attempting the bouncing ball test. I plan on experimenting by putting some of the principles in practice, such as 'Squash & Stretch', 'Anticipation', 'Slow in & Slow out', and most importantly, 'Timing & Spacing'. Hopefully it will also help me learn the interface for animating in Maya.

I did a few bouncing ball tests using Toon Boom Studio in my free time last term - however I did not pay much attention to the laws of physics:



In fact, the only principle that's obvious to me here is 'Squash & Stretch', which I've been quite liberal with, and on the whole, the weights of these balls seem totally unclear (note the yellow one flying into space). As a first try, I was content; but now I want to move on and do this test correctly by doing some research prior to animating.

I did some searching on youtube to see what I could find in terms of live action bouncing ball tests, and I came across a few I thought I might be able to use as references.



Although it only represents one particular type/weight of ball, I found this video to be very clear - most of the action is on screen (as opposed to off camera), and the white band around the ball will be helpful when I learn about rotation later on.



I liked this video for the sheer variety of balls he used to test with. However there is a big fault in that the surface he's using is uneven, which was most obvious when bouncing the exercise ball. This was disappointing because, in my opinion, the exercise ball had the most interesting bounce!

After seeing these examples, I wanted to make my own reference video - which proved to be more challenging than expected! 

My first problem was that I don't own many balls, hence the fruit and vegetables, so I only really have one reference clip here. Also I think the quality of the video would be improved by having more natural light, so I should have started filming earlier on in the day. I had wanted to experiment with different surfaces (ie. a carpet) to see how it would impact the bounce, however it took so long getting the rubber ball to be in shot for the duration of the bounce test that my patience wore thin!

I wanted to see the path of motion of my rubber ball, but the software I wanted to use to do this turned out to not be compatible with macs. My solution was somewhat longwinded - I took many, many screenshots of the video, put them into photoshop and started merging them together:



As you can see, the ball path is extremely faint, and as the layers started building up it began to look very messy. I eventually had to delete everything and start with a new idea - seeing how high the rubber ball was bouncing. I watched the video back and started taking screenshots when the ball was at its highest and its lowest. I then put these images into photoshop and started the editing process again.



These technique turned out to be a lot less messy! It also gave me a very good idea of spacing - I helped visualise this better by creating lines on the side of the image to get a better idea of idea of distance between the bounces.



The next step was Maya. Before trying to replicate the bounce of my rubber ball, I firstly wanted to try to get used to the interface by creating a simple and (hopefully) realistic ball bounce. I started by putting in my keyframes when I wanted the ball to hit the ground and when I wanted it at its highest, then adjusted the position of the ball accordingly. The fun part was playing around with the graph editor to give the ball some weight and realism.



I played with the tangents to get some nice curves - my bounces were most effective when I broke these tangents so I could achieve a 'fast in/fast out' as the ball hit the ground.


I also found that free tangent weights affected the shape of my curve quite significantly.


My first attempt at an 'anticipation' using the graph editor.

I liked the finished result; it wasn't accurate but it helped me put the principles 'Timing and Spacing', 'Anticipation' and 'Slow in/Slow out' into practice. Using a reference next time will hopefully make the bounce more realistic and give the ball some much needed weight!