Of all the UE tutorial makers on YT, you by far and away are the most deserving of a mega-grant. And they should probably make you a UE evangelist, too. No one provides these kinds of informative tutorials and I'm so thrilled to hear you're planning to ramp up the videos! Thank you so much!
Even if I'm familiar with something like state machines I watch the vid anyway to see if there's some insanely useful feature or technique that will change the way I use the system since that's happened a few times with these killer vids
Yeah okay like what the hell I didn't know you could have blendspaces as a variable. I'm only a quarter of the way in and this is changing my workflow.
Instead of using multiple boolean variables to control the flow of the state, it's always tidier to use a single enum variable since only one state can be activated at once per state machine.
That's true in some cases, however there are also exceptions. For example, a boolean to denote that a character is moving (speed greater than X) and a boolean for when a character is turning (rotation speed greater than Y) is more useful than an enum since you can be doing one and not the other. The CharacterMovement component also uses booleans internally for "isjumping" "isfalling" and "ismovingonground" which would be better as an enum since they're all mutually exclusive, but it's just how they've done it haha
This is a really nice video! I already know how to state machine but I had to learn it on my own and it take very long, I'm happy that this video exists since it will make the lives of everyone learning animation on unreal much easier ^-^, thanks a lot for posting. I learned a few things here that's awesome :D
Man I've been deving in unreal for like 7ish years now, and always pick up new tips from your vids, they are fantastic. Nice one Charlie! I am curious if you learnt a lot of this deeper system knowledge from discord discussion / live stream enjoyers? I have been thinking about streaming some of my dev as I'm going back to solo-dev again once our current game wraps up within the next few months and was curious about how much you get back out from the community. You certainly put a lot of effort into your community at any rate; is it much of a two way street for how much you learn in the other direction?
You’ve helped me so much with understanding the animations aspect of UE so thank you. I have a question, I’ve noticed that some of your blendspaces have other values besides speed/direction and pitch/yaw. Like the falling BS you have for example, can you make a video about different Blend space values? I don’t know how to derive them.
Thanks for the video and please continue with this animation in engine series because are f***ing amazing!!!👏👏 and there is not so much content about animation in ue4
When you said Adv. Anim Application, I thought you were going to cover advanced uses of a State Machine, not just the basics. Would love to see a video on more advanced usages of SMs.
Is there a reason jumping and falling aren't just a blend space and you trigger a jump montage when you press the jump button? That's how I've always done it but there's a lot I don't know
That's a very valid point - the reason I went with this approach is because my jump animation is a Blendspace that is different depending on which foot was in front when you jumped (left foot leading and right foot leading) and my falling animation is a blendspace as well. I could instead use 2 different montages and sync markers in the montages/falling blendspace but I figured this way would be easier for me :)
@@PrismaticaDev yeah that makes a ton of sense! There's always really specific needs like that unique to each game, part of why it's difficult to teach this sort of thing
Hey Charles! Hope youre doing well! :D I was wondering how you did the circular brick pattern at 6:20, where there is a centre to the pattern. Is it simply a decal, or is it a clever landscape material? Regards, huge fan
is it possible to SET a variable in state machine? like say you have a dodge/dash with a short start and finish animation for it, and rather than use some unreliable tiny delay to change the "is dodging" variable immediately after it's set, it would be nice to have direct confirmation from the game that the dodge was successfully finished.
You can use Anim Notifiers for that, or instead of a state machine you can use a Montage using the Play Montage node which has output pins for when it finishes/is interrupted etc.
Hello, I honestly love your videos!!! I would like to ask you one thing because I cant find any information exactly or at least I don't know how to search for it... Let's say you have 2 states and idle one and a walking one. going from one animation to another is a bit jerky, is there a way to interpolate between the 2 states so the transition looks as natural as possible?
If you click on the transition line between the two states, you can change the blend duration. By default it’s 0.2 which is a bit short. You also might want to try giving your character less acceleration, so that it can blend between all the walking/run animations slower
thanks for your useful tutorials, I have a question ! I keep hearing that people say that developing games by C++ is more advised in UE even by epic ! but what is it about that 99 percent of tutorials in UA-cam is based on blueprint ?! is it only because it is easier for the beginners to understand and the streamer just trying to keep it simple ?! or for example yourself prefer blueprint compared to C++?!
Honestly there's a lot of misinformation about how viable Blueprint is to develop an entire game - it's "technically" less performant than CPP in terms of CPU usage, but it shouldn't actually be very noticeable with proper coding practices. For example. 99.99% of things that you do in a video game should be event-based, meaning they only happen when they're supposed to and as a one-off (eg. I press jump, therefore I my character jumps) rather than checking every frame to see if I've pressed jump and if I haven't, do nothing. BP is definitely a lot easier to understand and I prefer it greatly over CPP. So just do whatever suits your preferences and make a great game :) Many highly acclaimed games use a lot of Blueprint, like Valorant and Mortal Shell
God i hope they add support for gameplay tags equals/non equals in fast path soon. I’ve been trying to hack it into the engine through custom function but no luck yet
Wow, never knew about that property access node before- that's neat
It's a ripper!!
Yeah that's the key point from the whole video for me, haha
It doesn't show up for me. I suppose it was added after UE4.24?
Is there any downside or bug for using that node? Have you ever encountered?
Of all the UE tutorial makers on YT, you by far and away are the most deserving of a mega-grant. And they should probably make you a UE evangelist, too. No one provides these kinds of informative tutorials and I'm so thrilled to hear you're planning to ramp up the videos! Thank you so much!
This is a really great video, the tip about Property Access is gold!
Even if I'm familiar with something like state machines I watch the vid anyway to see if there's some insanely useful feature or technique that will change the way I use the system since that's happened a few times with these killer vids
Yeah okay like what the hell I didn't know you could have blendspaces as a variable. I'm only a quarter of the way in and this is changing my workflow.
what you said in minute 10 just saved my life
I already knew how to use this, but watched the whole video anyway because I like your explanations. I ended up learning a bunch I didn't know!
The man has done it. All my questions finally answered!
Instead of using multiple boolean variables to control the flow of the state, it's always tidier to use a single enum variable since only one state can be activated at once per state machine.
That's true in some cases, however there are also exceptions. For example, a boolean to denote that a character is moving (speed greater than X) and a boolean for when a character is turning (rotation speed greater than Y) is more useful than an enum since you can be doing one and not the other. The CharacterMovement component also uses booleans internally for "isjumping" "isfalling" and "ismovingonground" which would be better as an enum since they're all mutually exclusive, but it's just how they've done it haha
This is a really nice video! I already know how to state machine but I had to learn it on my own and it take very long, I'm happy that this video exists since it will make the lives of everyone learning animation on unreal much easier ^-^, thanks a lot for posting. I learned a few things here that's awesome :D
Thank you. I will be getting a computer for my birthday, and this is really helpful.
What a legend you are!
Good videos. I often recommend your channel to my viewers :)
Quality content as usual!
Thanks bro 🤙
No worries at all :) Hope you learned a new trick or two!
Cool! I didnt know about Property Access, I am used to setting those values in differente variables inside the animation bp
Man I've been deving in unreal for like 7ish years now, and always pick up new tips from your vids, they are fantastic. Nice one Charlie!
I am curious if you learnt a lot of this deeper system knowledge from discord discussion / live stream enjoyers? I have been thinking about streaming some of my dev as I'm going back to solo-dev again once our current game wraps up within the next few months and was curious about how much you get back out from the community. You certainly put a lot of effort into your community at any rate; is it much of a two way street for how much you learn in the other direction?
You’ve helped me so much with understanding the animations aspect of UE so thank you. I have a question, I’ve noticed that some of your blendspaces have other values besides speed/direction and pitch/yaw. Like the falling BS you have for example, can you make a video about different Blend space values? I don’t know how to derive them.
You saved me from the state machine web of death!
Thanks for the video and please continue with this animation in engine series because are f***ing amazing!!!👏👏 and there is not so much content about animation in ue4
You're in for a big treat this week then, my friend! :)
Hey Charles How you set up an animation blue print that can blend between a fully procedural walk cycle and key framed combat animations?
When you said Adv. Anim Application, I thought you were going to cover advanced uses of a State Machine, not just the basics. Would love to see a video on more advanced usages of SMs.
Is there a reason jumping and falling aren't just a blend space and you trigger a jump montage when you press the jump button? That's how I've always done it but there's a lot I don't know
That's a very valid point - the reason I went with this approach is because my jump animation is a Blendspace that is different depending on which foot was in front when you jumped (left foot leading and right foot leading) and my falling animation is a blendspace as well. I could instead use 2 different montages and sync markers in the montages/falling blendspace but I figured this way would be easier for me :)
@@PrismaticaDev yeah that makes a ton of sense! There's always really specific needs like that unique to each game, part of why it's difficult to teach this sort of thing
Hey Charles! Hope youre doing well! :D
I was wondering how you did the circular brick pattern at 6:20, where there is a centre to the pattern. Is it simply a decal, or is it a clever landscape material?
Regards, huge fan
Hey! I actually have a video on it haha. Search for circular town centre unreal engine or something on my channel
is it possible to SET a variable in state machine?
like say you have a dodge/dash with a short start and finish animation for it, and rather than use some unreliable tiny delay to change the "is dodging" variable immediately after it's set, it would be nice to have direct confirmation from the game that the dodge was successfully finished.
You can use Anim Notifiers for that, or instead of a state machine you can use a Montage using the Play Montage node which has output pins for when it finishes/is interrupted etc.
You can also fire off custom events from the state machine transitions
Thanks:)
You're very welcome :) Thanks for watching!
great video, thank you!
Hello, I honestly love your videos!!! I would like to ask you one thing because I cant find any information exactly or at least I don't know how to search for it... Let's say you have 2 states and idle one and a walking one. going from one animation to another is a bit jerky, is there a way to interpolate between the 2 states so the transition looks as natural as possible?
If you click on the transition line between the two states, you can change the blend duration. By default it’s 0.2 which is a bit short.
You also might want to try giving your character less acceleration, so that it can blend between all the walking/run animations slower
You are awesome
How would you compare blending states and blending animations?
Great tutorial, now how exactly do we use that blend space variable? Can you point me to a tutorial that goes through that process?
will you do physical animations like exanima/TABS in UE4?
Pen it in for the 19th of Feb :)
@@PrismaticaDev I hope it includes combat
Great tutorial! How are you slowing down time?
thanks for your useful tutorials, I have a question ! I keep hearing that people say that developing games by C++ is more advised in UE even by epic ! but what is it about that 99 percent of tutorials in UA-cam is based on blueprint ?! is it only because it is easier for the beginners to understand and the streamer just trying to keep it simple ?! or for example yourself prefer blueprint compared to C++?!
Honestly there's a lot of misinformation about how viable Blueprint is to develop an entire game - it's "technically" less performant than CPP in terms of CPU usage, but it shouldn't actually be very noticeable with proper coding practices. For example. 99.99% of things that you do in a video game should be event-based, meaning they only happen when they're supposed to and as a one-off (eg. I press jump, therefore I my character jumps) rather than checking every frame to see if I've pressed jump and if I haven't, do nothing.
BP is definitely a lot easier to understand and I prefer it greatly over CPP. So just do whatever suits your preferences and make a great game :) Many highly acclaimed games use a lot of Blueprint, like Valorant and Mortal Shell
Super cool like always, how do you change time so quickly?
God i hope they add support for gameplay tags equals/non equals in fast path soon. I’ve been trying to hack it into the engine through custom function but no luck yet
Nice
are the property access nodes replicated?
The property access nodes are just binding to variables that exist elsewhere - if those variables are replicated, then yes
Is it true now? Is it true now? Is it true... NOW?
Is it true... NNOOOWWWW???
but ... is it true ... now?
This is all over the place and you don't actually explain anything in any meaningful way at all.
Hello! I would recommend watching the first 12: minutes and 42 seconds of the video to get a better understanding
What if I don't want the same animation for falling and jumping. Is Falling is basically doing both...
You can use the "was jumping" boolean to play a jump animation through the state machine, although I prefer to use a montage for jumping
You should check out LeafBranchGames recent video where he highlights your channel and the work you are doing for the Community.