Exercise 1
Bouncing A Ball In Maya
PROCESS
Firstly, I need to create a playback range of 1 to 72 as stated in the tutorial. I entered 72 in the Playback End Time box. It will play 24 frames a second, thus giving me 3 seconds of animation.With this, I will then be able to start working on my animation!
Next, I clicked the Go To Start button to go to the start of the playback range. This will set the current frame to 1.
In order to make the ball move to the other side of the green field, I would have to set keys. I selected the ball and press the hot key 'S'. This will set a key at frame 1 for all transform attributes of the ball. There will also be a red line appearing at frame 1 which tells you that a key is already set.
After that, I moved on to frame 72 using the Time Slider, and move the ball to the other then of the green field. With the ball still selected, I press the hot key 'S' again. This will set the ball at frame 72. (the exact same thing but the ball is now at the other end of the field and on frame 72)
When I go to the start time and play the animation, the ball will move across the field from the starting point(frame 1) to the ending point(frame 72). However, the ball travels through the red fence still.
To make the ball fly over the fence, I would need to set another key in between the frames.
I go to frame 33(around half of 72), whereby the ball will be in the middle of the fence. I positioned the ball slightly above the fence and set a key using the hot key 'S' again. When I play back, the ball will now travel above the fence in an arc rather than just passing through it.
In order to make a ball bounce, I moved to frame 50 and its when the ball sits somewhere in the middle of the right side of the green field. I positioned the ball so that it touches the ground and set a key.
I go to frame 60 next. This time I moved the ball up again but lower than the height of the red fence. The ball will bounce after it crosses the red fence. However it looks unnatural and look more like sliding it off the ground and then flying up.
I then use the graph editor taught in the tutorial to sharpen my curves and make my bouncing look more natural and realistic.
I click the Graph Editor under Windows -> Animation Editors. From here I can edit the points and tangent or the curves at frame 50. There are also helpful functions such as Tangent > Linear and Break Tangents.
After all the tweaking from the graph editor, the ball now bounces more smoothly and naturally.
Reflections
This lesson of animation is fun and easy to follow. It taught me on the basics of animation which includes setting key frames and using the graph editor.
The part that amazes me the most is how using the graph editor to edit the tangents and curves could affect how the ball bounce behavior. It totally made the ball looked much more natural and realistic, which is what an animation is looking for.
Over all, I feel that all these basics will be very vital towards my animation work in the future.
Exercise 2
Bowling Ball Animation In Maya
This exercise is somewhat similar to lesson 1 except the bouncing behavior. This is because bowling ball has lesser bounce as its pretty heavy. The bounce will be weaker overall.
Squash & Stretch - Creating a Rig using Deformer
Firstly, I created a polygon sphere and grouped it twice using the Ctrl-G shortcut. Then I go to the Outliner window and changed the group names to translate_ball_gp and rotate_ball_gp respectively.
I'm now going to create the rig by using a deformer. I selected the translate_gp_ball group and Create Deformer > Nonlinear > Squash. Now there will have a green line in the middle of the sphere. In the Outliner window, there will be also a handle called squash1Handle.
Next, I will parent the squash1Handle to the translate_ball_gp group. In order to do this, I select the handle first, press Ctrl and select the translate_ball_gp group in the Outliner. Next I will just have to press "p" key to parent the group.
After that, I will need to lock away the unused channel attributes in the channel box for each group. For the translate_ball_gp group, I won't need to change rotation, scale or visibility for the group. I will be locking them by Shift Selecting them all as shown above and right click. Then I will select the Lock Selected.
Similarly I will be doing the same to my rotate_ball_gp, locking Translate, Scale and Visibility channel attributes and locking all attributes for ball as the attributes are not used.
I locked all channels except for rotate for squash1Handle. Under inputs, I changed the value of Max Expand Pos to 0.01. This will affect the deformation shape of the object and 0.01 is the lowest value for this attribute. The Factor value in squash1 of Inputs will affect the animation of the squash and stretch effect of a bouncing ball. As I am only using the Factor value, I am locking the rest of the values too.
Firstly, I simply created a ground plane for my ball to bounce. Next, I'm going to animate the bouncing ball.
I prepared my timeline to enable more frames to be seen so that keyframes can be setup for the bouncing ball animation.
I clicked frame 1 of the time line, then select translate_ball_gp. I then key in the selected values - Translate X = - 12, Translate Y = 5 and Translate Z = 0 and pressed "S' key. This will set a keyframe at frame 1.
At frame 100, I changed the Translate X to 12 and Translate Y to around 1.127(where the ball is touching the ground).
I followed this table here except for the value of ground being 1.127 instead of 0.5. I tweaked the animation using the Graph Editor by flattening and breaking of tangent of the peak and the valley of the curves to make it look more realistic due to gravity.
I adjusted the factor value under squash1Handle in the Outliner to created either an exaggerated stretched or squashed ball. Note that adjusting values greater than 1 or lesser than -1 for stretch and squash will create an over-exaggeration in the animation.
To show the rotation of the ball, I selected the rotate_ball_gp group. At frame 1, I set a keyframe with Rotate Z value of 0. Then I set another keyframe at Frame 100 with a Rotate Z value of -1200. I gave the ball a color shader by assigning a Checker 2D texture to it. Here is the playblast video.
Next, I will parent the squash1Handle to the translate_ball_gp group. In order to do this, I select the handle first, press Ctrl and select the translate_ball_gp group in the Outliner. Next I will just have to press "p" key to parent the group.
After that, I will need to lock away the unused channel attributes in the channel box for each group. For the translate_ball_gp group, I won't need to change rotation, scale or visibility for the group. I will be locking them by Shift Selecting them all as shown above and right click. Then I will select the Lock Selected.
Similarly I will be doing the same to my rotate_ball_gp, locking Translate, Scale and Visibility channel attributes and locking all attributes for ball as the attributes are not used.
I locked all channels except for rotate for squash1Handle. Under inputs, I changed the value of Max Expand Pos to 0.01. This will affect the deformation shape of the object and 0.01 is the lowest value for this attribute. The Factor value in squash1 of Inputs will affect the animation of the squash and stretch effect of a bouncing ball. As I am only using the Factor value, I am locking the rest of the values too.
Squash & Stretch - Animation
I prepared my timeline to enable more frames to be seen so that keyframes can be setup for the bouncing ball animation.
I clicked frame 1 of the time line, then select translate_ball_gp. I then key in the selected values - Translate X = - 12, Translate Y = 5 and Translate Z = 0 and pressed "S' key. This will set a keyframe at frame 1.
At frame 100, I changed the Translate X to 12 and Translate Y to around 1.127(where the ball is touching the ground).
| Keyframe No. | Translate X | Translate Y |
| 1 | -12 | 5 |
| 12 | -9 | 0.5 (ground) |
| 25 | -6.1 | 3.9 |
| 37 | -3 | 0.5 |
| 50 | -0.2 | 2.8 |
| 62 | 2.7 | 0.5 |
| 75 | 6 | 1.6 |
| 87 | 8.8 | 0.5 |
| 100 | 12 | 0.5 |
I followed this table here except for the value of ground being 1.127 instead of 0.5. I tweaked the animation using the Graph Editor by flattening and breaking of tangent of the peak and the valley of the curves to make it look more realistic due to gravity.
I adjusted the factor value under squash1Handle in the Outliner to created either an exaggerated stretched or squashed ball. Note that adjusting values greater than 1 or lesser than -1 for stretch and squash will create an over-exaggeration in the animation.
To show the rotation of the ball, I selected the rotate_ball_gp group. At frame 1, I set a keyframe with Rotate Z value of 0. Then I set another keyframe at Frame 100 with a Rotate Z value of -1200. I gave the ball a color shader by assigning a Checker 2D texture to it. Here is the playblast video.












No comments:
Post a Comment