Making Custom Hands (a mesh) rotate and move alongside camera?

I’m trying to make a viewmodel for a first-person test, and currently I am thinking of just putting a mesh that looks like hands be placed in front of the camera.

I’ve re-done the CFrame part multiple times and most times it either didn’t work, or only moved alongside camera (but not rotating)

Currently, it’s just looking AT the camera and not moving
What I want to know is how do I make it look the same way the camera looks, instead of looking at the camera & How do I set it’s position to be in front of the camera? (ex. making HandsModel have cam.CFrame.Position)

local RunService = game:GetService("RunService")

local plr = game.Players.LocalPlayer
local char = plr.Character or plr.CharacterAdded:Wait()
local hands = game.ReplicatedStorage:WaitForChild("HandsRig")
local cam = workspace.CurrentCamera

local handsModel = hands:Clone()
handsModel.Parent = char

RunService.RenderStepped:Connect(function()
	local camCFpos = cam.CFrame.Position
	local camCFrot = cam.CFrame.Rotation
	handsModel.CFrame = CFrame.new(handsModel.Position, camCFpos)
end)

Screenshot_2
example of hands staying in place and looking at the camera

1 Like