Modular Rigging in Battlefield 3
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Slide 1 MODULAR RIGGING IN BATTLEFIELD 3 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. 1 Rigging in pre-production Character builder Weapon builder Face poser Animation pipeline The way forward AGENDA 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 together Face poser, this is our animation pipeline and how we re-used animation on tons of faces They 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! 2 MOVIE TIME! 3 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) Rigging in pre-production 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! 4 Rigging in pre-production We started with buying a scanned human model. This way we were completely sure the anatomy would be correct. We even bought a scanned human skeleton used in medicin education to make sure our joint placement were spot on. Here you can see the joint placement and all secondary deformation joints required to make him believable. The final skeleton in-game landed on 211 joints. Quite a few joints with 64 players on the screen (13504). 5 Character Builder 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”. 6 Character Builder 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 existing skeleton nodes and bringing in the selected template skeleton and template controls. 7 Character Builder 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. 8 Character Builder 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. 9 Character Builder Rigging modules used: Grouping/hierarchy Spine IK/FK Head Face Poser Arm/Leg IK/FK 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. 10 Character Builder Using shared rigging modules Quickly rig and prototype 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. 11 Weapon Builder Weapon builder share the same foundation as Character builder, as you can see we had quite a few weapons... 12 Weapon Builder Weapon builder also allows you to define which keyable channels are to be used for each specific weapon 13 Face Poser 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. 14 Face Poser Based on FACS Each head has unique poses Animation only contain attributes Poses are loaded in game 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. 15 Face Poser 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 16 Face Poser - Movie Animation pipeline Quick load/save animation Perforce integration Import MotionCapture Batch all animations Right-click in Maya Being able to quickly load and save animation is extremely important, iteration is key! Automatic check-out from perforce Apply motion capture onto your contorl rig Batch animation changes easily RMB support is used every minute, every day! 18 Way forward More Python More Modular Interactive building Monkey farm unit testing WAY FORWARD 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 functionality We 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. 20 THANK YOU! [email protected] Any questions? 21