You can write your topic however you want, but you need to answer these questions:
i want it to stop shaking
the problem is that i’m setting each time the CFrame making it really shaky / Roblox Studio - Clipped with Medal.tv
i arleady tryied giving it a difference magnitude from both position but that don’t fix the shaking and make everything else weird, the script is server side, ArmsView it’s a viewport with only the arms
while (Char.Torso.Position - Obj.Position).Magnitude < 15 and GrabValue.Value == true do
local DirectionLeft = (Obj.Position - Char["Left Arm"].Position).Unit * 4
local RaysLeft = workspace:Raycast(Char["Left Arm"].Position, DirectionLeft)
local DirectionRight = (Obj.Position - Char["Right Arm"].Position).Unit * 4
local RaysRight = workspace:Raycast(Char["Right Arm"].Position, DirectionRight)
if RaysRight and RaysRight.Instance then
print((ArmsView["Right Arm"].Position - RaysRight.Position).Magnitude)
local currentPos = ArmsView["Right Arm"].Position
local targetPos = RaysRight.Position
local lerpedPos = currentPos:Lerp(targetPos, lerpAlpha)
local baseCFrame = CFrame.lookAt(lerpedPos, targetPos)
local correction = CFrame.Angles(math.rad(-90), 0, 0)
ArmsView["Right Arm"].CFrame = baseCFrame * correction
end
if RaysLeft and RaysLeft.Instance then
print((ArmsView["Left Arm"].Position - RaysLeft.Position).Magnitude)
local currentPos = ArmsView["Left Arm"].Position
local targetPos = RaysLeft.Position
local lerpedPos = currentPos:Lerp(targetPos, lerpAlpha)
local baseCFrame = CFrame.lookAt(lerpedPos, targetPos)
local correction = CFrame.Angles(math.rad(-90), 0, 0)
ArmsView["Left Arm"].CFrame = baseCFrame * correction
end
task.wait()
end