IK Rig: Procedural Pose Animation

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
I am Alexander Marisnick of Ubisoft and today I'm going to talk about the tech I developed at ubisoft that I've named the IKEA I was asked to start with some info on the speaker and I did a little research I thirteen years in industry worked on a bunch of projects in a bunch of studios past three years I'm technical art director of Ubisoft Toronto now some of you have seen the original reveal talk from Vienna conference last year some of you have not so I will do a short recap before I proceed to the new cool stuff I started working at Ubisoft on the title that I can't disclose because we just didn't denounce it yet then I move to another title which is under NDA for now and to troll you guys even more I won't tell you about my two current titles and if you think that's a very boring folio just wait till the announcement days for these guys because it won't be as boring when you see what's behind the black boxes so for now we're going to have a friend dai give you hints you speculate we wait to help you speculate I just want to remind you what Ubisoft has recently shipped or announced and I was just to give you some itty-bitty ideas some disclaimers before we begin so I'm talking about the tech that's quite fresh I came up with this idea about a year ago and it was for one of the unannounced project and right now it's sort of a kind of forum spreading through several projects IKEA has passed proof of concept made it to run time implementation now now we're looking where else to apply it I'm not going to disclose anything that's secret which is like 90% of what we do and I will not mention any project names or details I can't show you the footage from unannounced stuff so today's examples are not related to specific titles I'm not here to announce one game I'm here to talk about the tech that's going to be working in a number of games so today we're talking generic and I prepared a bunch of examples where actual assets are hidden or replaced by placeholders so today we talk about the principles used effects on design effects on the pipeline and we talked about how you guys can try this at home disclaimer number two you will see a number of examples which are intentionally exaggerated so for example when I say we can take human motion and turn it into octopus riding a bicycle I do it I show it it illustrates a certain solution doesn't mean that whenever you need to have a creature like this moving you have to use the IKEA no you're welcome to go on and mocap a t-rex doing just that that's up to you I use these examples to talk about possible use cases to demonstrate possible applications do's and don'ts don't sew rabbits will run and octopuses will ride what is the IKEA IKEA rig is a systemic animation approach it's a principle attack developed to let us do more with animations and first thing is unbinding animation from rigs so a unified language sort of a thing a system that will bring all animation data of similar characters to one shared form secondly we move away from animation in keyframes we start animating their animations and we control the way our characters behave at runtime in the engine we create behavioral rules that can be mixed together to produce a wide variety of animations all in all it's retargeting 2.0 done on the fly with direct and immediate reaction to changes in environment character stats whatever happens at this moment in the game this is the most important slide incidentally it's the most boring slide you guys will want me to rewind to this couple minutes from now I promise you so IP rig is the text solution for converting the animation of any rig into a satify to change application of context-aware modifications to those jeans and implication of the result to any other rig where the runtime are offline so you have your source your motion capture rig you map it to the ikea unified structure using is mapping all the animation can be converted without any loss of data within the idea we can CC to modify the parameters of what happens with limbs and character as a whole we create sets of rules to explain what to do at any particular situation and then we can mix and match we can apply these changes on top of other changes so for example if one of the rules teaches the character walking character to crouch and other rule teaches the character to aim a gun third rule transforms male walk into female walk the combination will take male walk into a crouching aim in female this is actually elementary rocket science and I love it not because it's complicated but I love it because it's simple let's take a look at something simple the leg so our usual leg made of three bones plus all the small secondary things some of the problems we face here are first of all secondary animations for muscles and stuff like this if we bake them they will not really be working at the game during the runtime if we have a rag doll for example secondly we have a bunch of transforms but they have little meaning we can blend them but those position rotation of each of the bones in the chain don't really tell us much about what's going on finally most importantly our rigs and animations are bound together so you can't change the rig because the number of bones their names their hierarchy their sizes they must be content for this animation to play properly if you really want to change the radio can of course we target andrey import this way the update involves the offline loop a plus you need to maintain consistency between all results of all of your targets simple fact is we just need a couple of things to move this wag assuming it's planar we need the start position when in the target position rotation and we need the direction of the knee you understand these can be easily received from mocap you just need to map bones to nodes that's it that's basic retargeting extra bones such as twists they don't have to be animated are fine when we use the bones which have soft skin geometry geometry Susskind to them and we can animate them using constraints as we play so the accurate definition is mapping of bone rig to the IKEA directly in the engine once it's mapped all the animations be throw to this bone rig will be playable on the rigs which have been mapped to the unified structure so in this example the blue leg is the default config everything else is running exactly the same animation but on different fix this is possible because each of those rigs have been has been mapped what constitutes a casual rig so we have active bones for body data hands feet we have twist bones we have small bones four fingers and face secondary constraint muscle bones different nodes pivots for root capsule proper - meant and so on in case of IKEA rib bones can be the same but we're not working with bones after we have mapped them okay we're working with their IKEA nodes so there are two chains IP chains for hands two chains four legs one for spine one for head that's it so what what we do is we create one IKEA rig per character type as in biped quadruped add bird fish we create mesh with skin two bones just like we would normally do but now we don't fit the model to the rig as we often do instead we fit to reach each rib to each model so the look and proportions of each character are driven by the concept and by the character artist and not by shared rig when we export import in the engine we have the accurate definition tool which we use we map the bones to the full body a key to hike a chains everything else all the small bones are constrained and ran directly you can the engine at runtime all the extra bones they don't have to be shared we can have different bone setups for different characters we can add or remove them as we please and we don't need to rebait any data let me just briefly go over the most common constraints because they will come in handy later on first of all we have the position constraint which is super useful when there's multiple parents for example cowboy one position parent can be his moving hands from the animation another one is his holster now if I constrain something between them I can at any moment move the hand to the holster position orientation constrain much the same way if I have I want to add a tail I can take throat Asians of upper thighs and the pelvis to rotate the starting part of the tail so far so good look at of course what we usually do to aim our guns but I also like to use it to aim the head in a conversation and again we need to do this at runtime we don't need to bake this spring and dampen for with all flapping pieces we are using it right now as isolated example I like to use this within my character add this secondary motion tremblin curve to throw in arbitrary curves that we want or maybe take a sign of time and driver driven so for example one transform of one bone effects different type of transform of different bones I want to note that for most cases where few constraints are actually required so over constrained case like this there's only 5% of what we see animated is the actual bones everything else is constrained we don't usually need this in our games such cases would really never happen but it's good to keep in mind we can LOD up and down as much as we want and again we don't need to re-import we export anything if you want to add new stuff move into the character but we want to do more than simply share the animations we want to change them so to the naked eye it may appear that it's the same animation and it is the key difference here is that the left character is running 35 bones and the right character is run in the same animation but it's the IKEA rig format they're not different they should not be different by default without any changes that we've introduced we should have exactly full quality that animator expected to have that that was invested in the start in there now now we've defined this rig as Ikea right so we can start changing in old behaviors as they play the animations the income income animations can be received from just the key frames in your 3d software in alpha in case or which is more fun we can take the result that the blend machine spits out and modify that right as we play so now we have this accurate definition we can have some fun with it but yeah our original base animation is always there so any change we have is just a rule that I threw in I explained that I want different havior from start and nose of the thing and by controlling the behavior of these targets for hands spine feet I can do whatever I want I can modify the existing style of motion I can create a new style for specific case I have control over footsteps over hand arcs more importantly yes we can throw in new nodes and start animating to those nodes to create some new behavior I call such sets of modifications the IKEA rules there may be a rule teaching a character to Crouch may be a rule teaching him to aim a gun may be a rule teaching him to cover his head whatever else the cool part is when we throw in especially with the prop works when we throw in the weight of the prop and based on that we change the way that the prop is being carried by the character or we can also factor in things like character strength or tiredness one of the goals are set for the IKEA initially was to have one rig per one character so you have 50 characters and again we have 50 rigs in again but keep it simple simple share their animations and allow for modifications which are easy to manage some character in case of character class rules I just create a rule that's indented for this specific character forever so a hero character will always give his shoulder a little backwards female for example has elbows bent inwards and a little more wiggling hips zombie case in here extremely been spine I could add the tremble if I want it and it's gonna apply on whatever this character plays and I can mix and match them I can have a zombie hero or I don't know rooty male if I want to prop operations doing it with weight we you factor in the weight of the prop for a different rule it looks like the artists prefer to have true boundary cases to create two boundary rules supervised super heavy and then work between them or possibly even have a middle case so depending on the weight of the prop change we would be somewhere in between at these states we can also as a set factor in how tired the character is we factor in his strengths so big guys will have easier time carrying rocket launchers and your grandma will not we can use the same approach for interaction with static props like doorknobs for example characters of different structure in size will still reach for the same place in the world to turn the doorknob mentioned we have a student game with multiple weapons conventional solution we trade several animation sets for different weapons so we have 50 weapons but we know every weapon we need to run crouch reload shoot too many things to mocap so we say our ek and our m16 will have the same placement of parts so we can use the same animation to play them now adding a weapon into the game would become complicated thing because now we need to create carrying this weapon with the Crouch without Crouch aiming shooting whatever in conventional setup we would also have to propagate every change that we want to do to every rig that we're using because maybe we have male and female rig and now we change the way the a.k behaves we need to modify it on both rigs and IKEA setting though every weapon preparation I carry grew simple as that so I can just go in and modify the rule to create a new type of behaviour with this weapon and aiming is separate from the motion itself and this will propagate to all the commotions and basically to all animations of the character if I want to at the same time grandmother and me will carry the rocket launcher in a different way because their prop weight is factored in should we want to add a new weapon we will make a new rule for it propagate is set to all characters if we want to should we have several aiming modes create a new aiming mode for hero for exam before female it will work the same thing one more new thing here is accurate rule for collision avoidance I like to have the hard collisions as we do but I also like to have the soft origins because we humans are smart things we apply the contradictory force before we hit ourselves with something so that creates a more more realistic and believable motion for proper operations like this so speaking about proper interaction now that the characters touch the props using the I K which we have full control over we can start scaling the characters and scaling animations and now you're thinking Alex we know how to scale the characters and we know how to scale the animations that's not the thing yes we do we do and every time we uniform scale the rig we also scale the animations we end up with lots of issues speed of character changes for once and this is not what we always want to illustrate this better I made some fan art for Star Wars just to show you so it's the same animation for both of these guys but rustic speed difference happens because of drastic scale difference in extreme case like this that's okay but more often than not speed must be dictated by the design not by the conversion result usually to fix that we'd start scaling the animation timing up and down but if we do it more than 10 15 % speeding up or slowing down the animation we start losing a data about velocity about the mass of the object and it's just not too good so here's the fun trick in Ikea I scale characters independently from the animations so animation is the same for these guys but the rebbe goes faster why well what's done here is the scaling just of the footsteps notice that all the animations are still in complete sync however I control the amount of footstep scaling and now that I have this complete control of this speed I don't need to adjust animation speed or timing I don't need to introduce the food sliding or do any other wicked thing and degree to which I can speed up or slow down is immense there is 400% difference between the slowest and the fastest guy and to illustrate this magnitude better it's pretty much that were we to scale the character up or down we wouldn't necessarily want to scale the speed of his motion we can just keep it we can set it as much as we want so the change there happens reverse we write the characters were scaled animation remained the same footsteps still have scale of one and I want to emphasize them the importance of using different skills yep and yep and why we know why we thing is that our games usually just have one character really I mean we can do different texture variation thing is we can push the geometry and the models but it's the same rig and yeah that's that's gonna look this way even like it's funniest when we share the rig between male and female like barbarian and Amazon but okay let's say we we added the female rig now barbarian shares the rig with a necromancer Amazon shares the rig with her grandmother it's not good for any of those characters and adding more exists of course expensive thousands of mocap takes for several actors feeding all of this into a monstrous blend three controlling is somehow discovery now that adding an umbrella to the game is a huge overkill because you need to more careful of this and it's it's not something we want it's something that we just endure and it's easier for the guys in the movie industry because they can have any scale they want for their Shrek or for the earth how can Spider Man and Captain America for us it's hard so what we try to do is we try to frame the guys so they look different even though we can't scale and we can try to fake it we basically try to make them look something like this we're not building star war games in Ubisoft okay it's I just made it for you guys just disclaimer and I scaled them all to their actual whoops PDR height and I've compensated the scale in animation so they still move in perfect sync and we can speed them up and we can slow them down we can give them props and they will look fun and the moment you set the scale is different like this something magical happens something that you can't really unsee because going back now is very very noticeable and okay so we know how to do the scaling now we know what to do with it next and we can keep still keep the speed of the changed speed of the scale or change scale if we want but we just don't have to and just by the way these guys as every character that I showed so far are still playing the same incoming mail walking animation uniform scaling is actually boring it's not fun I come on every every human has his own sample proportion differences here we have the base dude he's feeling just fine but I swap his right his left hand and right leg too much longer bigger versions now I I call this guy Quasimodo for easy reference this is the base layer of the IKEA notice the omission is exactly the same right it's not enough we need to explain them how to move so I make a list of Commandments for Quasimodo I tell them you know if your hand is heavy you should win if your center of mass has shifted compensate for it with your spine sorry and if the camp gets heavy don't wiggle it around drag it and the fun part is that the scaling sorry just really warm in here this scaling can happen at runtime and that's super good news for all the monsters and mutants and robots because now that the quasi model knows how to work with normal hand and super big hand he can do it with any size of the hand and just because we told them how to do it detour a little so I often say I tell the characters what to do and they do it and that's a little misleading because people visualize the process like this I told them to do this and that and they do in fact it's more of this and this because I control the action by creating those rules by plugging them together but it's more of playing with the regul kit without actual schematics so it's fun job still job and of Deeter so yes everybody is different and since we already captured emotions we inherently capture the motion styles and I'm talking just about the mocap right now so this is the prototype feature but it's worth mentioning nonetheless I call it motion GNA and the idea is that we just dress a guy up in a suit we let them move around the mocap studio for a while and we're not capturing the exact loops of what he does know what we capture is instead how does he carry his spine what is the width of his footsteps how much hand swinging is there and these things we can parameterize and there's about 20 parameters that so far I came up with and if I take those things I can store them as accurate rule and I can apply it to the animation of completely different guy it's not going to make them exactly believable but it's gonna be way closer to this after who just moved around for a couple of minutes in my mocap studio so just oversell it a little maybe some time in a few sure you walk between before your Kinect and we pick up how you do this and then apply to Cotulla dancing on the screen even if you just have the controller it looks plausible so let's recap for a minute we can take one animation we can change its style we can scale our characters we can scale or animations we can change the proportions on per character basis while we still interact with props consistently and we can even control the speed long story short we know how to turn our walking mail into crouching aim in female what's missing Oh clicks so what is missing from all of this then even terrain navigation of course but before we go into unreal Tori navigation there's this thing that's something we dance for so long we don't really notice it anymore and I love to kick this thing and I will kick it again now what I mean is the term locomotion modes so we do so many things weapons aiming reloading shooting opening doors that will limit the type of work emotions will let the characters walk or run sometimes jog and there are brilliant people trying to blend those states together we let the characters walk or crouch sometimes crawl and there are other brilliant people trying to blend these things together but the sophisticated blends are just masking the problem but there not solving the problem the problem is our navigation States in games are integers and in life they are not integers and this is inheritance from the idea that we will want to do different things as we navigate different ways so we can't afford to mocap everything in all the interim States so what's wrong with state a or stage B switch but honestly there is nothing wrong with a switch it works for past 30 years and we keep doing this Nets what's worse is we build our levels with this in mind your doors must be fixed with or the character won't walk through them plausibly your obstacles must be fixed height or he won't jump over them plausibly the ceiling must be fixed height because under otherwise you want to crawl under them plausibly and every now and then there is those little just missing inches that the animation suggests a different height but we just have to stay so that's it what if this collision is only halfway down what if it's moving what if it's a little lower or higher that's character remember what you just did does he have a history is he limited to these states if we start retracing forward not in time but just in space we can start predicting what happens and we can change just the right amount we don't have to go all the way down if we just need to know their head but if we have to we will do and we will our motion will suggest the physical appearance of the world around us and it's going to make more sense to us humans we don't collide by the by our own choice so we don't clip like this we avoid were smart beings and it's not hard to mimic if we strap the idea of integer States and it's not just integers that are obsolete the whole concept of metrics is insulting and it's ridiculous and they know the questions that we get at this moment metrics are at the core of our pipelines without metrics how do we even design or model how do we build levels how do we build the game with arbitrary scales like like the real one like the real world we it's scary we can't pull it off we're not going to risk it and first of all let me call these old ways what they are limitations and you know a guy breaks a leg spends couple weeks in the hospital then he has this casket for several months then the casket is gone his wreck is healed he still keeps limping because he got used to that and we got used to that maybe we don't have to do that you see I thrown in some uneven training here just for kicks so without further ado let's take a look at different ways to navigate and even common solution rates raised down and be happy well the sad part is there is no history in this walking down walking up looks the same and of course we can't have stairs in here because if we just ship this height between two frames too drastically we're gonna have the food popping we can't use the stairs ok ok and again if we if we can retrace forward right cast forward we can start anticipating say hi to anticipation say hi to follow through and we can propagate this change to the whole body not just the legs because we're not splitting between upper body lower body anymore we can act and it's fun and our slope can be arbitrary we were not picking animations from the pool and blending between them we generate the proper motion for this specific case for the specific guy with a specific scale no loads railing no feet flipping no metrics what do we do here after we fire the level designer normally we we just say ok it's going to be a flat plane and we're gonna clip and that's fun because it's it's a video game okay cut us some slack that's fine yes no like a solution can handle stuff like this usually usually we fake it and be happy but again you know what we can do instead is we can switch into nostradamus mode or what I call nostradamus mode basically what I do with we throw in the animation into the engine and then we analyze our feet and we just store couple floats per frame for each foot we remember how long ago did I get lifted up how soon am I am going to be planted down where will I be doing this so now per frame I know that the food for example initiated the lift up thing and since I know where it's gonna land and when I can modify the whole curve and arrive to the proper location yes some weight of the body is lost in here that will be fixed on the Polish but at least I planned correctly in fact I'd slow down the extra here by twice because human wouldn't really risk that fast moving that fast but that's fine in famous case of discontinuous terrain stairs I love it so okay if we have stairs in our game all the stairs gonna be the same because you guys know will you be more capped for these specific stairs going up going down we can't have stairs of different right what happens if he walks diagonally because any mission is not going to play anymore what happens if he crouches the Wemo kept crouched up crouched down and maybe in diagonals what happens if you wanted to limp what happens if I have a female rigged now I need to propagate all of this so again conventionally I would guess root sliding and some foot clipping and it's fine but remember we have this Nostradamus mode right so we're tracing the footsteps and when the food gets lifted up we can figure out where it's going to land and we get we can figure out if we want to land there or maybe a little different place so now we can have arbitrary steps staircases I mean and we can have arbitrary scale of the character and he will still walk I mean it's just depending on his height he will be missing stairs the steps or maybe he will step on each of them just like we do because we have different scales and that's how we behave and since we generate this animation on the fly I mean we can have any type of steps that we want for any character scale that we want yes we need to polish this but this is already better than what we normally have with just flipping through the stuff final test of this continuous and even Turing conventionally we would have a minigame for this because you can't really move cap unless you mock up for just this specific set of obstacles and just way this one animation but again I mean if if in real life a five-year-old would have fun doing this then our hero should be able to walk through this as well just by pressing the button without no minigames so I know it's a lot to take him let me show you the combined result of these rules please welcome the marching band this operates directly from the guy with the controller all right then we added Ikea we have different proportions in scale remember that was another guy right even though they're all skilled they work in perfect sync remember we have the footstep scaling remember our IKEA rule for crouching notice that the tall guys and short guys crouch differently because they need to go to different height as a result I mean some of the male some of them female because it was easy and a brilliant single one of them carries his or her own musical instrument and plays it to some tune that I will expose weights wrong and one more fun part there is this waving brown demeanor you see that we're gonna go there because they're the water you like I call it the cheese's test it's the ultimate thing I mean if I can work on this I can work on anything plus an asteroid I must move for the steps so this is one source animation right everything else generated per frame right here controlled separately this nice visualization for the curves that I threw in for them to play so each of those characters uses one of these curves to play his or her musical instrument so there is the drum the dishes the tambourine the violin and you know what fräulein oh I could just throw in actual musical piece and take the curves from different musical instruments and freedom here and see the result not sure it would be super cool from the start but I can try and yeah i scaled them all differently because well because I could human height usually like 1.7 meters male 1.6 female plus minus 10 15 % wrote different and I choose to respect that because it's very small and cheap wait add realism to this so marching band marching band is one single actor turned into nine characters some males and female nine different scales and proportions nine animated props synced to the tune controlled separately they can Crouch they can climb time to make all of this I had the rules ready remember one day took me several months to realize one more thing so crouching is actually just a subset of a bigger thing of avoiding and if we can avoid we can attract as well so we start ray casting in two sides we can have a lot of fun with character just walking around simply by the level and coolest part is I've created these rules for avoidance and for traction and I can apply them so my Crouch in zombie a mean female carrying whatever and I can tell the different characters will do different things maybe somebody will reach further maybe somebody will be recasting into other characters and touching other characters maybe somebody will be touching him as he goes on I don't know so let's have some more fun the big section the quadrupeds first thing of course I have the 4c I turn a horse into IKEA rig for C because I can't work with bones so once I turn the 14 to Ikea rig for C I just have those nodes now I can play with it but the thing is there's less to do with quadrupeds conceivably they don't operate with props but what they do operate with is other characters so I put an Ikea rig and an Ikea and we can tell this rider what to do we can give them props and so on you know as much as we want as for the horsey we don't usually distinguish between with or without ride your animation we never really mocap for with rider without rider it doesn't seem like we need to question of course like would there be a need to modify the horse animation in here well does the player need visual feedback that the horsey is that he's overloading the right right maybe there is an extreme case where we want to tell them that this horse is not a happy horse and it's nice to be able to do this fun stuff on the fly of course I exaggerated but you know what I mean guys and if you don't have the horsey with a heavy rider mocap you're still fine in fact I didn't have horsey mocap at all and I'm still fine because I had Jerry and Jerry has been my champion for the past year so you know if you're still feeling bad for the green horse II don't because none of them exist but Jerry does and through my test Jerry has been several breeds of dogs capped mountain lion a bear horse elephant and even more bizarre things like this so in all honesty he deserves an Oscar and yes I was not here I scaled this animation made it slower made sense in this case so at least as far as the locomotions go yes I can share but then certain extent of course the elephant would still piss with his leg lifted we wouldn't do that but happily we have talented animators and of course all of this is only possible because we can scale the footsteps quadrupeds are super different in our proportions as we go from breed to breed what else is good about IKEA rigged for quadrupeds I guess yes maybe this maybe didn't even terrain for horse for the rider slope speed any direction as we please not only that we remember we did this Nostradamus thing right for foot placement you probably know it's coming another thing that you will not and see at least I didn't see it anywhere and as I said Jerry is amazing let me talk about main reasons to introduce the systemic animation solution to the pipeline which I carried or any other one first of all it's about character design character design that is driven by the character artist and concept not by the rig that we share and we want to add versatility to sizes we want to add versatility to proportions of our characters we want to add different behaviors as they move around to show that they move differently and we want to provide visual clues whenever working with props to show it's heavy that his limping is hurt we can show it in the animation content on demand that means generating animations right as we play right as we need them so for this specific guy in this specific case in a specific level right now I need this and we make it so hence the term systemic animation that I like so much we don't pick from the pool of stuff we pre created we make it on the fine first iterations and more important fast prototypes anytime you want to add umbrellas to your game you just throw in a prop and you create a cure group now I'm not saying this is going to be the perfect umbrella carrying animation I'm saying you can do it within one day and see the result and play with it and figure out what else do you want you don't need to mocap shoot this off line a loop of retargeting for your female rigs carrying umbrellas and stuff like that import expert now right there right now fast and furious final reason I first called this saving money but I know you guys we get ten million dollar envelope we spent when you ask for more so whatever we save here we would still waste in some other place so I'm calling it cost allocation let's save some time we let's save some money let's invest this time and money into maybe generating more content for the game maybe investing it into the rendering maybe investing it into the sound and whatnot we will figure that out I know what are the pipeline changes so characters yes they're created based on concept art and common sense of course not on based on the rig basically we're cutting away a part of the pipeline where your curve just made this wonderful model and now technical animator comes and says now you have to adjust it to this rig and he's crying rigs can be unique but for the most human cases it's like you know with any bugs in your Mme image they have this screen at the start where they say that height weight which changes those are within centimeters they're super important for the fight and for the fighters but they are not too far away so normally I would say character artist can just modify the rig on his own if you trust him enough just to scale things up and down as he pleases and in engine riggers and tech guys map this incoming rig to the unified AI clerics structure and they define which parts of the bones we want to each to which chain in full body i key and yeah they also set up the constraints for secondary things like muscles and whatnot animators they work with the IKEA rig rules there are two very important things here first of all to work with this stuff you need the real-time preview so if you build something like this make sure your animator sees the changes and can experiment with them second of all there is in need and we're actually discussing it right now I need to connect the animation engine of your game engine with motion builder or any other software of choice for the animator so he can go back and forth and set the pose for this particular trumpet if he wants to that's the simplest thing and because he would be doing this a lot with trumpets there is a need to to have this process simple and fast but the largest largest difference of all is actually for creative directors for game designers because the holy moment happens when you realize you can spam these marching bands on the fly as much as you want that you can write different animals that you can Telegraph the characters state and health through the animation without this extra cost of no capital that you can have cover system destructible covers and characters of different scale will use those cover different ways they get destroyed that you can have some very interesting fun with AI and I will talk about this maybe next time and yeah that you can have characters of different sizes and have this versatility in your virtual city or whatnot and that all of these things can be connected to your game design because now you're showing way more maybe you want the player to be noticed in this for a particular reason when to introduce systemic animation solution to the pipeline as early as possible I would say if you had your first mocap shoot probably it is too late because there is a lot of things to consider first of all you need to decide what is it specifically that you want to do do you just want to have different proportions of humans or do you want to be writing quadrupeds or maybe you have a game with focus on proper interaction and you want this interaction to be realistic so you need to decide how much of it you need to do because there is no need to build the full shebang from the start we need to build something simple to see how it works also there are things in pipeline which will be cut out and a lot of this is about iTunes and a lot of this is about motion capture for every possible Crouch with every possible weapon because probably you don't really need this anymore you focus your animation on things that matter on cutscenes on the character of main characters but not on making endless variations for male and female rig for several different props yeah also you need to think about your levels because if you start discarding the metrics of the levels that changes things a little you can start thing and you start thinking about dynamics in their proper collisions with dynamics it's interesting but whenever you do this I suggest you guys do it soon because couple years from now systemic animation stuff will start shipping and it's going to be hard to keep up with this it's so good but I also want to be clear when not to use anything like this and first example is the obsessive-compulsive game mechanics like Mortal Kombat for example they have a number of characters yes but every single animation every single keyframe of every single animation has been visited in revisited million times because it's super important the reach of the sub zero's punch the speed of this punch this is the game mechanic you can't allow this to be controlled by some arbitrary system you want this to be specific so in this case you don't need any solution like that especially because in Mortal Kombat you're not really working with props or navigation and even terrain as much a massive strategy games conceivably I mean the games where you have 10,000 characters on the screen even if you had the fastest fullbodyik a solution ever if the character size is 10 pixels in the screen just there is no reason to go too deep with fine-tuning the foot placement of him so of course we want to keep it smart and solo games meaning games where you only have one character or the amount of character animation is low in such cases maybe you want to invest in some sort of systemic animation solution but only if only if that's the key part of your game and there are games where there's one character but dynamically interacting with environment it's very smart unless that's the case of course there is no need to invest in a humongous system if the total time of animated character on screen is 30 minutes so let me answer the three main questions you guys probably have what stage are we at with IKEA Alex nice videos how usable is it so I came up with this idea about a year ago as I said I spend some time bouncing it around in my head and with my friends at Ubisoft and back in the day we were only interested in about 10% of what I'm showing today because frankly we didn't know all of this as possible I did I built the first prototype in maxscript and that was a proof of concept stage we were playing with it we were seeing what can happen dogs two cats I remember the challenge from Christian and that was fun but then my friend Michael Butner took interest in it and he built the runtime part of it and he keeps building it as we speak like right now in Toronto and yeah we we keep developing it further to be honest the list of complete features is now 10 percent of the new 10 times increase of the dream and I don't know how much do we need right now but we'll see and the key parts are there right now namely they're optimized for body and mechanics for creating and sharing Nike rules between different characters and seeing it in the engine main road yeah resource heavy expensive main road the expense goes on your full body a key solution all the IKEA rules they have very noticeable results right but in fact they're very short in simple lines of math this is what I liked a lot I mean it's simple mathematics they're independent of the game engine or the programming language it's very simple move rotate constrain you may think of the IKEA rules as motion shaders but with way less instructions in way were more output so after this math is done then a full body a key starts working and you can use any full body a cake you want and that is your cost the good part is that full body a cake can be optimized very far in case you wanted to and depends of course on a rig complexity so it can be L Odede things like great casts you understand how to control those so up to you finally working I downloaded the reaction I got a lot from the moment that I did the original IKEA reveal speech was this and let me ask you what do you download the normal Maps you don't you can introduce the feature to your engine yes or you can purchase an engine that has supports normal Maps but the reason I keep calling this is just one of the possible systemic animation solutions is that it's not a software piece it's a concept and it's in development that Ubisoft yes but you don't have to wait and wonder if we revisit and when if I if I did a good job explaining idea you know how to build it with blackjack and whatever you want in the recent years we had very many advancements in rendering in in AI an amount of content on the screen and in the game we got amazing evolution of dynamics we evolved the streaming of data and a bunch of other things so it feels like now is the time that the animation is taking this step to the next gen as well and there are amazing developments out there there's cool stuff there is human NK by Autodesk there's euphoria by natural motion final okay bye finally K by root motion runtime by a Kinema I like to think that if we share the ideas and developments we can contribute to the industry as a whole and that would be cool traded you this smiling person is Michael partner decklid of animation in physics of Ubisoft Toronto he's the mind the father of motion fields tack motion matching tech and he's also the father of runtime implementation of the IKEA rig so whatever runs now and whatever we'll keep running I would not be possible without my phone and of course my gratitude to Ubisoft because this is the the craziest family I had for employer ever and we are shipping kick-ass games and you know it's coming yes to ship today's games we give money to smart people so if you want to work on epic stuff and if the dev force is strong with you there's a team that could welcome you there is Ubisoft booth on the premises second floor wait right outside here go talk to them figure out maybe it's interesting for you maybe it's not but don't be shy just give it a try it's fun or catch me up I can give you a shortcut to them why not two things I want you guys to I want to suggest you guys to do first thing tomorrow 11:30 there's a talk about motion measuring by saman trivia go there and listen to him listen to what he has to say if you don't have time make time because this is one of the coolest things in animation I've seen so far and I've seen a lot second thing we will have an extended Q&A session tomorrow I'm going to keep this fight for a while so you can take a picture so you don't forget West's whole second floor tomorrow 3:00 to 4:00 p.m. come over we can chat we can have some laughs somebody may try to recruit you I'm sorry it's going to be fun so thank you that's it who wants to ask something guys microphone don't be shy questions questions what middleware products are you using to achieve this you mentioned a few for body IT solutions are you using one in particular no throne blackjack and first thanks for sharing the idea I think we need more of this in game development why do you like defensive videos thanks videos but idea is much more important what I want to ask how much time and effort does it take to configure one character with all the parameters that you mentioned like how it moves and which depends from which part okay so how much time does it take to basically define a motion capture akin to the psyche with chains is that what you're asking yeah like how much time does it you create a new character using already ready they mock up I would say like way less than a day there is there a couple of crazy characters like you saw in one of the videos this guy with multiple legs and hands taken out of him that took me more time because well most of this time I was trying to figure out where just take an extra hand but if we're talking about bipeds yeah that's that's fast and simple actually because yes I have a different bones coming in but I know where my legs are I might even have a naming convention and streamline if I could just script it okay and all those definitions do you define them in the code or you made some kind of UI which is usable by artists so right now it's not as friendly but of course we need the UI we're thinking an old based system and yeah at the moment it's lines of code with some nodes in place but we're not complete yet we're not shipping it tomorrow but yeah whatever we do we have to make sure that like people working with this some of them are nerdy technical artists yes but a lot of them are animators and animators need to have nice interface ideally resembling something that they have experienced working with before Kansai mention the MotionBuilder ugly strips okay thanks thank you this is very cool you showed some examples where you said that like this is good initially but you would want to polish it can you talk about how you would polish these sorts of things like if an animator looks at something and says oh that's really good when the character crouches but it should look a little bit more like this is there some key framing like way to tweak it and polish it so yes it should that that's why I was talking about the MotionBuilder connection right directly because animators like to tweak things but to be honest this thing you're not you you're not supposed to modify this particular pose if it's broken you need to figure out why because at the end of the day we're generating we're generating the content as you play you never know what's going to be happening so if all of a sudden your leg that overstretched that means you need to introduce a rule to keep the leg within the limits you know how to do this so ideally I would say you try to fix by that now if my enemy juror comes to me and says you know what this female works looks like crap my first intention is okay I need to open a video female walk female walk that he likes and I want to try to parameterize what's happening because when I was keyframe animating stuff I was doing pretty much the same thing right I mean in the mind of enemies right you open the reference and you see what happens now I'm not just going frame by frame adjusting to the background image I'm trying to figure out what exactly is happening maybe there is a curve maybe every time the leg is lifted there's an extra X rotation in local of the hips I'm gonna do that and see this hope that it works thank you thank you when you're doing your Nostradamus footfall determination and you're under control of let's say the player who's you know constantly changing with the joystick which way they're going are you [Music] recalculating the footfalls like as you are moving your foot in the arc or do you lay in that foot and then just do your calculation off of the next footfall and account for that so if the foot is like if the food is in here my incoming stuff just from the blend machine spit out it already has the idea of the position and I also have my Nostradamus nodes and they're telling me I'm like 50% in there now if I start moving to a different direction I have to modify my target vending position but again if I if the direction I'm moving in is controlled by the blend machine not by some artificial leaning these new animations will have this target position relative to them so as my animation changes my target position also is grabbed from the new animations that I just walked into am I making sense yes okay okay thank you I heard another talk from Ubisoft about motion matching it's let relate to I can be so these two texts are different I started working on this taking the input from motion fields motion matching there was a rename but it's the same thing and that's why I advertised Simone's talk tomorrow so much I think everybody should do this but these two text they do different things so motion matching is all about a natural human motion with very effective use of mocap time so you create the motion I can rig is about modification I can rig is not about gesture this is the animators the mocap I can rig is about modification of walk into crouch simplest example for carrying something right so these things they sort of work one after another and they contemplate they add up Thanks thank you your encoding of the foot animation looked like it was distanced from hip to ankle with the angle of the knee or something like that I was curious if you ran into an animation where let's say it's like a Dick Van Dyke jumping up the air and clicking his heels together type animation where the distance between the heels was critical does that require you to modify your animation rig so you now have an encoding of the distance between the heels and have you run into cases where that happens a lot based on different content going into the game and does it is that important to your pipeline being able to kind of change the definition on the fly or is this very specific to like basic locomotion so any type I will try to turn this into a bigger question and you'll let me know if I got it right anytime our character has self collision of any sort or a collision with a prop of any sort how do we compensate for it in this system right yes so first of all of course we have the physical representation of the character I mean we have the full body okay but we still keep our red doll and stuff we need this what I really like and what I didn't have the time to do at the moment but what I really want to do is if we mow cap the guy going over a box for example an example of the proper interaction right what I do is in a small cap file I place the actual box and I detect where there was a correct collision now if the box is scaled my animation knows that here's the place where I collide but this place is inside something I can find the new placement for the leg basically if the guy was scaled but the box remained the same if I know where it's gonna happen I can try to get it out it's not going to work out of the box instantly when the character self collides if I scale them just uniformly it's going to be the same you understand but if I do the proportion scale I of course need to be smart about what's happening I need to make sure that I don't let him cross the new bounding volume so yes there's physics in it but as I was talking about the soft collisions and hurtful I also like to slow down before before I hit so I'm actually I need to keep this in mind I don't have this feature like fully developed so I'm talking from the top of my head but I hope this idea makes sense thanks thank you stat all alright thank you so much have a good day
Info
Channel: GDC
Views: 188,242
Rating: 4.9336977 out of 5
Keywords: gdc, talk, panel, game, games, gaming, development, hd, design, game animation, ubisoft
Id: KLjTU0yKS00
Channel Id: undefined
Length: 61min 31sec (3691 seconds)
Published: Fri Jan 19 2018
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.