[Music] thank you for coming today my name is camille chu i'm the art animation lead at monolith productions and with me today is sean peel our advanced animator we're going to talk about the process of creating the multi-character combat animations in middle earth shadow of war or what could also be known as the pursuit of murdering a lot of orcs so if you have any adversity to violence there is a little bit in this show so feel free to vamuska if it offends you so our goals today are just to give you a little insight behind the curtain and what we do in the monolith pipeline and share knowledge so hopefully you come away with a couple of nuggets you can use i'll start off with talking about what shadow of war was and what the multi-character combat animations were to us our goals in achieving those animations and the challenges they presented with us and then we'll talk about a plane of attack for overcoming those challenges and then i'll pass it off to john to do an animation tools process and deep dive
so shadow of war was a action rpg released last year by monolith and it was the sequel the shadow of mordor the player controls two characters set in tolkien's landscape italian and keller brimbore in their conquest for middle earth and their fight against sauron and so in case anybody is unfamiliar with content we created a quick video to familiarize yourself [Music] [Applause] [Music] so [Music]
so [Music] yay [Music] there was a lot of animation in the video but what are the multi-character combat animations in there so particularly what we're going to talk about today is what monolith calls our sync actions which is any action in the game in which we snap the two players together in order to perform uh two animations in perfect alignment and synchronicity uh we use this a lot for uh motions where we want the players to or the characters to grapple with each other or get a particular weapon into a certain part of the body part and they're very different from the non-sync actions you can see on the left italian would look perfectly great performing that action all by himself or if there's an orc in the
in the vicinity whereas he's going to look really funny if he performs the one on the right by himself so understand why they were important to us i just want to talk about some of the goals that we had in creating those sync actions the two of them that were really important to us was that we wanted to take the player into the heart of darkness we wanted them to be able to become the monster to the monsters and the sync actions allowed us to explore some really brutal and grotesque uh performances so allowed us to really take them to that monstrous area and then in the consumer values area we wanted the player to really experience visceral lethal combat and predator gameplay and so when i first heard that i thought i understood what it meant but it really is because of the tone that people would say visceral as i need the combat to be visceral i need the animation to be more visceral camille and so around the 50th time that i heard that i realized that i should go to the internet and find out exactly what that means and so it means coming from strong
emotions and not from logic or reason we wanted to evoke strong emotions from the player when playing this game and we had a lot of birds in flight in order to do that some people might have heard about the nemesis system chris hoagy is going to be giving a talk later this week it's awesome he's going to deep dive into it but in a nutshell it's a system designed to provoke strong player emotions through these long-term interactions with the orcs player commitment and time will allow them to interact and interface with these orcs and special ways and evoke those those strong emotions but it was a very logical system and we want to be able to drop the player in the game and basically get to see any of these faces on them within the first 10 minutes of playing combat so how are we going to do that so we took a lot of inspiration from the arkham formula and here's a video just basic combat player hitting x to attack y to counter b to stun a to dodge and this felt really great it was really fun but it was
missing that spike that moment to really bring the player into the moment and so here's a comparative video with uh the edition same combat but with the addition of the sync actions the execution pool so you can see it really added this moment to break up the rhythm of combat and had that crescendo moment to dive that camera in there and really allow that player to experience that brutal monstrous visceral moment in combat and we knew that we had hit that moment of success when we were in a company playthrough and a new sync action came on the on the projector and everybody in the room goes and so we felt like we had found a pretty good recipe to success and the sink actions were definitely going to be a key ingredient but we they presented some challenges the multi-character combat sink actions are expensive and time consuming to create from a content creation standpoint it's understandably going to take a lot longer to animate those two characters struggling against each other than that basic swing
from an integration standpoint it's going to be a lot more intense on everybody down the pipe too the designers to integrate it the camera team to present that animation the audio team to really accentuate that moment and the effects team to make all that custom effects additionally it's going to be very hard to it's going to it's going to have a lot of things that can go wrong with it what if the player is against a ledge or one of the characters start on a box or the terrain is uneven there's a lot can go wrong with those sync actions and so we had to dedicate quite a bit of time and make sure that they worked i think it was probably one of our lead engineers last three months of the pipeline just troubleshooting and making sure those things look sweet in game additionally our team is not the biggest we're not small but we were pretty small in comparison to some of the games that we're trying to compete against and we're going to need a lot of them we shipped with around 1200 between just the player and the orc alone
and we had to support a lot of different entry conditions our presentation team established early that they didn't want to use camera cuts because it was too jarring to the player to have that camera whip ripped away from them so you know if we animate the player grabbing the orc by the front and stabbing him in the belly but the player attacked him from behind it's going to look really jarring if we whip that that orc around for that sync action so we're going to need to support sink actions from the front from the back if they're on all fours on the ground the left right front back we're going to be able to attack them from above and below there's going to be a lot of entry conditions that we have to support additionally we're going to need a lot of variety we're creating these animations with the intent of being memorable so they're going to get really repetitive if we don't have a huge amount of variety the player can trigger these off pretty rapidly in game play so a lot of variety in order to avoid the repetition and we need to support all aspects of design design doesn't
just want this in the combat pool they're going to want it in range and they're going to want it in stealth they're going to want the player's abilities to have these as well as they enter through progressions they can feel more powerful as they play and the player is going to have lots of different weapon types and the orcs are going to have lots of different weapon types so we're going to have to support all those overall with 1200 1200 animations between the player and the orc alone if they take around three days to produce the animation team is going to be doing nothing but sync actions between the orcs and the player alone and obviously we need to make the rest of the game within three year period so we need a plan of attack how are we going to make this happen on a production standpoint and a scope standpoint and our first plan of attack was motion capture i know there is probably a contingent of animators that motion capture is not the most exciting plan of attack because i was one of them many years ago but i'm here to say no
motion capture really is awesome when i first came to monolith and i saw how they were utilizing the motion capture systems i was really in awe and i became a convert a single strike animation or a single run animation was always very precious to me and to make that beautiful is beautiful and it's a work of art but what's also beautiful is to make that run look really good in game while the player's jamming left and right on the controller and diving that player up and down a hill and juking left and right at any point our player run animation can be blending between eight to twelve other animations in order to make the player run smoothly we couldn't have done this without motion capture the the motion capture allowed us to support the movement the player movement was over 2956 animations alone so a single animation is not your art the game is your art having that animation actually play well and support the player
experience look and feel good that's amazing and the motion capture is just another tool for creating your art so i'm not here to convince you about motion capture though we're here to tell you about what we did with motion capture that helped us achieve our goals and so one of the things that we did that was unique at monolith is that our motion capture studio was on site and this made all the difference benefits are exponential we didn't need to book any shoots in advance if anybody's ever worked with an off-site studio you know that you have to book months weeks in advance and usually you have to book at least a day maybe your half day if you're lucky so we could shoot and capture at any time we could have a meeting with our designers in the morning and then the animator could uh animate and capture later that afternoon they might have the data the following day and have that uh animation over the designer for integration later in that 48-hour cycle so we took that concept to integration time we really
were able to compress it which meant we got the animations in game faster and we got to iterate more which was better additionally we got to do smaller more focused shoots this really alleviated some of the pressure on the actors if even if you hire a professional actor or a professional athlete around hour three four they're going to be really tired if they're performing some really hefty combat actions so because we could do smaller shoots and we could break them up consecutively into days our actors performances were better additionally it minimizes the time consuming pre-planning required for off-site shoots if you have an off-site shoot you'll probably have the actors maybe some expensive actors in the room and you're gonna have the directors uh then you're gonna have the mocap team and then maybe you might have some stuntmen and then you might have your combat choreographer and some safety personnel and caterers so it quickly becomes very expensive to be in
that room so you're going to spend a lot of time outside of that room making sure that you have everything down because in that room is not the time for you to be figuring out your choreography and your plan because we had our shoot on site we could do small shoots they were very focused and our pre-planning process was very short and sometimes we even shot and pre-planned in the motion capture room because everybody that we needed for information was on site so if we forgot if the sword ended in italian's hand or if he was supposed to be sheathed at the end of it we could just stick our heads out the room and ask the designer that was down the hall so the other thing that was super uh unique about monolith motion capture pipeline is that our animators are the actors so i know what you're thinking [Music] and he wouldn't be wrong usually normally a studio would hire professional martial artists to perform their combat animations because if you put an amateur in a suit the data is going to look amateur but luckily monolith somehow collected
a giant suite of personnel animators that are as talented at animating as they are at combat performance and acting uh right here is patrick weegee he's got over two decades of martial arts and weapon training he brought a lot of the combat choreography into shadow of mordor and shadow of war and he's he's a real life italian yeah some of their fun oh that was the warg one yeah mark cassio was another one of our mainstays he comes from a military background john van dusen is this big giant hulking animator and we get him to do our balrog and our old log stuff and the big guy stuff our new recruit jay vargas really rounds us out and additionally we got guys on the presentation team that are fantastic actors so basically everyone on the animation team has been in the suit at one point or another if they're not in the suit then they're probably on the sideline directing the shoots the animators are the actors and the directors
these have so many benefits nobody knows what the source material for the motion capture should be better than the person who's actually using it the animator and our animators talk directly to the designers and they make the specs and the fine details that that animation is going to need in order to be best in the game so the animators are able to direct the motion capture and use it as a tool to make the animations the best that they can be for the game they know where to cut corners they might say you know i only really need that front movement and the end because i know that there's already an animation and game that i made that can do that middle and i don't really need the weapon to be captured because i'll just hand key that so we really know how to do it the most efficiently so here's an example of uh josh paraventi directing a shoot of italian uh killing a drake so there he is he's jumping up on the drake back and now the drake's rolling firing he's going to cut off his head oh nice job
so let's see it in game in maya nice so josh really used the motion capture to maximize his uh use of time within that task he utilized the mocap to capture italian's portion and then he could focus on doing the hand key of the drake with his time time remaining because we haven't figured out how to motion capture a drake faster than we can handkey it so success right we've figured out a pipeline which we can take animations that usually took us around three to four days and compressed it down to an average of about a day and a day and a half so we're sleek animating machines so that's enough right not really almost we ended up shipping with close to 2500 sink actions in total for the game so even at 1.5 days we're still doing nothing but sync actions for
almost two years even if we add more animators into the pit until we can't fit into our cubicles anymore which we did it's still not enough so we need another plan of attack we need another one it's going to be outsourcing so we had two avenues to try and maximize the outsourcing and we're going to try them both at once and one of them was we were going to just take our process because we loved it and it was so successful with us and just find very good sets that we could send to the outsourcers and own and take as a whole we hoped that this would be useful but it ended up taking a little bit more time to manage than it would have taken us to do it in-house we abandoned that process instead we tried our plan b which is where we mock up the source and house and then we sent it to the outsourcers to complete from a hole so here's an example of some raw mocap that we would have sent out to play
there we go so you can see there's uh you know this is just the raw mocap uh no no choices on timing or posing has really been done we expect the outsourcers to be able to make all those calls we'll write a little summary but overall we we're just going to send them an example of 60 insta kills that we've already done ourselves and ask them to match the style and this came out pretty good we got really good results from this one but the animators on intaking were still presenting uh having to do a couple hours on on the backend in order to intake it just to get it to match that style that timing perfectly and so some of the animators started playing around with just doing a quick time scale pass they would use the time scale tool which uh champion will talk about in a little bit but within that that hour that quick hour they would be able to establish some really important timing and posing to give to those outsourcers and with this process we found we got
really good results and actually is very reminiscent of a process that a lot of us are probably familiar with the classic 2d pipeline your senior animators lay the key poses and they do the timing pass and then they hand it off to the more junior animators perhaps to do the cleanup and the finish and so that's actually how we ended up utilizing our outsourcers our internal animators would do the concept the timing the posing and then send it to the outsourcers for finish we got really good results that way so as a recap we had some pretty ambitious goals the multi-character combat sync actions were important component for us achieving those goals and they presented a lot of challenges during in terms of scope but the monolith motion capture pipeline supported us and the rapid creation of those concept concepts and source materials and the additional outsourcing lent us huge relief and finally we felt like we had a pathway to success that we could support our game
not just the sink actions but everything else but i've left out a huge part of the of the important part of the pipeline which is plane of attack number three which is having excellent animation so that the animations being created can be created to the highest quality and to the highest efficiency so this um thank you very much i'll pass it on to john peel who will take us through the animation pipeline thanks camille so i've been in monolith for a little over 15 years now and i'm really really proud to have been uh part of the team on projects like matrix matrix online uh fear two condemned uh shadow of mordor shadow of war and uh today we're going to look at sort of a day in the life of one of these combat sync actions uh from a an authoring process i've chosen a sample one of our senior animators mark cassio you saw him doing a lot of the the falling and
playing the orc and some of that mocap footage and sort of an overview of how this part of the talk is going to proceed i'm going to talk first about something that's unique to monolith how we use our game data as the source we don't save maya scenes we don't back up my uh files or build rigs up front we pull data right into the in from the game data and build our scenes from scratch the monolith tab panel and our tool set that allows us to have this two-way information flow between our working space and our game data our maya tool set and some of the neat tricks and and sort of our philosophy of how we deal with animation polish and using motion capture the motion encoding and process for synchronized actions or sync actions just sort of the nuts and bolts digesting this data for the engine getting it ready to go key strings and game data markup the point at which the confluence of all the different departments work sort of joins with the animation data
and make something better than the sum of its parts and uh finally look at the results and a runtime presentation of this sample sync action so we'll go back to the mocap studio here and take a look at the the shot we're going to focus on uh mark cassio's playing the orc and patrick huichi is playing uh italian and you can see this is probably the the third or fourth uh take of this one motion that they will often do a couple takes where they're sort of wrapped up in proximity with each other but often it's better to separate out especially in this case this is going to be a severing sink action so his legs are going to get cut off at the knees and and patrick's able to hit these big poses and make these big swings without worrying about hitting mark or having to to avoid what won't be there in the final product so going back to monoliths using our game data as source just to talk a little more in depth about it
our animation polish our our data right out of the mocap studio is in the game ready format it's called a model nm file we store all the takes of a mocap session within a single file and it's viewable with our our uh custom tools uh the model edit tool will allow us to preview that motion we'll take a look at that in just a moment uh as a byproduct of this our animators stay up to date with the state of that animation in the engine so if any changes get made if we hand it off early and combat designers do a timing pass or trim part of the animation any of those early editorial processes especially if we haven't moved on the polish phase we're up to date with any of the work that's been done by any other department that coincides with that action um yeah as i said all departments have instant access to the the animations once we've handed them off so if the audio department needs to get in there and start marking up the sounds or most often the combat designers need to get in there and make sure that
everything all the damage key strings and windows are happening where they need to happen and this is a look at one of our uh proprietary tools model edit it's been around since uh probably the first fear game and uh it's really sort of the confluence of uh all of the developers work on any animation we're looking at uh motion capture data in this but we'll look at some finish game data in this format later on and yeah and any developer on the team who installs our tool set has this tool they don't need to have maya to look at animations and we can preview multiple takes or a pretty dense set of animation data to uh yeah take a look and decide what we're going to use in a lot of cases another sort of happy by-product of moving our source material to this game-ready data is that if we need to make a big change and we actually did about a third of the way through this project we went and revisited the structure of the layout of our character's hand finger
bones and so our character artists did a new sculpt on talion's hands and the orcs hands we share a skeleton and our very talented technical artist frank shorts went in and reconfigured the layout of those fingers get better posing better waiting and uh almost overnight i think it was over a weekend but we took all those changes batched them through did the model geometry updates and had everyone back on the same page with pretty substantial change to our base biped skeleton layout without anyone missing a beat sorry i should move to that hand slide a little earlier like that so a little bit in association with the tab panel the way we work with our source data is the philosophy of the tools that we've adopted at monolith on this project and on many other projects since motion capture is sort of our our common approach that we've optimized our workflow for motion capture
this dense data we don't try to strip it away we don't try to take the noise out of it we want to preserve what's great about the motion capture which is that sort of natural noise so as a result we don't start with an upfront regular rig that's trying to do everything right out of the gate we take a more modular approach or an on-demand rigging approach if you need ik you build ik right onto the core skeleton work with that bake out from under it um our focus really is on speed uh control and what i like to call direct interactions i don't like to bury the result of the animation or the pose that you're getting under multiple attributes on multiple controls and things wrestling for the state of control really if you're going to move into using ik you're in ik mode if you need to go back to ik bake it off go back to working fk sorry we accommodate a bring your best tools approach since really we start and end with a skeleton and data on the bones rotation and
translation data on the bones then if an animator comes in or if we see a new tool or we see a new rig or some new feature in maya we can bring that right into the mix because we can just incorporate it into uh an as needed approach to uh applying the best tool for the job and as a byproduct of this of working with mocap and of working with this applying and removing tools processes that you have to be okay with baking your keys on and off all the time so can't get too precious about your curve handles and your your sparse keying but there are you'll see in a step don't don't worry we we really push into posing we really push into timing it's just a different methodology they call it a destructive workflow it always kind of hurts my feelings but yeah we'll we'll get into it um and we are not uh particularly geared towards from scratch animations although uh we've done well with it and or or
quadrupeds but really our animation team is so senior and so talented i mean you saw with the drake earlier they can you can throw any challenge at them and they're very uh they'll do whatever it takes to get results and they're sort of used to if they need to do it they need to drill down to selecting things right out of the hyper graph they'll get in there they'll make it work so this is a little bit of a sizzle reel of some some of the sort of novel ways of abstracting the data that we've developed as part of our tool set so really no one is forced to work with any of these and most of these things we're looking at are not even going to be covered as the aspect of mark's work on cleaning up this sync action but we have things like mirroring and we have things like abstracting the root of the character's motion to a center of mass and ik on the knees and you know just all kinds of novel approaches that when you need them they're great to have most of the time you don't need them or sometimes you forget you have them but it really is sort of like a utility belt
or or you know just just a tool box of different ways of manipulating the data putting things on as you need them baking them right back off and getting into a control scheme that you're more familiar with or that's easier to achieve the stretch of the motion that you need to work with i want to this last one is a little little oh sorry there are a few more to go i kind of rushed through that but um yeah we work with uh cross-fading animation blending loading multiple characters into scenes and uh even things like big drag doll sim uh sort of leverage the nvidia physics system to do that kind of stuff it's fun throwing keragor ragdolls into the air so now we'll take a look at actually using uh these great monolith tools and the tab panel to construct a scene from scratch or the game data so we're going to do a real time uh look at bringing a scene into being importing the characters weapons materials and animations that we're going to need to start working on this
motion capture data so on the left is a tool that queries our game database for the characters that are available to us their materials and their geometry their uh basic scale in the game and the weapon that they'll typically hold and yeah i know we're watching a progress part but it gets better italian gets pulled into the scene with all of his materials and he's ready he's ready to go he's skinned he's got a skeleton we build center out for our bounding boxes so i'm going to build a dim dimensions box that's indicative of that i've added a tool to build proxy shapes under the bone shape data so that essentially those geometry boxes are the same thing as your bones in the scene so you can directly select them manipulate them and band select them in your scene and it just gives better runtime performance and next i'll pull in our second participant in the scene which is the york and i think we missed it a little bit but our name spacing approach is a a little bit uh uh
it's it's strange but it's efficient we underscore as in putting a an underscore at the prefix of the character that is in our primary character in the scene so if we have two characters one is going to be null and everything in his geometry one is going to be underscore null and everything that follows in his hierarchy and we can switch the focus between our primary characters is of the button press so we don't uh our import export tools don't really handle name spacing all that well and name spacing was really tough to deal with until a couple years ago so that that is our efficient means of swapping between several characters in the scene and everyone has an easy time working that way and and developing that mindset uh so now uh through the actual tab panel we've been using its functionality but that window that we opened is going to pull in the animation data from our motion capture shoot first loading onto the york it took a while because the orc was brought in at scale our native scale for an orc infantry in
the game is 110 percent of italian's height so all of our biped characters share a skeleton and they share a common scale orcs are italian's height at their native state but in the game and in our scenes we'll often scale them up to 110 because at uh sort of their generic height they're taller and when we have a scaled character in the scene we have to re-encode their motion encoding to uh make sure that we're pulling in data at a native scale making it to a bigger character and when it goes back out it's getting baked back to a native scale we'll look a little bit more at that later so back to marxi now we've assembled the maya scene from all the game data and we're ready to roll with the mocap his first step is going to be trimming and positioning that rough take in mocap this is where he isolates the key stretch in the motion and is going to move the roots of the characters to block in those key points of interaction
you're going to see a lot of foot sliding from here so on the left is uh the motion as it was shot in the motion capture space on the right is the rough alignment really bringing those key points of the action in but there's let me try to loop this again all right well we'll hope the next one loops so the time scale tool camille talked about it a little bit earlier and it's very similar to uh well it actually predates the maya scene time scale by uh several years it was first uh brought up in in our studio as a way of cleaning up noise from our mocap data by moving the actual uh keyed animation to physical splines in the scene that we could then run smooth curve operations on but here we take those splines and we uh use them to drive a unifying time scale attribute on a character selection so it can be an entire character part of the character we can run multiple time scale attributes within a scene and this is where we really start to
assert our vision as animators we yeah as camille mentioned earlier this timing pass is super important for establishing rhythm the weight the power the impact of that raw motion and it precedes any focus on posing layers or fussing with ik contact points or foot locking or anything we're seeing pretty loose and we're staying free to uh push poses well in this case really push timing we're not even dealing with posing here's a look at actually working with that time scale attributes so that tangled mess of splines in the center are actually the nerve splines that are driving locators that are representative of every animation track on the character every one of them represents either translation or rotation track and we've slaved a single attribute to drive all those locators along the path and we can mark those key points in the animation and then work with the spacing on the keys work with the curved handles just any way you want to manipulate the data it is packages have started to
incorporate more and better ways to deal with scaling motion or scaling playback speed on animations but uh our in-house solution again gives us the flexibility we need and it actually has quite a bit of the key string data that lives on the root of our characters it needs to ride along with this respacing so uh it's the best way we've found to manage that and we'll look at where mark has arrived after his time skill passed on the sync action so already you can see that the uh oh darn i really am going to need to get this to loop sorry success all right so we'll let this play through a few times and sort of let it register that uh that beginning motion as as great as the acting was in the studio and really you know our our actors our animators have got a flare for the theatricality of these these uh attack motions but really that punching
up of the timing is where it starts to solidify the power and impact and weight and speed of these things and rhythm really so next we would typically move on to layer and blocking in those key poses still not worrying about locking down ik handles or applying rigs or doing anything to interfere with this very direct expression of where we want the key aspects of that motion to read the most important part of where we're making decisions as animators for how the final presentation is motion is going to happen so determine the key selling points of the action uh continue nudging those characters further refining the proximity of the two to each other still allowing for foots lining maintaining that motion capture is a base layer again that's a very important part of the consistency of our style on the team if we start clear cutting motion capture noise or significantly altering things by cutting things out of the motion
we may start to get deviations in the read and finally if there are key poses that we need to blend to or animated states looping states or branching sync actions this is where we start to blend in those important poses so here's a look at mark's scene before and after the pose layer adjustment not as extreme a change as that timing adjustment but really starting to make the key line of sight and those points of contact really read so we'll take a little bit of a detour into now this modular rigging approach there are several flavors of ik that we'll use now that we are happy with the posing and happy with the timing we're going to start locking things down relative to the world and relative the characters are relative to each other so the first and most common approach will be to bake an ik rig onto the character so this this first look at it we'll we'll see um
it's a pretty vanilla mocap setup you know i build an ik handle to the ankle there's a pole vector since we're preserving the motion uh we we don't ever get rid of any of the underlying motion we do maintain uh an attribute on the pole vector handle that tracks the upper and lower x rotation if there is any on the limb because it's very important sometimes we need to break or twist those characters along their limbs and we don't want to pave over that motion just because we're using ik and then uh i added a way to move the ik handle down to the ball of the foot so it becomes a little more manageable at the toe and you can get some more complex interaction but again it's it's nothing new the the thing that is sort of novel about it is that it doesn't have to be there from the get-go we can pull in a raw character into the scene and he can have ik whenever we decide he needs it and bake it off when we're when we're done looking at a little more of a special case interaction in the scene uh i've applied ik to just the left arm or sorry the right arm that has the
sword and this is one of the uh nice features of our suite of tools is that it's very easy to change the object space of our controls so in this case i've selected a vertex at the tip of the sword where he's driving it into the ground it's going to be the parent of the ik handles motion on his right arm so if i plant a stretch of that it's going to plant the sword in the ground we can blend into and out of that state and then we can key any sort of wiggle off of that bake right out from under it and we're back to a garden variety ik setup really a lot of our tricks are shifting things off to locators locking portions of the character out to world space or orient locking them to an object space or in this case moving ik handle pivots to either other parts of other characters or other portions of the character's extremities in the scene it's also on-demand ik one of the things that sort of breaks my heart anytime someone comes into a rigorous environment as they'll
they'll grab the end of a limb pull it off into space and sort of detach the hand it's a little scary to me and you know if you've worked with the character studio or those kind of fully featured rigs it's something you really enjoy having so we added that through script jobs to our tool set so through the picker window you can build an ik handle that doesn't bake a full-time dedicated ik layer onto them it just gives you a temporary way of controlling and adjusting the pose with an end effector with a pole vector and even the ability to move the parent relative to the end space of that ring and again it's just a great way of cheating these poses on layers or pushing poses on layers and yeah part of the bring your own best approach to the situation philosophy we've adopted and finally there's a humanik rig this is one of those things where i see the things that humanik can do i know i'm not going to be able to build something that amazing and complex and
comprehensive so why not just incorporate it into the the available functions of our tool set so it really was a simple matter of just writing a script to characterize our standard biped skeleton bake it to maya's uh version of the human ik rig and here uh one our principal animator patrick weijie is demoing pushing a pose on a layer using human ik so using all the features such as uh the space locking uh full body ik yeah all the really again the nice fully featured comprehensive aspects of a rigging system like that but again we don't want to be a slave to a rig like that we don't want to have one paradigm for working with data because a lot of times you know you have a tougher time drilling down to the way you want to control the pose with a fully featured rig it intervenes in ways you don't want it to so great for some purposes not for all purposes but we do roll it into the way we work
so to recap i know i went off on a tangent about ik we've seen the trimming and positioning of the rom mode cap the time scale pass altering posing on layers pushing those key moments in the animation now we've seen the ik cleanup on the hands and feet and let's see where mark arrived after that so moonwalking talion is no more and these key parts of the action are really uh sorry i'm going to need to figure out how to get this to loop again all right let's give it a shot one moment and we're back so italian's sliding he's really grounded now his feet are locked that that stabbed through the head is sinking in
there and staying planted and he's pulling it out mark has even made a major adjustment to uh i went oh sorry next slide we'll see back to the primary motion capture cleanup here we're seeing the difference between pre-ik post ik just a little bit of work that remains and that is things like finger animation further polish additional smaller details working general to specific really it's like sketchy good it's looping so i've gone all the way back to the original mocap here so you can see how how far we've come excuse the interruption getting good at this hold on so really we started with great data but we've enhanced it every step of the way to something that really is paying off in
both the speed the lethal feeling and and just the ferocity of this final read and it helps when mark dresses up his scene with flying limbs that's not a requirement of authoring this in in the game we will actually be spawning those giblets but uh it's it's great as a preview for sure so on to some of the the less animation driven things but more the practical aspects of bringing this into the game data format look at motion encoding these so an important part of making sync actions function is that each character tracks the location of their counterpart in the synchronized action so each character carries something called an attach node and that is used to track the world space position of their counterpart in the sink action if one of them runs into trouble grinding up against a wall getting pushed against a ledge or moving into a space that is dangerous for them or is going to have them looking like they don't belong they can actually push their counterpart out away from the obstacle
so back to our model edit tool to look at how motion encoding looks in the format of our exported animation that first stretch is watching the animation play in space i click the key that allows us to see the motion encoding in action and now the orc is moving as he would in the game and watching his bounding box tracking his position in the world i'm going to unhide the skeleton in this tool so we can actually track what that attach node is doing it'll show up as that yellow point on the screen that's representative of where italian is going to be during the entirety of this synchronized combat action so you can see the facing and positioning of where the player character is going to be and how he's going to get latched onto the orc and how they're going to be paired in playback during run time so uh i love talking about this target character scale in the game i talked a little earlier about orcs and how they're 110 percent of italian scale but they really use a shared skeleton so everyone off it gets authored italian
size but runtime not only do we have standard org scales but we have a range of variety within those arc scales we can have an orc inventory that's 105 of human size or 115 or if he's a captain 120 we have orcs of every shape and size they all share a skeleton and they all have to align during sync actions so at run time we force the scale of the character during sync actions and got a nice illustration of it here three archers in the world those numbers that are floating over their center are representative of their native scale as newly spawned ai one guy was at 90 percent one guy was at 92 percent another guy's at 97 percent but if you watch as these sync actions are happening first the attack that he's doing you see that scale quickly scale up and lock during the entirety of that interaction and here where italian seizes the orc to brand him he gets locked at that 1.1 scale
but as he's released slowly scales back to his original 0.9 size we hide at both ends of the scale locking where we very quickly scale to that desired sync action size and then after we release them we allow them to slowly drift back to the scale that they should be in the game this is where the other departments start to get involved with the data now we've exported it out to model edit we have things called key strings they're markup in the game data that our combat designers will put in again about attack windows or exit windows or when damage is applied or when hit colliders are enabled our effects department things like blood trails sword swooshes uh all the gore even uh the the severed limbs our audio key strings again you know without sound these these things really aren't going to pay off and now our audio guys really make these things
sound intense um our combat face key strings the animation team will come back in and we'll define these uh preset poses for the faces preset animated looping states for characters and we try to sell the extremes winces grimaces screams yells anger uh you know that that slide with all the the emotions the intensity of these emotions and then presentation our uh realization department are the guys who really make these things at run time pay off as a cinematic experience they'll bring in slow motion they'll bring in camera movement and they'll really do their best to sell these as really special moments in the game so here's a look at key strings in the context again of our model edit tool and model edit i should say i'm spending a lot of time bouncing back to this we do have better tools that show our characters textured and actually with the game data it just happens that this as such a simple tool really becomes the the confluence of a lot of the different
departments work on these markups all the little green ticks if you can see at the bottom of the screen are representative of some comment or some action that a department has specified or even a multitude of uh on a single frame uh semicolon separated uh scripts that tell the engine something about how this is to play back all right finally let's see this uh amazing sync action in context in the game you'll see it from quite a few [Music] give it a second let me exit out of here boy i don't i don't want to steal the thunder in that one hold on bear with me please and let's give that another try
sorry mark [Music] all right sorry about that let me go right to the folder and let's try playing that sucker if i can just find that you know what i'm not even gonna attempt it let's just play it [Music] and we'll see this from a number of camera angles same thing actually but it looks new every time i see [Music] all right thanks [Applause]
and let me get my mouse back and let's get back to the presentation so we can finish up these slides come on back there we go i know you guys have got it on your screen i don't know but online yet well thanks for the applause break i guess that really is uh the the end of our uh talk about the tools and uh i really don't want to miss this slide though because i'm going to tell you about the other talks that monolith is doing some really good ones be sure not to miss um the ones you see listed on the screen i i got to see a few of them as part of practice and i i learned something new from all of them so it's a they're really informative and well worth attending uh monolith games is starting to higher so uh yeah we're starting pre-production on something new so uh yeah hit us up check
out our website that is our contact information uh thank you so much for attending this was a lot of fun and i guess we'll start the q a section [Applause] hey hey i've got a couple questions sure uh you mentioned using humanik for some of your control ratio uh did you also use that to import your mocap files or your mocap data onto your skeletons oh so uh no the the um once we move out of uh motionbuilder which we actually do use uh i guess hume9k in its motionbuilder format to process uh our motion analysis uh skeleton onto our character skeleton but really once we move it out of there as an fbx file we have a batch process that actually retranslates that data to our model anim format so it's really just bone animation data so we start with just
rotations and translations on the character skeleton if we want human ik back in the maya context that's uh that's our business to layer it back on when we need it awesome uh and then the other one that i had is camera angles did you guys animate multiple cameras or something that all handled engine side yes uh our our realization department uh when they focus on one of the sync actions they will author multiple uh angles of attack for for them to play back in the context of the game because if there are visual obstructions or you know parts of the character they can't swing around to when they need to they have several fallback options falling even all the way back to just the game camera if they can't find a cinematic camera that operates in in the space that it needs to but uh yeah they'll author two or three different takes and uh have those all available uh at run time awesome thank you for the question yeah hi hi um it's great i think the game is a great so i have a question about the um the
mocap and and the size of the skeleton so you said all the skeletons could be shared but uh there's a lot of different sides of the arc so during so is it just one skeleton it drives our character artists a little crazy sometimes to have to conform to this shared biped but really from our skinniest scrawny historic to our our portly orcs um they all have italian skeleton and and uh again frank shorts is a wiz at uh skin weighting so he makes it all work on on the singular format we did do a trick with uh female characters uh our eltario dlc and even her character in the game is able to share a lot of italians animations our engineers our gameplay engineers give gave us this great tool that allowed us to scale out her shoulders or scale in her shoulders so when she's idling when she's moving around she has a more feminine silhouette and when she needs to be italian and reach what
italian can reach climbing or doing some of the sink actions we let her shoulders be really broad and again like the york scaling no one seems to give us a hard time about it so yeah everyone's happy all right thank you thank you hey yeah um really cool tool thanks um so really interested in the on-demand rigging i've been trying to push that for a while but the two main pushbacks i'm getting is one we're not riggers we're animators sure yeah and the second one is we don't work with baked animation so yeah that that is that really is sort of the deal with the devil that you have to make with with this approach to the tools is that you you can't be precious about your key key spacing so um you know what once once you embrace that layers give you the kind of control you typically want to to focus on the key aspects of the motion the the way that you don't have to worry about clearing other things out of the way to do i think once it sort of becomes the
philosophy of the way you you manage the data it becomes a much easier mindset to embrace it yeah you have to prove it in order to be able to show them as to yeah and and the aspect of uh they don't want to be riggers it really it's a button press to put ik on to whatever limb you want or multiple limbs so they aren't they aren't fussing with worrying about you know building handles or controls it's there when they want it and baked right back off when when they want to be back in in the fk space so that brings me on to a second question sorry um when is there a single button press i'm assuming there's um relatively straightforward metadata within the skeleton to be able to mark up to say okay well you should share this on so forth yes yeah uh so so uh with the shared skeleton we have names uh that that are consistent throughout our bipedal characters so i leverage that a lot i'm kind of a lazy scripter where if i can reference something by name and i don't need to abstract it i will but um
we do we mirror the behavior of the bones in our skeleton so we flip those axes where we want to and again helps with the direct control and not worrying worrying about what is it like to manage raising both arms when you don't have a nice rig but it also lets us differentiate left and right behavior very easily cool thank you thank you hi my question is regarding to creatures oh sure uh i know that you can make a moccasin with creatures so how do you manage uh the specific the creatures animation and think animation with this oh sure do you want to talk a little more about animating creatures camille has worked with and has given me a lot of great feedback on what it's like to animate with the drake in particular she did some pretty intense capture i don't know if that works oh yeah sorry we utilize a lot of the same tools tool set except we're not using base animation as our source so we're still
using that rip-on off a tool set we'll bring in our quadruped you know caregor and throw on whatever tool set ik feet we can um have the pivots and stuff like that we can change them on the fly um and animate very much at a classic sense for the for the quadrupeds to animate like a hanky yep yeah yes we did we did try to mocap the carigor but we didn't quite get there thank you thank you hi are we out of time so we're out of time uh yeah we'll we'll be here if you want to come up but thanks so much everybody for hanging around
Auto-generated captions from YouTube — names and numbers may be misheard.
Game Developers Conference · 2026
Game Developers Conference · 2026
Game Developers Conference · 2021
Comments