[SOLVED!] Animated shoulder joint rotated, but characters arms wont move up and down

  1. What do you want to achieve? Keep it simple and clear!
    I want the whole arm of my character to move up and down.

  2. What is the issue? Include screenshots / videos if possible!
    the shoulders C0 orientation is normal, but the lower arm just moves back.

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    I literally have no idea what’s happening. I went from reviewing my code to even checking if IK was a problem (I don’t even use IK).

Issue:
looking down
grafik

looking up

please note that my guns idle position is animated
Any help and ideas are appreciated :smile:

1 Like

Are you using an animation to move the shoulder, or a script?

When you say you are moving the whole arm, is that for aiming the gun? There are plenty of posts on the forum about how to aim your character’s arm to the mouse position. There may be something in one of those that would help you out.

I’m using a script to point my arms to the mouse position, but the arm just compresses or expands instead of actually rotating.

Please post your script since this is the Scripting Support forum and we don’t know how your script is coded if you don’t post it.

I also searched ‘aim arm to mouse’ or ‘aim gun to mouse’ and found a bunch of helpful posts.

I’m on my phone so sadly I can’t provide any code. But basically my arms should rotate relative to the camera Y lookvector. When I check the C0 of the shoulder motor6D, the cframe is set as intended. It looks like the problem lies in the lower arm, since it compresses back or expands forward instead of actually moving up and down. I can try to rewrite the code on my phone because I remembered it, bit it’ll take a while because phone sucks.

Oh yeah btw it’s a 3rd person system. Code:

LeftShouder.C0 = CFrame.new(LeftShoulder.C0.Position) * CFrame.Angles(Camera.CFrame.LookVector.Y, 0, 0)


RightShoulder.C0 = CFrame.new(RightShoulder.C0.Position) * CFrame.Angles(Camera.CFrame.LookVector.Y, 0, 0)


Neck.C0 = CFrame.new(Neck.C0.Position) * CFrame.Angles(Camera.CFrame.LookVector.Y, 0, 0)

Turns out the dummy for the animation was broken (i still have no idea why). Thank you for all your advice @Scottifly :smile:

1 Like

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