Looking for help with ball movement. Diagonal goes faster

I was troubleshooting my blueprint the whole day. Googling and trying this and that. I tried a lot of different approaches, but still to no avail!

Anyway… here’s what I’m trying to do: a rolling ball game (yes, very original :slight_smile: ). However, torque doesn’t give me the kind of movement I’m looking for. Neither does Add Force. I ended up using Add Impulse - it gives just the feel I’m looking for.

Everything works perfectly, except for one thing - my ball gains speed faster diagonally.
I checked the vector - it’s 1.0.0 when I go forward. and It’s ~0.75.~0.75.0 when going forwards and to the right. So the vector is correct.
However, when I check velocity, I see 700.0.0 forward and 700.700.0 and even more when going forward and right. Which is incorrect.

Let me show you my blueprint.



I tried to add forward vector and right vector together, then normalizing it, then multiplying by acceleration and sending it to a single add impulse node. However, it just makes things worse somehow - that way the ball accelerates indefinitely diagonally and at much higher rate.

I tried to set a condition:


And then multiply the acceleration by Diagonal_Movement float.
It fixes the diagonal movement issue, but introduces another - now steering while holding W, for example, is slower. Also it’s an awful “solution”.

I attached my project so you could see how it works and how the ball moves:
Marlbe_Prot.rar (11.9 MB)

One thing I should clarify - I’m gonna limit max speed of the ball later. What bothers me specifically is the rate at which it gains speed. It’s inconsistent - faster diagonally.

1 Like

I disconnected everything else… :sweat_smile:

Marlbe_Prot2.rar (12.4 MB)

2 Likes

Thank you! You’re a hero!

So I had the right idea, it’s just my execution was sh*t :smiley:
Well, I’m a 3d modeler, and my blueprint experience is fairly low.

But I hope I’ll learn from this!

1 Like

It’s more of a math thing: diagonal was faster because it was applying 100% of both forward and side values. All I did was make it so that both together max out at 100%.

1 Like

Now I just have to reconstruct this in ue4.24 :slight_smile:
I have bad editor performance in later versions for some reason… So I’ll stick with this one.

1 Like

Ah… sory… Did not think about that. lol

2 Likes

That’s no problem! You helped me out a lot as it is!

1 Like

I successfully reconstructed it in 4.24 and it works correctly!

Again, thank you very much! It was such a bummer to get stuck straight at the first step of making this project!

2 Likes

But that’s the best part… the ever ending problem solving.

1 Like

Great job figuring this out pezzott1, I am having a similar problem but using torque on a motorcycle wheel and I noticed the opposite thing happening where the bike is going faster straight and slower on diagonal.

Here is the thread if you can help.