Monday, August 9, 2010

Camera Animation

Here are some quick notes on how I approach camera animation for some of my previous sequences. I'm no expert at this but thought I'd share since I received a couple of questions about this in my last post.
________________________________________________________________________________________


To begin, if there are storyboards, use those as a starting point since that's what the director is probably expecting. If there aren't any storyboards, then I'll:

  1. Start by loosely blocking in characters. If it's a more complicated sequence, I might block in the camera with characters translating in bindpose for the entire sequence, then show to director for approval.
  2. After characters are roughed in, I'll then rough in the camera (use maya default cam, change rotation order to zxy).
  3. Then the back and forth process: refine poses to camera angles, tweak camera angles to showcase pose better. Concentrate on framing during this stage.
  4. Next, animate characters, taking it out of first-pass animation.
  5. Get motion of camera to track action right (key all channels of camera, no offsetting).
  6. When camera anim is at a pretty solid first-pass, transfer camera keys to the camera rig. Reason is I then get access to more layers, attributes, and features to play around with for polish (if the rig supports it that is).
  7. Polish with camera shakes and camera noise (handheld look) last.
________________________________________________________________________________________


Things I try to think about:

  • Framing of course.
  • When tracking moving character don't just lock on and follow. Also think about how the character is moving relative to the 2d screen space and frame.
  • Lag camera when tracking movement.
  • For fast movement it's ok to have character (or most of character..can't remember which) go off screen for a frame or 2 (can't remember if 2 was ok...guess just experiment). Shout out to my friend Austin who gave me that quick tip a while back, it always stuck with me.
  • I like to cut on impact sometimes. We weren't allow to use camera cuts for finishing moves, so I cheated by "punching" (translating) in during impact (2 or 3 frames).
  • Don't go too crazy with camera. Common mistake (hopefully I didn't do it)
  • Make sure you track fast action accurately (maybe even use tangents). Smoothly animated characters could look jerky if camera is not tracking well. On the converse a camera that's too "locked-on" might make the character look weightless.
  • Use camera to cheat wherever you can (to save time and only if it doesn't take away from the sequence). I used this a lot. I'll try to give specific examples in another post.
  • If you don't see it, don't animate it, just try to have the character still work in 3d space in case they decide the camera should be pull out farther. (again examples later)
  • For games, camera cuts are perfect to hide characters sliding when transitioning from player controlled to scripted events.
  • Camera shake (on different node or layer).
  • Don't go crazy with shake.
  • For camera shakes, translate keys usually have a higher frequency (for hit-impacts) and with quicker fall-off (imo). When hitting ground with massive character, then maybe a bit longer (maybe 'cause earth is actually shaking?).
  • Add a bit of rotation for shakes as well. Rotates can last a little bit longer (just a little).
  • I try to accentuate the translate channel of the main action that's causing it. example: if character is slamming straight down, translate Y of camera shake is greater that the other 2 trans channels.
  • Handheld camera anim on different node (and usually animated last).
  • I tend to animate tangents a bit more for cameras, esp slow moving pans, etc.
  • I like tilting the cam, hopefully I didn't over do it. I use it to get a character to be higher in frame (very useful for Dante/ Death sequences since Death is literally twice Dante's height in game). Used it during Phlegyas sequence, trying to imagine that if i was on the guy with a camera on his back, I'd be off balance.
________________________________________________________________________________________


Hope these notes weren't too loose. If they don't make sense, I'll try to clean up later. And remember, use at your own risk--I could be totally wrong here:)

Saturday, July 17, 2010

Inferno Animation

It's been too long...
Here's a few quick-n-dirty video captures of some of my contribution to Dante's Inferno.
____________________________________________________________________________________________


For the Death boss fight, I was responsible for all of Death's game-play animation (download the demo to see more). In this clip, I didn't animate Dante, except for the Death grab mini-game where Death holds him up by the neck. In that specific sequence (which includes the kick-off), I was responsible for animating both Death and Dante, as well as the camera.

Dante's Inferno Animation: Death from TJ Phan on Vimeo.

____________________________________________________________________________________________


In this next clip I animated both characters, as well as the camera. For the record though, there's extra in-game procedural camera movement on-top of my hand-keyed camera which, imo, might be giving it a little too much wobble during certain segments.

Dante's Inferno Animation: Death Finishers from TJ Phan on Vimeo.

____________________________________________________________________________________________


Moving on to these enemy finishers, I animated both characters and the camera. The camera anims didn't come out exactly how I wanted since it was somewhat of a difficult process to get Maya cameras to transfer over to in-game cameras. We eventually got a TD to write a melscript, but this was before that. Basically I had to set some keys, move the camera blindly in Maya, export it into the game, go back into Maya to adjust, repeat...kinda wish I could redo them a bit. Due to technical constraints, we also couldn't move the camera during the "cross-to-the-face" button mash segment. That's why it feels a bit static during that moment. Also, the original intent of the first cross-absolve move was to blast off the head only, but we were told that wasn't going to pass certification in certain regions.

Dante's Inferno Animation: Guard Finishers from TJ Phan on Vimeo.

____________________________________________________________________________________________


Next up is the Trails of St. Lucia. This was a DLC for the main game where you could create your own trials and upload for others to play. St. Lucia was the new playable character that came with the DLC. I got to animate roughly 80% of her move-set. As for the anims shown in this video, I animated all of them, except for when she gets knocked back by the horned enemy (around 00:32). I did not animate any of the enemies shown in the video.

Btw, I participated in a little Q and A session about St. Lucia a while back. Click here to read.

Dante's Inferno Animation: St. Lucia from TJ Phan on Vimeo.

____________________________________________________________________________________________


For this next eye-stab sequence, I animated both characters and the camera.

Dante's Inferno Animation: King Minos from TJ Phan on Vimeo.

____________________________________________________________________________________________


And again in this last sequence, I animated both characters and the camera. I didn't animate the little flying enemies in the beginning.

Dante's Inferno Animation: Phlegyas from TJ Phan on Vimeo.


There you have it...for better or worse, those were some of my work from the last game. Sorry for the low capture quality (just trying to hide my anim mistakes).

Also, I was thinking about maybe following up later with a little post-mortem for each clip--maybe talk about some of the challenges that came up for each or some of the tricks used to meet those challenges...I don't know...maybe...
____________________________________________________________________________________________


Lastly, I figured the timing was right to post since earlier this week, we all bid fair well to Vince Napoli as he moves down to SoCal to start new adventures.

"A good friend and an even better captain..." he was our lead combat designer on Inferno, the guy who was responsible for a huge portion of the fun stuff that made it into the game. He's also the designer that managed to finally convince me that I could have more anticipation in my attack anims and still have it feel responsive. Hopefully I was able to convince him in the end that ninja's are cool!