Maya is well known for its role in feature animation production, special effects and the video game industry. Indeed, when students enter one of my DMA Maya classes, it’s usually one of these three things that they are interested in pursuing. However, in addition to teaching the fundamentals of Maya, I also like to broaden students’ perspective about what it can be used for. That way, when students finish the class, they not only have an understanding of the software; they also have a lot more potential job titles they could be looking at.
In a previous post, I discussed the burgeoning field of Augmented Reality (AR), and how Maya was used to create some interactive AR exhibits at MSI Chicago. This technology is not only for static displays and cameras, however. There is a growing body of AR applications for mobile devices. Users place a card or some other marker on a tabletop and then point their mobile device’s camera at the target. On screen, graphics are superimposed on the live video and users can interact with these on screen graphics, and even play games with them.
Did you know that Maya is used to create South Park? That surprises a lot of people, probably because the show looks like it was created with paper cutouts. The truth of the matter is that it takes a lot of sophisticated work to make something look this crude. While the original pilot was made with cutouts, the demands of weekly television production soon dictated a digital workflow. The production quickly moved to Maya because of its robust animation tools and virtual camera. (If you’d like to read more about it, there’s a very good profile of the production on Apple’s website.)
What is data visualization? Data visualization is the art of turning information into something visible. We are all familiar with the charts and graphs in the newspaper or our science textbooks. It can be much more than just charts and graphs, and it can be much more than static 2D images. It can encompass 3D graphics, and some data is best visualized using time-based visuals, like animation and video. More and more, engineers and designers (among others) are turning to 3D software to make complex information come to life in a way that is both accessible and entertaining.
If you’ve got young kids, or if you just happen to watch Sesame Street nowadays, you’re probably familiar with one of the recurring segments called Elmo’s World. Elmo’s world is made to look like a child’s drawing, and it’s got a lot of whimsical elements – dancing desks, bouncing computers, etc. Elmo is a real puppet, but almost none of the elements around him are real. Elmo is performed in front of a blue screen, and then the background is filled in with a virtual set created in 3D. The moving furniture around him are actually digital puppets, performed in real-time with the real Elmo puppet. This approach isn’t unique to Sesame Street, as you can see from the example below. The puppets are manipulated in front of a blue screen, which is then replaced with a virtual forest set that is connected to match the moves of the real camera. It may be for kids, but like in the case of South Park, there is really sophisticated technology behind it.
In a future post, I’ll explore some more examples of alternative uses for Maya and 3D including motion graphics, non-photorealistic rendering, and even illustration. Until then, find some inspiration by perusing some of the work produced by users of Maya, as showcased on the Autodesk website.
Has this ever happened to you? You’ve just finished a marathon session putting the finishing touches on a project when (who else?) the client stops by with a lot of “helpful” revisions. All that time you put in, all the invitations you declined, all the social engagements you postponed, that Netflix rental lying on the top of the DVD player you put off watching… all those sacrifices wasted because now you’ve got to put even more time into this project. What a headache!
This is a real situation that many students and professionals face. In creative professions such as 3D animation, this is the norm. Work hard, critique, make changes, critique, undo those changes, and repeat. Now, if you work smart, this cycle of work and constructive feedback can actually help you make the best product possible. But if you don’t understand this cycle, you are just going to be frustrated in your efforts.
Fortunately, it’s not too difficult to work smart if you can remember one phrase – “one step at a time.” Whatever you’re tackling, whether it’s a screenplay or a website layout or a music video, it’s important to work in stages. This is called working “iteratively.”
Working in Stages
Since I teach the pro and teen Maya classes at DMA, I’ll take this general idea and apply it to the process of 3D modeling. 3D modeling, like any part of Maya, can be very complex, so it is even more important to work in a systematic way and give yourself room to backtrack if necessary, whether based on client/teacher feedback, or simply your own judgment. What that translates to in the context of modeling is: work with as little detail as possible, make some adjustments, add more detail, make some adjustments, add some final detail, make final adjustments, and smooth it out.
So, I share with you this cautionary tale from a university class I taught several years back. The project was to model an environment – architecture, some props, and some effects. It was the final project, and students had about a month to finish up their fairly complex scene.
One student, who did not understand the process of working iteratively, started working on a banana for a bowl of fruit that existed in the center of his scene. I urged him to do a rough pass on it, like a simple cube stretched out. Then he could return to it later, add a little bit more detail, fashion that into a closer approximation of the banana, and then move onto something else. Finally, he could come back, smooth it out, and that would be that.
Well, he didn’t really listen and, like so many novices, started out with an extremely high-resolution cube that he was nearly impossible to change except by moving each row of points, one at a time, to match the profile of the reference imagery he had imported. And that’s how he spent the rest of that class, face close to the screen, picking and moving, picking and moving, picking and moving. When I arrived to class the following week, there he was, hunched over, moving those points, and with hundreds to go before he was going to make it look like a real banana.
In the end, he spent hours and hours of his time working on that banana, and never really got to finish the rest of the scene. By the last week, it was really too late. The banana didn’t even look that great. Because all of those points had been moved individually, it ended up looking like a bumpy yellow root.
This poor student made a very common novice error. In 3D modeling, it’s tempting to try and jump to the end by adding lots of detail (i.e. points and edges) to a model because that’s what they look like when their finished – high-resolution geometry. But that’s a last step, not a first step. It’s important to work with as little detail as possible, getting the underlying structure and proportions and the contour of the model right before you start adding a lot of detail. You need to develop a workflow that accounts for change. The student in my story slipped on the proverbial (and literal) banana. You can avoid that fate by taking things one step at a time.
Continue the lesson here:
Learn Maya Animation – Bouncing Ball – Part 3
By Geoff Beatty
The saga continues…
In the first two installments of this tutorial, you learned how to create a pretty good, albeit generic, bouncing ball in Maya. The first part dealt with setting basic keyframes for position and rotation. The second part dealt with using the graph editor to shape those keyframes into a serviceable ball. Now, we turn our attention to making this ball look like something specific, like a baseball or a bowling ball or a beach ball or whatever.
Looking and Interpreting
As I mentioned in the previous installments, it’s always a good idea to find some reference footage (good) or shoot your own (better). I’ve included a youtube video below that has a lot of different types of balls being dropped or tossed. This is a really great example:
Now, what’s important is that we don’t just try to copy these exactly. That would be like tracing and tracings don’t really convey the character that we are going for. Better would be to look at some of the footage, frame by frame if possible, and determine what the overall qualities of the bouncing ball are. For instance, does its height decrease a little or a lot with each bounce? Does it squash a little bit when it hits the ground, or is it fairly rigid? Does it seem to hang in the air a bit, or is it a fairly fast bounce?
It’s important to figure this out, or at least decide what you’re going for before you start messing with your bounce. It would be very helpful in fact to sketch out your idea of what the bounce is going to look like. Don’t overplan it though. Have an attitude of experimentation and don’t be afraid to exaggerate.
Timing, Interpolation, and Squash and Stretch
There are two basic things that we will be adjusting. The first is the timing of the bounces. That involves moving keyframes around in the timeline or graph editor. The second thing is the interpolation between the keyframes. This is a graph editor only operation. We’re going to work with the in and out tangents of the keyframe to change the way the ball moves from one point to the next. Finally, depending on the example, we’re going to be adding some squash and stretch to the ball.
Just for the sake of this example, let’s pretend this ball is a beach ball. A beach ball moves fairly slowly, retains a high level of bounce, and is slightly squishy. Now how does that translate into Maya?
Our first step is to look at the placement of the keyframes. My generic ball is a little fast, so I’m going to go into the timeline and adjust the keyframes. I’m going to do that by SHIFT-LMB dragging in the timeline to select all the frames. You’ll notice that when I do that, it creates a red selection of the keyframes and also places some arrows at the middle and both ends. I’m going to pull on the right-most arrow, the circled one in the screenshot, to basically scale those keys out on the timeline so that they will be slower. For my taste, dragging it to 60 seems about right to me (before I go on, I’m going to right-click in the red area of the selected keyframes and choose “snap” – that will make sure all the keyframes are on whole numbers rather than half-frames).
That slows things down, but now I need to get the height decreasing believably from one bounce to the next. It’s not like a flat basketball, so it won’t be completely dead when it hits the ground, but it does decrease slightly. In the graph editor, I’m going to take the second and third “up” keyframes on the Translate Y attribute and move them down (remember to have the move tool selected). You may have to adjust the tangents on the “bounce” keyframes to maintain a nice curve (screenshot).
The last thing I’m going to add is some squash and stretch to the ball as it bounces. I’m going to add only a little bit, because too much will look strange. However, I urge you to experiment with it once you get started. You can get some pretty startling and funny results.
I’m going to advance the playhead to the frame just before the first bounce (in my case frame 12). I’m going to set a keyframe on the scale attributes by hitting SHIFT+R. Then I’m going to go to the next frame and using my scale tool, I’m going to scale it down in the Y-axis. You might have to compensate for it pulling off the floor by moving it down a bit. Then, I’m going to scale out in the X and Z axes because when you push down on any sort of ball, the sides push out. Next, I’m going to advance one more keyframe and scale the ball back to its normal state.
Although this one frame squash doesn’t seem like much, it adds a little spice of believability to something that would otherwise look remarkably generic. You can add it to the next two bounce frames, of course decreasing the amount of squash each time as the ball loses energy.
Well, you’ve reached the end of this tutorial, but you’ve got a lot of room to experiment now. Try different timings, interpolations, whatever. Don’t be afraid to exaggerate or make it look like it’s got a mind of its own. If you can make a plain old sphere look like something that it’s not, then you’re already on your way to becoming a great animator.
You can read more about Maya Animation here:
Have you read these additional posts about Maya Animation?
Classes for adult learners: Digital Media Academy Course List
Overnight and day summer camps for teens: Digital Media Academy Summer Camps for Teens
Day and sleepaway summer camps for kids: Digital Media Academy Summer Camps for PreTeen Kids
Click here summer camps for young children: Digital Media Academy Summer Camps for Kids
Learn Maya Animation – Bouncing Ball – Part 2
By Geoff Beatty
In last week’s exciting episode…
Part 1 of this tutorial taught you how to set some basic keyframes on a sphere as a first step in making a bouncing ball. However, we could only go so far in using the timeline for our animation. Instead of a bouncing ball, we got something that looked more like a floating, wavy ball (screenshot). This is obviously not acceptable. If we can put a man on the moon, then we should be able to make a ball look like it’s actually bouncing. To do this, we’ll need to dive into the graph editor.
Graph Editor and Setup
The Graph Editor is one of the most important interfaces for creating animation in Maya. The viewport and the timeline are great tools for quickly interacting with an object or character, but they’re not very good at letting you refine the motion. The Graph Editor, however, allows you to have a very high level of control over your keyframes as well as the interpolation between them. Although it may look confusing, it’s actually a pretty common interface among software packages, and most 3D and 2D animation tools have something very similar. I’m going to assume that you are already familiar with the basics of the graph editor, but if you aren’t, it might be a good time to read through some of the Autodesk documentation to familiarize yourself. I like to work with a viewport on top and the graph editor on the bottom, but you can work with any layout where you can view the object and the graph at the same time.
Working in the Graph Editor
- Select the ball in the viewport. You should then see the curves load into the graph editor and a list of the animated attributes on the left (screenshot).
- Go to your main menu and choose “Edit>Delete by Type>Static Channels (screenshot)” This eliminates keyframes on any of the attributes that have only one keyframe (in other words, they don’t have any animation on them). This will help weed out unimportant data from the Graph Editor, essentially uncluttering it for us.
- Select the Translate X attribute from the list on the left, and then marquee-select all the keys except for the first and the last (screenshot). Delete these keys (screenshot).
- Now select the Translate Y attribute and hit the “f” key in the graph to fit the curve to the window. Select the three keyframes at the top of the curve and, in the Graph Editor menu, choose “Tangents>Flat (screenshot).
- While we’re at it, let’s use our Move tool (and don’t forget that you need to use your middle mouse button with it – a common thing to forget) to give each of those upper keyframes a descending value, to mimic the way a ball loses altitude with each bounce (screenshot).
- Now, let’s select those bottom keyframes, the ones representing the point of contact with the ground. Go to the Graph Editor menu and choose “Keys>Break Tangents (screenshot).” This will allow us to change the in and out tangents of these keyframes separately. You can tell that they’re “broken” because one tangent is brown and the other one is blue.
- Using your Move tool (and middle mouse button) to orient the tangents more vertically (screenshot).
Why Did We Do What We Did?
In Step 3, deleting the middle keys gives us a simple linear interpolation between the first and last keyframe. This simple line (as opposed the uneven line before) signifies a constant velocity for the ball as it travels from left to right. If we were to look at some reference, we would see that, until a ball stops bouncing and begins to roll, it retains a fairly constant velocity in whatever direction it was thrown.
In Step 4, we “flattened” the tangents. Just as straight lines define a constant velocity, flattening out the tangents of a curve give us an “ease in” and an “ease out” for a given motion. This mimics the way that a ball gets slower as it approaches the top of its arc, and then accelerates as it approaches the ground.
In Steps 6 and 7, we adjusted the tangents of the contact frames so that they would look more like an actual bounce than the “floating” that was happening in the previous iteration. It’s like the physics of a pool ball – the angle of incidence equals the angle of reflection.
In the next installment of the tutorial, we’ll take a look at some of the refinements you can make to the animation to give it real character. This might be a good time to take some more video or look at more reference footage. You might even start seeing how this applies.
Maya Animation Continued Reading:
Start at the beginning: Part 1: Learn Maya Animation
Read here next: Part 3: Learn Maya Animation
A detailed study: Learning Maya Animation One Step at a Time
Click here for classes for adults: Digital Media Academy Course List
Click here summer camps for teens: Digital Media Academy Summer Camps for Teens
Click here summer camps for kids: Digital Media Academy Summer Camps for PreTeen Kids
Click here summer camps for young children: Digital Media Academy Summer Camps for Kids
Learn Maya Animation – Bouncing Ball – Part 1
By Geoff Beatty
The bouncing ball exercise has been a staple of animation classes for a long time. While it’s true that it’s not something you see too often in the professional world (with the exception of this wonderful Pixar/Sesame Street short and this very funny Aardman bit, it’s actually a very helpful exercise. That’s because it is a great distillation of so many animation principles. It addresses, in simplified form, the very same challenges of animating something more complex like, say, a character. That’s why we’re going to go through the process of animating a bouncing ball in Maya. Follow along if you’d like to learn to animate with Maya.
This tutorial will be in three parts. The first will address the basics of setting the keyframes on the ball so that it moves through space. The second part will then take those initial keyframes and make a pretty decent generic-looking bouncing ball out of them. Finally, the third part will take that generic-looking ball and tweak it so that it looks like something more specific, like a beach ball or a baseball.
First things first, though. Before we can animate a believable bouncing ball, we need to know how an actual bouncing ball reacts when it bounces. You can do this yourself by videotaping a ball and playing back the footage frame by frame. I always encourage my student to feel free to put their scientist caps on for a moment and experiment with balls of different materials, weights, etc. This will come in very handy for the second part of this tutorial when we will be making our ball move like it’s actually made of something other than pixels.
If you don’t have the time or ability to videotape a bouncing ball, then I would suggest looking for some good photographic or video reference on the web. One example is this great photograph of a basketball that I got from Wikipedia:
Okay, now we are ready to get started in Maya (I’m assuming you know the interface somewhat – if not, then you should read through some of the Autodesk Maya documentation and introductory tutorials). First, we need to make sure we have the viewport and timeline showing. Let’s give ourselves enough time for a decent animation, say, 60 frames (if we need more, we can add it later). Also, it will be easier if we have auto-key mode set to “on.” The only other element we need is a ball. Create either a polygonal or NURBS sphere. Size and placement doesn’t matter.
- Start on frame 1. Set the viewport to the front view. Move sphere somewhere up (+Y) and to the left (-X), somewhere “up in the air” as a starting place. Press “s” to set a keyframe for all the attributes (screenshot).
- Now, move ahead in the timeline to frame 9 (just an arbitrary choice – we’ll adjust timing later). Move the ball down (-Y) and to the right (+X) so that it looks like it’s hitting the “ground.” The auto-key setting should automatically set a keyframe on the changed values (screenshot).
- Move ahead to frame 17 and once again move the ball upward (+Y) and to the right (+X) so that it looks like it’s in the air again (screenshot).
- Move forward to frame 25 and move the ball down (-Y) and to the right (+X) so that it is on the ground again (screenshot).
- Repeat the last couple steps, putting the ball in the air at frame 33 and on the ground again at frame 41 (screenshot).
Pause and Evaluate
Okay, now play back the animation. Hmm, moving through space at the correct points, but doesn’t look like a bouncing ball, more like a floating ball. Let’s use one of Maya’s tools to sow how the ball is moving through space. In our “Animation” menu set, under the “Animation” menu, there is something called “Create Motion Trail.” Click on the options and set it to ”line” and “show frame numbers (screenshot).” With the ball selected (important!), click on “Create Motion Trail” and you should see a line describing the movement of the ball through space. You can see it makes a wavy shape (screenshot), but we need something that is more like a bouncing shape, a series of arches. To do that, we’ll have to open and work with animation curves in the graph editor. That will be part 2 of this tutorial.
Continue the lesson here:
Ready to enroll in classes for Maya Animation or other summer camps? Please visit the Digital Media Academy site for scheduling details.
Here are the classes for adults: Digital Media Academy Course List
Here are the summer camps for teens: Digital Media Academy Summer Camps for Teens
Here are the summer camps for kids: Digital Media Academy Summer Camps for PreTeen Kids
Here are the summer camp for young children: Digital Media Academy Summer Camps for Kids
By Geoff Beatty, Lead Maya Instructor – DMA @ UPENN
One of the most rewarding parts of teaching is opening doors for my students. At the beginning of each class, I literally unlock the door to the computer lab, turn the lights on, and lead my students in. But in a more meaningful sense, I enjoy being the one (or one of many) who introduces them to a new medium, a new set of tools for creating imagery and telling stories. The part of that experience that is especially gratifying is seeing my students making connections between their respective backgrounds (e.g. illustration, music, graphic design) and this newfound world of 3D modeling and animation.
Last year, during DMA’s Maya sessions at the University of Pennsylvania campus, I had the wonderful opportunity to teach an amazingly diverse group. Among that group, there was the middle-aged illustrator from the midwest, learning a new skill. There was the recent art school graduate with a graphic design degree. There was the home-schooled high-schooler with an interest in visualization. And there was the teenage musician and composer with a talent for digital imagery.
Each person brought a unique sensability and focus to their study of Maya. And I can truly say that by the end, there were just as many unique 3D creations. The characters, environments, and animations they made each reflected a personal vision. And this is what I consider the strength of both the software, Maya, and the type of course I was teaching at DMA. My duty as an instructor was two-fold. First, I introduced students to the basics of the software. This included both the explicit features and the implicit workflow, which is the proper process and sequence for using those features. Secondly, I attempted to build on that foundational and common knowledge by guiding each student to a point where they could begin to use that tool to fulfill a personal interest or vision.
This ends up being the point at which I grow too as a 3D artist and instructor. DMA courses bring together such a variety of students that it ends up being an antidote to the homogeneity common to most 3D classrooms. I learn new things every time I interact with my students. My experience last summer was so gratifying in that respect that I couldn’t turn up the chance to teach again. I look forward to opening doors, turning on lights, and having my students do the same for me.