Modular Rigging in Battlefield 3


Published on

For Battlefield 3, DICE took on its most difficult challenge so far. To raise the bar for character quality in games we developed our own deformation rig, combined it with the powerful ANT animation system (used in FIFA) and extensive motion capture usage. To create a believable experience we built and managed enormous amount of assets and ways of keeping these organized. The rigging process was one of the most challenging aspects of production, with the smallest change requiring an update for almost every single asset. With a modular rigging system and a flexible animation pipeline the production team could deliver on time and quality.

1 Comment
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Hi, my name is Johan Ramström. I am a technical animator/artist at dice, recently finished rigging on Battlefield 3. I have worked with animation and rigging for almost 10 years and have now spent 5 years of them at dice being involved with most of the games created at dice. Rigging for games have previously been very different from movies and high-end productions, but with the new Frostbite engine and ANT I would dare to say we have taken quite a step forward .. And this is what I'm going to talk to you about to day.
  • First I will go through the process of rigging in pre-production, what to keep in mind and how we did on Battlefield 3.The ”Character builder” is our main rigging tool which puts everything togetherFace poser, this is our animation pipeline and how we re-used animation on tons of facesThey way forward, what we learned and what we will continue developing upon-------But first, a little intro to what this presentation is all about, move time!
  • I’m sure everybody working with a creative product have experiences this, nothing is never finished, ever!Another classic, but it is SUPER important that everybody has signed off the rig when going into production. Changing this mid-production is extremely cost- and painful.Get your anatomy straight, talk to your Art Director about the rules of anatomy and how your concept will behave in motion. Rig a simple cube-man based on your concept and get sign-off early.And finally, YOU (in the rigging team) are responsible. Imagining and analyzing how concepts will move and interact with rest of the world is a hard job so make sure you prototype properly. During my years rigging I have recieved a lot of crazy concepts and cool ideas, some were possible to rig right away while some had to go back to the drawing board as it just didn’t work in motion.NOW, let’s take a look at the anatomic reference used in Battlefield 3!
  • The ”Character Builder” is our main rigging tool which handles all character rigging. It will list all rigs in the project and you have 3 options, ”Create New”, ”Edit Selected” and ”Rebuild”.
  • When editing a rig it will open the model file in it’s current state, without any changes made. The only option here is to choose ”Import Rig”.This will clear the scene of any existingskeleton nodes and bringing in the selected template skeleton and template controls.
  • In this step you go through all joints and controls and place them according to your model. When you click ”Save Rig” we export all your tweaks to separate mel-files containing position, rotation, scale and joint orients. These files are later used to rebuild the rig. The great thing about having user modifications in native maya mel files is that they work regardless of maya version and each file can easily be copied between rigs.
  • Next up is skinning. We used mayas native copy skinning enourmosly! This worked really well with a properly labelled skeleton. Copy between selected vertices, mirroring etc.All characters were initally copied from our anatomic reference to get a rough start and see model in game without spending too much time skinning an un-tested mesh. Skinning is also saved as a text-file with possibility to copy between characters and back up skinning work.
  • These are some of the most commonly used modules in Battlefield 3.We tried to keep them as generic as possible, this way we could reuse them on other rigs.
  • Some examples of using the shared modules. These rigs took just a few minutes to setup and ship off to animation. Great way of quickly prototyping and see how they behave in motion early.
  • Weapon builder share the same foundation as Character builder, as you can see we had quite a few weapons...
  • Weapon builder also allows you to define which keyable channels are to be used for each specific weapon
  • FacePoser, this module enabled us to use one single animation on multiple heads, and still tweak each animation to art direction.It saved us time and memory and increased quality on our facial animation.
  • It is based on the Facial Acting Coding System, which is used for categorizing emotions.Each head is given a set of poses to define, for example BrowUp, BrowDown, JawOpen etc...The animation that is then applied only consists of float attributes on each pose, so the animation tells the engine to, for example open the jaw by 60%.The game then drives the specific heads pose JawOpen and animates it.
  • When working with these poses we start with animation controls in Maya or MotionBuilder.These controls drive the float channel with driven keys connected from the controls.The pose library is tweaked in our FacePoser tool in Maya.The float channels are then connected via all driven keys into the the actual face joints.Now, lets take a look at how we record the facial data 
  • Being able to quickly load and save animation is extremely important, iteration is key!Automatic check-out from perforceApply motion capture onto your contorl rigBatch animation changes easilyRMB support is used every minute, every day!
  • Converting to Python has been a huge win, what you can do with python compared to MEL is fantastic!Even more modular, keeping things small makes it easier to debug problem and extend with even more functionalityWe would like to get our rigging process even more interactive, being able to launch specific modules at any time and see how the rig looks in Maya.Automated testing, when making changes it’s hard to find small errors, for example a jointOrder flip is hardly visible but will corrupt the data ingame when exported with.
  • Any questions?
  • Modular Rigging in Battlefield 3

    1. 1. › Rigging in pre-production› Character builder› Weapon builder› Face poser› Animation pipeline› The way forward
    2. 2. › Design WILL change › Make sure you rig can handle it› Keep it simple › Test your rig on animators and get feedback› Anatomy reference › Lock down the anatomy with Art Director › Show how concept art will behave in motion › YOU are responsible (Riggers)
    3. 3. Rigging modules used:› Grouping/hierarchy› Spine IK/FK› Head› Face Poser› Arm/Leg IK/FK
    4. 4. › Using shared rigging modules› Quickly rig and prototype
    5. 5. › Based on FACS› Each head has unique poses› Animation only contain attributes› Poses are loaded in game
    6. 6. › Quick load/save animation› Perforce integration› Import MotionCapture› Batch all animations› Right-click in Maya
    7. 7. › More Python› More Modular› Interactive building› Monkey farm unit testing