Thursday, 28 February 2013

Getting Moving with Motion

So with rigging out of the way, I move on to the animation of the project. With 5 characters to choose from I was spoiled for choice on what to start with. In service of practicality I decided to start with the Fae, as I had recently finished the rig. This gave me the chance to test out the rig, and make sure there are no quick fixes to be made before the other animators get around to it.

As I did the Dragon rig first, there was little point starting with the animation on it, as it has been pretty extensively tested by the anim team, who've been using it for a couple of weeks now. The results seem positive, and I've picked up a few ideas on what to do and what not to do from observing how they've been using it. Mostly, I've found the more viewport controls there are the better, and that the vast majority aren't using the filled controllers, so in most cases they won't be justifiable in terms of the time they take to set up.

But anyway, on to animation! I started out with the death animation. My first run wasn't going too great, so I stripped it back and restructured it. The second version works a lot better, I think, and has a lot more force to it. This willbe the basis for the death for high power impacts, like the centaur attacks or the Bark Basher hit.

Next I started on the sprint animation. I wanted to really push this one as its got to be an exaggerated difference from the regular run animation. I think the basic idea is working, but the animation itself needs a lot of cleaning up and sorting out. At the minute his hips and torso seem to be some kind of separate entities. The feet are doing odd floppy things at the moment too but I'll keep working at it.

A start at an animation where the player loses balance after the Bark Basher hits the ground. It didn't really work. But it is amusing.

Monday, 25 February 2013

Inspiration: Lionhead Studios

One of the areas I looked to for inspiration on Echoes was Lionhead studios, creators and custodians of the Fable franchise. Their art style is a fantastic mix of exaggeration and classic British sensibilities, and I love the way their animation style matches it perfectly.

Lionhead have a long legacy in the British game industry. Starting out as a breakaway group from Bullfrog Games; makes of beloved classics such as Frogger and Theme Hospital, they produced excellent games in franchises with a great cult following. In 2006, they were acquired by Microsoft and their Fable series became a flagship title for the Xbox consoles.

The first of their games I played was the god simulator; black and white 2, and later the Fable games. Throughout  all their games, Lionhead maintain a consistent visual style and theme. Their games downplay menu navigation in favour of focussing on the art and animation, which strongly contrasts the usual design of strategy and role-playing games.

In my work on Echoes, I want to utilise this same emphasis; keeping the art primary to the game, and not having it subsumed beneath the nitty gritty of gameplay elements. Lionhead’s aesthetic for animation also suits Echoes well, with a chunky, solid feel which helps to place it within the game, and make it feel more alive.

Saturday, 23 February 2013

Mega Update: Rigging

I haven't posted anything in a good while now, so I should get back into the swing of things. To that end, I'm going update here with a chunk of what I've been up to in my studies.

We're now in production for Major Project, for which we have to produce a volume of work, split into four sections. My four sections are rigging, two sets of game animation, and some unity development. Currently I've finished rigging, and am moving on to animation, which I'm stuck into at the minute.

For this rigging section, I've rigged two of the characters for Echoes: the dragon and the player character. As I was working on a tight time budget (for me at least) of two weeks max for each, neither are as fleshed out as they perhaps could be, but I think I managed to get a fair amount of features in so the animators shouldn't have problems.

The first character I rigged was Ruth Beresford's excellent dragon. He's a nippy little dragon, rather than a hulking beast, with a bunch of fun design features; the frills in particular being great fun to set up.

Overall I was pretty pleased with the dragon. He's fairly feature intensive, with a few things I'd not done before. I wasn't sure the best process for animating the dragon, but I assumed FK wings and legs would be default in the air. When he landed he'll move like a quadruped, so IK wings and legs would be needed. Not knowing the best course for everything I gave him IK/FK wings, legs, spine and tail.

I also tried to keep the rig as simple as possible, but also give the animators full control. The frills for example, are controlled by just one rotating controller that pops them up and down through set driven keys attached to it's rotation. The finer detail bones can also be controlled by switching on Manual Feather Control too, in case the animators need them separately for something.

For the chest and wings I decided to try to create variable parenting. For the chest in particular, I wanted to give the animators the option to have it follow the hips, making it easier to offset. I set it up with hypershade nodes and condition statements to create a 3 way switch setup to control parent weights.

Another feature I used with the dragon rig is filled controllers. I found these were much easier to select on the fly, as they had a larger surface area than the usual nurbs curves. The drawback was that they took a lot of space up, and made it harder to see the model. They also took a lot of time to set up, as I had twice as many shape nodes to deal with. I thought the best approach would be to create them for the dragon, and have a switch to turn them on or off. Then I could just observe the animators using it and see how many found them useful.

The most challenging things to rig were the wings. They were a complex system that I'd not rigged before, and I found it particularly difficult to make them curl in without clipping. I got decent furl/unfurl and curl in controls going in the end, mostly through the Ruth's excellent topology work.


The second rig I made was for the player character, modelled by Dean Paupe. Having done bipeds before in Maya, I was less daunted by this character than the dragon. The player character rig is a little less feature intensive, but it still contains a few little bits to help animate.

The key things that differentiate the fae are his legs and his staff. I played around with a number of leg setups, to cover the IK chain with maximum control. However, in the end I found the proportions of the model were suited to just having a three-joint IK chain with a pole vector controller to twist.

The staff required a few tricks to get right. Essentially I knew that to animate attacks etc the best option would be to animate the staff and have IK hands follow. To this end, I needed to be able to snap the hands to the staff.

The solution was a simple parent constraint weighting set-up. My main criticism is that this is reliant on the transforms being zeroed, so it takes some manual interpolation to take hands off the staff after a complex motion.

A little testing also showed me the need for motion trails that originate at the ends of the staff, in order to allow nice clean curves. I simply placed nodes at each end of the staff for this purpose.

I also needed to attach the staff to his back when he's not using it. This essentially works in the same way as the hand snap, with a slight edit in that it also scales the staff down slightly. The purpose is to make it less obtrusive, and though we were originally wary of scaling it, the scaling was much less obvious to an outside observer than we thought.


For both rigs, I also created an IK/FK limb snapping script. I found that when animating the little girl, a lot of the animators were finding it problematic to manually match the arms up when they wanted to swap between. I had a limited experience of MEL scripting, having created simple workflow tools to help me out previously.

There were two parts to learn here, the first was how to actually perform the snapping operation. I did this following a tutorial by Zeth Willie, who explained the concepts behind the vector operations incredibly well. The tutorial was in Python, and I converted it to MEL for my usage. Not due to any views on script superiority, I just wanted to get to grips with MEL syntax better, as its the more complex of the two. Converting the language did help me to better understand what I was scripting, as it makes it impossible to simply copy it out. I got stumped a few times on syntax issues (the difference between ` and ' being a nuisance I found to a beginner MEL scripter).

The second thing to learn was the ui creation, which was much simpler than I'd anticipated. The scripting required was pretty simple, and I managed to make a UI that suited my needs reasonably quickly. I then linked up the scripts by creating sequences of commands for each button. They select the appropriate controller, and then run the appropriate procedure. As the scripts define their object variables using message attributes, I was able to make the script work for both the Dragon and Fae rigs.

Saturday, 9 February 2013

Pre-production Produced

Pre-production is finished! So now we can move on to the meat of the project. Pre-production went pretty well, although I lost a crucial file containing all my rig diagrams on submission day, which will no doubt be a knock to my grade. Other than that, hopefully it went pretty well, though I likely could have balanced my workload into the grading areas better.

Friday, 1 February 2013

Genevieve's Games

As I'm currently waiting for models to rig, I'm getting started on a little bit of blocking out for the little girl. The character was an interesting one to animate. My initial impulse would be to animate her playfully, but the character in Echoes is supposed to be an almost immortal being, with an ambiguous past. The main focus of the character is the juxtaposition of these aspects, and the interplay of her mischievous demeanor and her sinister motivations. She leads the player into more and more dangerous situations, but also appears like a cute little child, so we want the player to be confused about how to view her.

The first clip is a simple wave from on top of a fountain. I'm not really too pleased with this one, I need to rebuild it to have more body motion and weight. I posted it here to show what I'll be working on, but its very early days idea blocking really.

The second clip is her playing on the ruins in the level. We wanted to get the girl interacting with the environment as much as possible, so this was a good way of achieving this. I quite like the animation overall, as its big enough to read well (the player will be relatively far off when they see it). The main problem is the occasional jerkiness and some unusual poses. I'll iron these out and finalize the animation in the coming weeks. For now though, I'll be leaving this to work on some other blocks.