Hey! I am trying to create a crouching system and it works great. The only problem is that the player uncrouches VERY quickly (I am using the “crouch” and “uncrouch” functions from the documentation). Anyone know if there is a variable I can manipulate to reduce the crouch/uncrouch speed?
I haven’t played around with it personally, at least too much anyways :P. But it is a Boolean. You’re either crouching or you aren’t. So you’ve got quite a few options on the table on what you could do. My suggestion would be to just run a timer along side an animation of your choice for a smoother crouch transition in your own method. This is how I would handle it personally.
I find it a bit weird that the “crouch” function works perfectly (it crouches at a reasonable speed) while the “uncrouch” function works just like wantsToCrouch = false
Have you looked into handling it yourself?
Using the base functions are a nice starting point, but for real customization,
overriding or custom functions are the way forward!
(Don’t quote me on this… haven’t looked at the crouch system yet) =]
Just an idea though:
If you are using an ‘anim blueprint’, you could use a ‘Lerp’ function to go between fully standing and crouching.
Using this value, you could blend between states in the ‘animBP’ as well as change the size of the collision sphere/box based on the float value.
And because you are using Linear Interpolation, (not how you are actually supposed to use it… but at least it’s smooth),
you can chose the speed by using values between 0 and 1.
That’s just one idea though!
I haven’t actually gotten around to looking at crouching yet, although I’m considering handling everything with root motion and ‘anim notifies’.
Hope this helps!