Is it possible to make a character's arm be used as first person arms?

  1. What do you want to achieve?
    I want to create smooth, adaptive, and easy first person arms so it’ll fit with every tool and its animation.

  2. What is the issue?
    It’s just hard making first person arms overall.
    Normally, you’d have to animate the character AND the arms separately, but I want to move the arms locally so it’ll work with every animation played on the character’s humanoid.

  3. What solutions have you tried so far?
    I tried searching for some scripts, but all they do is rotate or move the arms on the Y axis, and when the torso rotates sideways the arms move weirdly.

… In more explanation, I want to make first person arms be based on the character’s animations, so it could work with tools and other things like movement animations and such, and plus to save resources on having to move the Motor6Ds separately all the time.
However, I’m not sure if it would be more efficient than just having a different rig for the arms, and if at all, possible to move the character’s arms like that.

Is making a different rig for the arms and cloning a tool into it better than moving the character’s arms locally?
Should I just use .Transform on every Motor6D in the fake rig and move them accordingly to the character rig?
Or is it even possible to use the player’s character’s arms as first person view arms?

Just clarifying, I’m not making a shooter game, I’m working on a project with a friend and we want it to work for melee tools too.

Thanks for reading :slight_smile:

Have you did any research before asking…?

Unless you mean something else? What do you mean then?

I know about this technique, but I want the arms to follow the camera on the Y axis, like regular first person arms.
The problem is, that since the arms are attached to the torso with Motor6Ds, they end up looking weird when you look up and move them.


Here’s an example from a test a friend of mine made.

For something like arsenal, you would need a fake client sided arm, holding the tool, which is updating using RunService:BindToStep(callback, Enum.RenderPriority.Camera.Value + 1). Then you would set the arm cframe relative to the camera.

Just to move the arms up a bit when you look up, you would need to adjust the Motor6Ds of the arms, most likely by the Z axis, using the deltatime of RenderStepped. This would have to be told to the server to replicate to other clients because the other clients wont see your arms moving up and down.

Nevermind, I managed to create exactly what I wanted!
All I did was add a Motor6D into the player’s Right Arm though the server and connect it to the arm and then the tool’s handle.
Then I locally changed the Part0 from Right Arm to the fake Right Arm and it animated it pretty well!
https://gyazo.com/98965f25322a3fbdcaba041c6feaee49
image

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