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