Sorry, I thought people could just follow the image, since everything important is right there and pretty simple. I attached a project to the OP post.
Hello,
that part of the code returns a multiplier to affect the diagonal rotation speed based on the exponent you set. It uses the Abs() because the player Y input might be negative, and we only want the positive value in the calculation. Everything begins to make more sense once you know what the power node does; It’s UE4’s blueprint version of the exponent. For example, if your value is 2 and you put it through the power node with an exponent value of 4, then it is effectively doing this behind the scenes: 2x2x2x2 = 16. Exponents work by multiplying the base number by itself a set number of times.
Now that we know this, if the y input is 1 or -1 (fully right or fully left), nothing will happen because 11 always returns 1 no matter how many times you multiply it. But, if the y input were any amount of diagonal, say, 0.7 (45 degrees), then it will begin to be affected. 0.7^4 would be 0.70.70.70.7 = 0.2401. This is why raising the angle exponent value causes your diagonal rotation to be weaker but not your full left/right.
The second group of nodes takes the length of the player’s current X and Y velocity and divides it by a base value that you set. If your base value is 600, and your velocity is 600, then 1/1 = 1, so nothing about the calculation has changed. But then look at if you had half (300/600 = 0.5) or double (1200/600 = 2), the calculation changes to make the rotation slower or faster.
Finally, we multiply the whole thing by a “total rotation factor”. This is just the same as the “speed” of your rotation. You either add the full value (1.0) or some fraction of it.