Rotating an arm regardless of orientation

I have an arm(Static Mesh) attached to the player character. The player can use the mouse to rotate it. The arm starts from the elbow where the origin is. The mouse input values X and Y are used in an “Add local rotation” node. The arm moves up and down, left and right.

I also want to roll the arm. Rolling the arm also rolls the origin. For example, if I roll it 90 degrees then moving the mouse up and down actually moves the arm from left to right.

How do I move the arm up/down/left/right regardless of roll?

Give the arm a parent component.
And then roll the parent component.
Pitch and yaw raletive to the parent

So I added a new static mesh component as a parent of my arm. The parent should not rotate at all. The arm can roll with an “add local rotation” node and it should rotate left/right/up/down based on the origin of the parent using an “add relative rotation” node. That makes sense to me.

However this still does not happen. Not sure what I’m getting wrong.

X (Roll) is the left-right movement
Y (Pitch) is the up-down movement
Z (Yaw) is the tilting movement

It is a bit reversed but I assume it’s this way because of my mouse action values (X and Y).

Sorry,not sure if I understand.


Here I move mouse left and right while press A and D to roll the parent.
The operation kind of anti-human?

Sorry forgot to turn off music,didn’t realize until posted it

Here’s a video:

In the first part, the arm moves normally. As soon as I tilt the arm it starts going sideways. You can see which way the arm should be moving by looking at the camera’s movement. If the camera moves up, the arm should also move up, and so on.

You can have a look at the blueprint here:

The video doesn’t open…
And actually I’m a noob noob on learning :grin:.
I’m pretty sure someone in the community would help you, they vary skilled, and like to help people.

I just set the video to public. Try now.
Well, no one else replied so far.

No, i mean I can only open videos posted on the forum…because im a foreign actually

I had to move the parent itself instead of the arm. I still used your solution, so thanks!

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.