Animation Blueprint Setup & Walkthrough Part 3 Live Training | Unreal Engine Livestream

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] hi and welcome to our Unreal Engine livestream I'm your host Amanda bot with me I have Jay Haas fellow animator and fellow community manager Tim slicker so thank you for joining us once again I know there's a lot of questions around animation like we've been here before maybe maybe three times so before we dive in we're actually going to do a brief trailer for the forge arena so we'll take a look at that real quick [Music] so the four Jurina is now in their beta by the freezing raccoon team and will be doing a key giveaway during the stream so if that interests you floats your boat try to snag one of those keys will be dropping in check it's just an awesome name the frozen reckon that's for raccoon like this one and take it away awesome alright well it's good to be back to cover more Paragon animation stuff today I'm going to cover Mele twist it's a concept we used for upper body melee I'll show you guys some additive stuff like how we used for hit reacts I'm gonna cover there's a topic that I covered last time I was on that I kind of want to show a better way I found out but first of all I want to tell you guys that we we definitely pass around all the videos we see of you creating content with Paragon assets we love passing them around anyway we wanted to show a couple of our favorite today just to let you guys see what people can do with this the first one we're going to show is bounty part 2 which by re-see or wreck cinematic gaming I really so what's really cool with this is they used all of our gameplay animations put them in sequencer and built a really cool sequence but those are all in-game assets we will probably do a stream at some point to show how to set up sequencer I think that would be a good topic to cover for those who have not used sequencer and the second one is actually someone who took our gameplay assets but added you [Music] [Music] so the video we just saw was Paragon brawl and that was that's a case where someone started with some of our animations and our models and took it really far and created a really cool game with some pretty cool like time slow down slow-mo and end stuff so yeah that's it can be done so if you guys have your own projects please send them to us we'd love to see them and showcase them on on our streams so let's see so the first thing I want to cover today on the animation stuff is let's see today I'm gonna be working with cereth and right now my starting point is her basic basically if you had retargeted shouldn't be over to her or you can actually work along with me with Shin be all this stuff will carry over to Shin B as well but one thing I covered last time I was on was how to get the direction for a stop like when you're strafing and we want to get the direction when you stop moving and pin a number down of what direction you are and then we would tell that direction to feed into one of your four directional stops what I told you guys last time was you know as I was playing through it was a little bit incorrect sometimes they would give me a correct number so if I'm running right and I would stop it would set directions stop to 90 sometimes to be random like 40 or 45 so I set up a much easier way to do this so if you guys did watch part 2 use this instead of what I showed you on part 2 so like I said at any given time we're setting direction for a character when you're doing your controller we're getting a direction whenever you stop a character running that direction is no longer being set and so we've like I said we had a problem of not getting that number so what I want to do so we're not storing that number once they stop yeah like when you stop there's no more number right is generating and based on when you stopped it could just kind of give you any number so we're just getting random results in our blend space so what we want to do is set a new variable and let's call let's call this stop direction this is super simple okay so at this point or setting direction and as of now we're always going to be setting a stop direction as well so what we want is to kind of put a branch in here so let's do a branch and in this case I'm going to actually just a place safe I'm not going to feed that directly I'm going to take direction put it here so basically I need a condition to set the stop direction so what I'm going to do here is basically take is accelerating and plug that in to my true condition so now all I'm saying is if you're running in any direction if you're accelerating at all we're always going to be updating the stop direction the minute you take your hand off the controller your stop Direction is now set this is going to give you much more accurate results we play so let me up show you guys real fast what this looks like best way is basically print I'm going to print string and let's feed this this value into the actual string that's being printed so you guys can see the exact numbers that are going to display okay stop okay yep there we go okay so as you can see the numbers right now I'm just showing the debug numbers and when she stops that is the direction she stopped they essentially negative 90 if she went to the right we got 90 she's going forward it's at essentially zero and back either 180 or negative 180 I'm so yeah just one correct that for you guys all right so now back to the new stuff we're going to do strafe well let me let me show you guys what our initial problem trying to solve is first let me just go and delete this stuff right now all right all right so when you run around right now we're basically playing melee on upper-body only let me go to full screen here so as you guys when I when I'm standing still and I play in melee it's full body but when I run right now the logic says basically just play on spine 1 and up and you get this really nasty oh yeah break in her spine it would probably kill somebody and it doesn't look good it looks very kind of like early two-thousands gamey but the thing is a lot of games don't use this because it's very responsive when you're playing it's very responsive to the locomotion and designers like it so I'm Paragon we were asked to have a melee system this way and we told them this would look ugly and they said we'll find a way to make it not so it looks like we'll find a way to exit find a way to fix it and that's that's game development and so basically what we want to do this issue is simple it's kind of a little bit complicated to explain so basically what we want to do is we have a way to control the upper body but what you need is a way to control the lower body hips to turn with the upper body and we don't want to make custom assets for that either we want to use you know when you're making a game you kind of want to use what you already have as much as you can the cool thing is is we have strafe animations already so if we have a jog left let's zoom into a jog left so here's her jog left animation the cool thing is though what if you just rotate her whole self like rotate her route to where she's running forward well now you have a run left forward animation does that make sense so that angle so we're basically taking strafe and then orienting them we're rotating strafe so they're actually still running forward but now she's running with her left side forward or her right side forward so let me try it let me show another way to show this so you're saying like at this point we want to shift her yeah even body's facing forward but the motion remains the same yeah you want her to be running north but now she could be running north running backwards right or left so I made a kind of an example blendspace to show what I'm getting at so let's say you're playing the game and you still right now she's running towards camera and we still want her to run towards camera but we could use this trace and now she's running you know she's running backwards towards camera she's running left towards camera forward towards camera she's running right towards camera and back and these are just a strafe animations I'm rotating them the main thing we want is I'm gonna zoom here just so you guys don't look at the upper body just look at the hips as you can see I now have a way to rotate hips they can think of it that way the feet are always moving in the same direction and now I also have a way for the hips to rotate that's the fundamental basics of what we're starting with is a way for can rotate with the spine the way to do this this is just an example file where I straight up just rotated or strafe animations we want to do this real time so what you can do is on the enema graph let's go ahead and in the foot ika controls category I'm just gonna call this like a modifier controls now because we've kind of moved on we've moved beyond just foot controls and this this box here controls and what we want to do is there is a rotate root node in in here we can load that up rotate root bone and we're gonna feed full body cache pose into this base pose and now so if I were to put a y'all let's say a yaw of 90 on the rotate root bone and let's play the game let's compile and play you can see now that she's going to be turned clockwise 90 degrees to the right because we're modifying that root bone right so let's go back here so what we want to do is we want to update this y'all curve based on using our animation so like say when she rears back for melee and her spine twist to the right 90 we want those hips to go with the spine and we want to control this dynamically so you don't have just a static we're moving in 90 degrees every turn right and you know right now I just typed in a static number to show you what what is being affected so let's go to the event graph and let's go ahead and create a melee twist variable every time I hear that I think it should be against melee it's why there should be a melee twist that's the end of the stream Mele twist I hear a song in my head and then let's go back to the annum animgraph and and for this we can just plug that melee twist in to y'all okay so right now nothing is feeding the middle HS we're actually just back back to where we were because over over here in the event graph mailee twist is just set to zero so now we need something constantly feeding and this may lead to us so let's go I want to show you one of her melee animations and we actually you guys will see this in our animation content that a lot of these characters in their melee animations have what's called a melee twist so if we load a primary attack a let's open that asset you will see that she has a melee twist her already built in and the way we got this this particular curve was the animator took the the hip rotation and basically duplicated that curve and put it on a custom curve melee twist and if you look at the values here it looks like here there's like 64 degrees it looks like her hips rotate about 64 degrees up here and there counter-rotated I can't quite see the number here the value is negative 53 in something negative 54 so we're gonna use this curve all the animations have this melee twist curve are the ones that use it so let's go back to blueprint and let's go ahead and get curve value get curve value and that is what's going to drive our melee twists do you need to do anything to the initial animations to start using them in to blend spaces for things like this where you're using kind of different than what they were originally intended in this case melee twist works with the melee twist works the same the way I have it set up and way Paragon had its that ever setup the same what I am showing you guys today is definitely I'm doing a couple things assuming you have strafing setup in place so if you don't have strafing setup just watch video number two where I show you how to set up strafing all right so now we have mail a twist we're reading this curve from the Animation assets it's feeding into the mail a twist and we're going to get a result here it's not going to be the result we want that you guys can you guys see now that her hips are turning with the animation far more right there followed but see now the feet her feet see model the feet are going all over all over the place they're not they're not going forward unless she was on ice yeah she's an ice or zero gravity or something so this is what we want to fix up next so think about this right now she's turning here because we rotated the route so now we need to counter we need to counter rotate her mail a twist on her actual strafe blendspace is basically now we're saying rotate the route say 64 degrees but we want her blendspace to know that she actually needs to run left negative 64 degrees to counter that so we're gonna use this melee twist value again so let's go to negative 64 based on direction uh-huh negative 64 based on direction so let's go to her locomotion state machine and let's go to her run okay so right now we have direction and the direction is always feeding in assuming she's always facing forward well now we're rotating a route at any given time so we need to go ahead and and offset this so we'll create a delta so let's get the male a twist value and then we want to subtract the male a twist so we can I saw we could actually just do - all right okay so now if we go back and play we're going to get her feet are now forward and if you see like on that one animation students go slow-mo so we're not done yet there's still definitely some some issues we're gonna see but let's go and play the slow-mo so especially when she swings to the left you could see how she you know her hips turn to the left and her feet are also rotating to the direction they need to go when she turns back from the swing or are you turning her because it looks like her feet are okay so right now we got basically it's a literal one-to-one curve of the the rotation from her hips are now driving her blendspace to counter counter swing so that's good the problem now we're seeing is let me play again the problem were saying now is now she's getting double rotation when she's idle meaning we don't we do not want to update mealy twist when when she's idle let's go back here the other thing we need to do is her aim offset let me play this one more time I want to make sure so if you see here see how she overshoots her when she swings to the right she's really swinging aiming to the right it's because her aim offset is also assuming there's no root motion so we also need to counter her aim offset as well so we countered her strafe we also need to counter the how she looks right and left digitally yes right now that the curve is going to make her actually aim like double the value to the right theoretically she would miss it because you missed your head is also just twisting her a lot so let's for this the aim offset right now is early in the graph so it's actually getting stomped on so we're doing it aim offset pose up here but then once we play our montage which is a full-body pose it's actually now going to ignore the same offset so what we need to do is move the same offset later in the graph this needs to happen after her melee motion so all I'm going to do is let's just put this back down here at the end of the graph and it's just for now move this right here and we need to do the exact same thing with the yaw with her aim off say all we want to go ahead and back out the male a twist that we were doing so once again we'll get male a twist we're going to subtract Meili toys from y'all and feed that into the aw so now she's swinging forward again she's not early really really twisting to her right yeah and so we started the problem of where we're reading Mele to us while she's idling and that's easy to fix basically we just say don't don't read it don't you don't you feel a twist if if there's no acceleration there's probably several ways to solve it that's just for this let's just say we could do use that branch logic here let's just do this where we say if she's moving go ahead and do Mele twist let's see if this works now is she considered accelerating if you're rotating her zerox actually you're right yes I think no I think it's just no I think it's just not a trick as long as she has like velocity in one direction you've got you so if you're hitting on that yeah so now she's no longer Mele twisting in place and then while she while she moves you can see that her hips are rotating right now as an animator I'd go in and adjust these these curves for instance let's just say this first hit her right her hips don't really turn to the right as much as I would want it almost feels like she's overshooting - mm-hm on that oh and when you can start seeing that the left side of her chest or the right side of her chest rather it's what you could do with it with this is this right so this is baked data we got out of Maya but there's no reason you can't just you know go through and delete a lot of these keys and just start pushing and pulling yourself so let's just kind of delete some of this dense data we have here this is potentially a silly question but there's a lot of saturation in the preview is that just in the scenario oh you mean color like lighting saturation it is it's probably the skin chest selected you can hold down L and rotate but what I've done here is now on this this curve graph I've basically made this into three keys a little easier to manage easier to manage and you can set these to different kind of curves so let's go ahead and do user curve here and we'll set this to user curve and this you want to avoid linear curves on this stuff so let's go ahead and just change them all to user that way you can kind of pull the tangent handles and let's look at this animation what's cool with this is you can look at the animation and adjust your your twist curve so right here let's look at her exactly from the rear view so right here you can see her hips are heavily rotated towards the left and now they're basically almost 90 degrees to the right so this is kind of where you eyeball it and then and play it in the game they're asking if there's a way to feed the curves directly into like your animation program there that you mean like feed it from say Maya into can you repeat the question the direct question is how can you feed the curves directly into your animation program maybe they can't explain a little more yeah if y'all could explain that a little more do you mean like going back to my R max yeah you can't so there's lots of ways to do this curve so this particular animator wrote a script in Maya that just looked at the Delta between the hips and say the route bone and took that value and applied it to the mêlée twist custom curve it's some animators I like going in hand king I like having sparse data and being able to kind of just move this around as I play so like for instance I just modified this and let's let's take this curve and really let's look make it really extreme let's go like this type of value here of let's say 120 right and now let's play again so now she's really twisting when she gets there and she's also twisting a little late one thing I will show that you do not have to close out pie when you adjust this curve so I can pull up let's say pull up the animation itself and let's just put it over here I'll see if I can get it I heard pie so let's talk pie we're talking 3.14 pie are we talking like Apple we're talking preview and editor is that right is that what it stands for previewing that all right all right let's see hey let me get back to the animation I was looking at its primary attack a fast I here we go sorry guys I'm trying to keep this all one monitor playing it okay it's something P something you never think I would know right yeah there's a lot of well about a lot of things to know okay so what's cool is like I don't have to close out PI I can you know swing as I run and then I can pop over here and I say that was a little too extreme let's let's tone it down and that could pop back over here and and do it again so that makes for some fast iteration so like even right here this feels better to me like her her hips kind of traveling more with her and so that is male a twist like it's just clear to most of you guys out there watching this right now hopefully I learned a lot it's pretty simple comp concept your basic is using your strafe set to control your hips and so that way your hips are going along with the spine again I think they're clarifying to clarify the question earlier they're using Max or a kid suit and they're wondering if they can use a tool to get those curves from the FX up so you do not have to that X that's actually a really good question you don't have to get these curves from an animation package so let's say you're working on animations that no one ever exported a melee twist let's go ahead and recreate one of these you do not have to have one so what you can add your own custom curves in ue4 so let's go ahead and on curves let's add a variable curve and in this case we already have mailee twists on our list but if it's not there you can create curve up here and type in melee twist so now I have a melee twist curve and it's completely blank and and as an animator or as a developer you can just eyeball this like if she is facing forward let's say she's facing forward here expand this a little more her hips to me looks just guess that they're about 45 45 degrees negative so I could add a key here and let's make the value negative 45 if you're working in this this curve editor the eyeball will make it bigger and clicking in it and holding a will expand your ear key a or F it will zoom in so if you only have one key set like now it'll zoom in on I don't want that one key but it's definitely useful when you have like a series of keys so let's go ahead and set a key here all right and so let's see so her her hips are here and let's go here and say you know we I think we found the value we liked around let's just say it was 70 positive 70 type 70 here again I'm gonna click in here hit a and then you go back in and create your own user your user curves so yes you do not need a software package to define these cars for you you can you can add these which makes makes it really valuable so they're curious how you called the curve data to use for your mealy so the curve data so we have it we have a basically it's overly simple let's just add another curve value let's call let's just add a new curve great curve and let's just call this curve like example curve alright and this curve can be used to control anything think of this is just a value you want to ride along with your animation so you can use this to control morph targets you can use it to drive any parameter you want basis is just a float curve value like I said that's timed with your animation so let's go ahead and add just a few keys to this key a key I'm just gonna move this this value around so you guys can see that there's actually something going on on the so now this animation has something called example curve on it this example curve will get saved to your skeleton so you guys will see that your skeleton got dirty when you see this asterisks that means the skeleton is modified that means that skeleton now has on its curved list an example curve so it's very important when you're adding these curves to go ahead and update and save your skeleton so now we're at the blueprint and the question was how do you feed this particular curve into the blueprint let's go toriana blueprint we have a note that just says get curve value and that that is basically it just get curve value and you have the node and all you have to do is just type in the name of your melee or the name of your curve so what was my curve example curve yes so now I have example curve controlling melee twist you know so even though I made like some random curve that is now controlling my game so let's let's just see what that even looks like so if I go in and play now I'm playing this arbitrary curve I put in you know it's doing something but so yeah it's very simple concept that's a great question by the way now we go back to my other twist though it's yeah now we're gonna mail a twist so we're back to and this is definitely a value e we update a lot as we play the game and get notes from the art director and people call out twist there's there's still a few things I would do to fix some of these melee moves I'm not only I'm not gonna go through all four and polish the melee curve twist but you know what that melee curve essentially is doing if I go back to this example lower body blend space I made essentially all that curve is doing is kind of is driving you know this value here and that's going to be in sync with you know when your your spine twist to the right or left you now have hips that are twisting with it they don't lie the hips don't lie so yeah super cool technique it definitely improved the look it got rid of some of that candy wrapper and made it feel like the the hips were part of the animation again how long did it take you guys to he said you guys kinda had to figure this out right how much time went into uh it this is one of those where we initially went into the mocap stage to record male a full body of what it would look like if you're running right left forward and just to get to get coverage yeah and what happened was when you know I had the actor I was like all right now rear back and run towards me well he reared back and I noticed his feet were just doing a strafe left and I was like alright stop this is our you know it was one of those like it's just a moment where haha moan I had to be like looking at a mocap actor doing the motion and it just kind of clicked that's cool now I came back and I'd say within a day Ray Arnett had set this up first and he got this in yeah I've been using it since hopefully it could help some of you folks out out there who are doing upper-body melee stuff let's see so next what was next on my list are there any other questions with this I would be happy to answer [Music] someone said they were able to do is sort of a melee twist by extracting hip bone rotation right in the animation blueprint is it acceptable if he doesn't feel like he means artistic control that absolutely that is one way to do it to is you can just get your exactly what they were doing am i get the delta between the hips and the route and use that curve to drive your melee you don't get any artistic kind of control on it but that's fine yeah that's definitely good way to do it briefly like how do you maintain different animation blueprints for different heroes um you can let's see yeah it's a deep quest it's it's a philosophical question so yeah you can have it so for Paragon we had unique blueprints per hero but as if I were to do it again I think we would probably have maybe four or five unique blueprints and kind of put the characters into more of a class because blueprints are tied to the skeleton but like I think I mentioned in an earlier stream skeletons aren't necessarily a skeleton like a skeletal mesh it's just a set a bunch of settings for skeletons so that's it's deep question but I pretty much you could share this same blueprint with another character as long as they're sharing the same skeleton there's no reason you know nothing's these are all based on the epic skeleton right this is based on a skeleton well for Paragon each character had its own unique skeleton oh wow so you had to do unique for you and so we had unique blueprints per each one however to like say maintain it when we started a new hero we would just retarget you know my very first dream I showed you guys how to retarget shinbe to a new character that's what we would do - we would just retarget and then the whole thing would get most of the logic and then modify as we need to is there any way to read the curve data from a file that's beyond my scope if you can get I guess if you could have some kind of listener you know feed that variable and you know like I'll see if I go back to the event graph yeah if you have a way for this value the mêlée twist to be updated with something outside so say you're casting to a blueprint that does it live yeah so that's beyond my scope I'll stop here all right settle questions awesome those are great questions yeah we're oh we're getting close yeah time man I'm going to go difficulties all right we're just doing this so we keep bringing Jay back because everyone loves Jay yes I really wanted to cover additives day so let's that will definitely take me more in five minutes we have a hard wall today guys sorry unfortunately so I'll be back sooner than later they put a little bit of a damper in our plans yeah so I'll be back again and let's do it like whenever these guys have an open spot for me to come I'll come and cover additives more questions would give up more Ford Arena keys well one question was so most of these blueprints are these are straight from the assets that are available right yes so currently right now the only character we've released has a blueprint and a blueprint is Shin be her blueprint is very basic and she doesn't have say the strafe system in it the blueprint I used today is shin-bi's blueprint the only thing I did is I added strafing to the blueprint which I covered in stream part 2 while we're here I do want to show you guys one thing I did add too you know you guys brought up last time can you add leans to the blend space and I went ahead and did that so for my run blend space I created a 2d blend space so if we open it I have the directional runs but also have the leans on the other axis so I have 45 oh cool um so we have basically jog circle left is that's top and right is at the bottom for the lean direction and then you have your running your directions on the horizontal bar so now when we play this ad it's so much by the way adding leans back into a strafe is what's cool is like you get a lean but if you really crank it you start playing a strafe you know left or right as well really the logic starts going hey like this this animation instead and that seems really fluid yeah adds a lot and this example I took out the start and stops just so we have a pretty clean way to get I see what you mean about the when we were talking the other day in the hall about rag doll the dangly bits yes with her I don't know you dress apiece that's one good tip for animation is any time you're designing a character for a game the more dangly bits you have the more fluid your animation is going to fill to the average consumer like they're just going to think the animations even better because because animation pops you know no matter what you're always gonna get some weird kind of thing but physics and cloth are always smoothing out all those transitions yeah there's no new information we still plan on getting those outs we have prioritized that some degree I just don't have new information on on a date yeah those are definitely still in the works and I cannot wait it's amazing stuff and it really is you know for those who want the turn in place there's just a turn in place node that does it it just works a lot of the stuff gets even more simplified with these new nodes and they're coming I know some of you toss them in there regarding the like 90-degree turn we just discussed getting to that in a future stream and in addition to having on these well do add it is I'm going to cover there's definitely some just iteration speed stuff I want to cover and I will show even though we do have a really nice sexy node coming for the turn in place I'll go ahead and show how we do it where you could basically rotate to 90 degrees use the same offset but once you get that threshold it'll play a turn in place animation I'll go ahead and cover that on a future stream somebody wants to know if dangly bits as a professional term absolutely yes weekend on that I just tossed in a survey into the chat please fill that out I know a lot of you come asking for questions or topics regarding future streams this is a great place for me to centralize a lot of that loop information and share it so if you drop in there let us know how the streams are going what you would like to see from future streams and just general feedback we always appreciate that also always check for your local ue4 meetups if you go to meetup.com slash Pro slash Unreal Engine there are 130 groups that you could be a part of and if there's not one near you you can start one gosh there was we just there was eight recently that started up yeah so they're they're popping up all over the place so get super get involved or super fun networking submit your projects to the NVIDIA edge program we like handing out slinky hardware and you could be the recipient of that so make sure to share those projects with us also if you'd like our countdown where there's a speed development let us know what you're working on we'd love to see those submit them to community at Unreal Engine comm and it's just we're looking for five minutes of just rapid development in video form feed your logo and things like this was actually a new one this is this is the floppy and the sleepy planet so they're really awesome there they were actually streaming one day broad-strokes team yep so if you guys are if you guys are working on stuff and developing highly recommend you do it do it live do it on Twitch because we're always hanging out and looking for that kind of stuff so we may pop in and say hello Jay back soon take care guys [Music]
Info
Channel: Unreal Engine
Views: 19,160
Rating: undefined out of 5
Keywords: Unreal Engine, Epic Games, UE4, Unreal, Game Engine, Game Dev, Game Development
Id: 1L6uEgvtGKU
Channel Id: undefined
Length: 45min 57sec (2757 seconds)
Published: Fri Aug 17 2018
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.