Can you elaborate your question? When you say instant response acceleration do you mean going from 0 to 5000 m/s instantly?
If you just want the character to change velocity signficantly I wouldn’t bother figuring out the acceleration. Just drag out from the Character Movement component and ‘Set Velocity’
I want my character to have instant response acceleration and deceleration. Currently i just have ludicrous numbers for acceleration and breaking but i know that cant be the right way.
I’ve read somewhere that the best way to do this is by changing the code inside the charactermovementcomponent, but i’m wondering if there any way of doing this in the editor rather than going into C++.
Actually your method if changing acceleration and deceleration values in the movement component is the right way to do it. If your move speed is 600 and acceleration is 6000 it would mean you reach your top speed in 0.1 sec. and that is ■■■■ responsive to me you can also increase the ground friction multiplier in the movement component to get closer to the values you are setting as they are multiplied by physics asset friction multiplier.
Here’s one way to do it. So this will replace the default input for forward backwards movement. When the axis value is 1 aka moving forward we set the velocity in that direction to 5000 m/s. If it is -1 aka backwards we set it to 5000 m/s backwards. If the axis value is 0 aka standing still we set it to 0.
If you want this for the left and right axis you just repeat this for that input. As axis values are updated every tick this should be the most responsive way to acheive this.
Things to notice!
The set velocity functions also sets the velocity in the z-direction to 0 in this setup. If you want gravity you should spilt the vector input in the set velocity node and input the z-velocity from the get velocity node (also taken from the character movement component). You split a node by right clicking a vector node a pressing “split strcut pin”.
Another thing to notice if you want movement forward, backward, left and right is the interaction between moving forward and right at the same time for example. The velocities should be multiplied by cos(45) since this will keep the velocity at 5000 m/s at all times.
I know this topic is old but I need this mechanic in my project and thought i’d try anyway. in your screenshot, the set velocity nodes have a “target” pin on them, I created a Velocity variable to try to duplicate this but there’s no target pin on it when I set it (i’m an unreal novice) i’m sure there’s a quick explanation for it, I just don’t know what it is.
If you access a variable inside the blueprint that it ‘lives’ in then the node won’t have a target pin, since the target is always going to be that same blueprint.