i’ve come across the following problem, that the “make rotator” blueprint is ignoring the Roll input. basicly the following screenshot is outputting the same result with and without the Roll pin connected.
And yes, i checked if it has a Value, it does and having 2 channel by trace running at the same time, one with and one withou the roll produce the exact same line.
Also using a combine rotator afterwards with only the roll input as the second rotation does not actually change the rotation.
For those interested, the rotation comes from a position on a spline and it does not make a difference if it is the world rotation or the local rotation.
Also the reason i break up the rotator and add values manually is because if i used a second rotator and added them that way, the rotation would just be “wrong” i dont know why or how.
Also the rotation combining rotators blueprint did worse the further away i got from the starting positions rotation (not distance), it basicly was a straight line when it was facing 90° to the right or left from the starting position and not a fanned out in a vertical line.
If you have any questions feel free to ask, i am a bit busy because this is part of my thesis and it’s nearing it’s end, but i’ll try to get back to you.
Fun fact, it lead me to do the following equations for the rotators:
Well that is what suprised me, that the shown solutions is resulting in the correct rotations. If i use combine rotators it does not produce the desired rotation since it ignores the roll value. I tried roll = 0° and roll = 45° and it led to the same rotation
And something i missed in my first post was that the default values for all variables, except the one off-screen coming from the top are zero. Which should make it more clear what is happening.
The Value off screen is a slowly incrementing values, which i meant with “fanned out in a vertical line”.
And using the rotation i want to add in a Rotator and then combining these does not work. Do you mean by “what order you combine” if i use a lot of rotators or already if i use only one combine rotators, that it is important what rotator is “on top” and which one is below?
It just struck me as odd and i wanted to make sure it is working as intended, because the Roll value changing actually nothing does not seem to be correct.
Edit 1: It is not that i “need a solution” i just want to bring awareness that this behaviour exists and perhaps find out why (if at all) it seems to not work correctly.
Edit 2: The simple way to test it yourself (maybe i do something wrong) would be to make a rotator in a blueprint, apply that rotation to an objekt with different roll values and see if you get the same result as i did.
It’s not intuitive AT ALL how rotators work. You could add a rotator to an object with has roll and the result seems totally wrong, but I think it’s not. Can you give a specific example?
The Object i am rotating is made so that you see all of its axis.
The first thing i do is “Get Rotation at Distance Along Spline” this step works fine.
The second step is turning the object to the left and right (for this example only right) and creating these red rays
Roll = 45°
It is suprising since 45° in any direction should show some effect if im not completly wrong
Also changing the order in the “Combine Rotators” had no effect
One thing that may have influence is that i am doing these while in Play mode, not the Editor view.
Yeah its close to what i got.
What i am doing is that im “walking” along the spline, thats why i use “at distance” since the spline itself can change rotation and does not need to go straight or horizontal.
For clarification: looking at the pictures i provided, the yellow bars going horizontally, are the spline, they are used to visualize it in play mode.
At first i didnt notice it, but when i used to turn/curve the spline or simply just go down/up like seen in my post above, the behaviour was odd, since the seen Pitch did not convert “properly”.
The blueprints i use are
“Get Rotation at Distance Along Spline”
->On this Rotation i am adding the second rotation as seen in the pictures
“Set Actor Location and Rotation”
and that is basicly it
Could you try it on the Roll? That is the one not working for me, Yaw and Pitch are working fine.
Btw i am using the Coordinate Space “world” and not local.
I also i believe that if you “request” the rotation the first time on the spline the resulting rotation will always be returned with yaw and pitch, while the roll is zero. But that test is from a while back
I am using set actor location and rotation for the moving of the object, it just states rotation, yet since there is “set relative rotation” i assume it is world rotation
What i am saying is that:
I am requesting the World rotation on the position of the Spline with “Get Rotation along…” and i get Roll = 0
Then i Turn the spline around and get this result
completly different rotation, yet roll is still 0
That is what suprised me and why i thought “Roll gets ignored”
Another difference, you see My object was in the spline BP.
I see you moving the actor with spline around, but you actually have to manipulate the spline to get different data back from ‘rotation at length’ ( rotate the spline points ).
This works for transmitting the spline transform to an external actor, and adding to the Z rotation
Okay i think i found it, after checking back with everything and returning to the Combine Rotator function i ensured that the Rotation for the turning left and turning right is the “basis” for the calculation → the first rotation in “Combine Rotator”
And it actually worked… no rotation of the spline itself or any kind of it screws the rotation of it, even with me using all the additional values (following picture)
btw the final calculation looks like this:
The only thing that comes to mind that led to this, was me using the wrong order for combine rotator, which considering how much time i spend on this and the goose chase that ensued, is realy way to much