Moving the Character's Real Arms

I’ve made some animations that involve the player’s arms in first person view, however I want the arms to be in view of the camera at all times (like an FPS shooter game or something), so that if the player looks up and down then the arms follow this movement and they’re visible within the camera (and hopefully the animations will also still play if I do this).

I’ve already tweaked the TransparencyController so that the arms don’t go transparent when the camera is in first person.

I tried doing a CFrame.new(arm.CFrame.p, mouse.Hit.p) on each render stepped, which works, but the character gets “flinged” around because the entire body of the player gets moved as well, not just the arms.

I want to use the real arms instead of welding on fake ones because I want to keep using the animations and I can’t be bothered hard coding the animations (I also don’t know the math on how to do them). Or am I able to run the animations on parts of a humanoid that aren’t the arms??

Any other ideas or suggestions would be appreciated :slight_smile:

3 Likes

since every game in roblox is filtering enabled. you can make the character’s arms invisible and use fake arms to hold the item in view.
then the server animates the characters arms and the client the fake arms. that way it look realistic.
or if you are in for a more poligun style game just hold the camera in a 3rd perspective view. and then just animate the character arms.

Here’s how I do it:
First, for the arm transparency, there is a property of every BasePart called LocalTransparencyModifier. This controls the transparency in first person. By default it is set to 1, but if you set it to 0 then the arms should be visible. One thing to note is that I think roblox updates the property every time the camera is zoomed in or out so you need to change this property every frame (ie with .RenderStepped or BindToRenderStepped).

For the arms following the camera, what I did was weld the arms to the head on the client with motor6ds (this way I can play my first person animations without them replicating). Then I do some CFrame math to rotate the head towards the cameras direction. If you do it this way then you won’t be able to use your current animations though. It suck, but I haven’t found a better way to do it. I’d love a better solution to this if anyone else knows of one :smiley:

1 Like

This is a really good tutorial on how to make a first person shooter, with all of the added visuals.

4 Likes