I'm working on this camera script that slowly faces the position of a player's mouse. However, there are two issues: the first being the non-stop rotation and the second being the weird shake glitch with the camera. I've tried looking everywhere for what I want to accomplish, but I keep seeing questions and solutions for making a 3rd person-like camera movement. If anyone knows how I can improve this or where I can get some information that'll lead to my goal I would greatly appreciate it!
Non-stop rotation: https://i.gyazo.com/679c0964bb9bf314bf3b36b84e9e9e32.gif
Camera shake glitch: https://i.gyazo.com/ffb6d57eb1d83fd274a985557ae8687d.gif
Code:
local Cam = workspace.CurrentCamera
local Player = game.Players.LocalPlayer
local Mouse = Player:GetMouse()
wait()
Cam.CameraType = Enum.CameraType.Scriptable
game:GetService("RunService").RenderStepped:Connect(function()
game:GetService("TweenService"):Create(Cam,TweenInfo.new(1.5, Enum.EasingStyle.Linear),{CFrame = CFrame.new(Cam.CFrame.Position, Mouse.Hit.Position)}):Play()
end)

2 comments
To stop the Non-stop rotation maybe try replacing the RenderStepped event with a mouse.Move event. It's kinda unnecessary to use render stepped when the camera is being smoothly rotated/positioned for you with tweens.
I doubt you'll see this comment/or reply but the reason why I didn't use Mouse.Move is because it doesn't make the camera fully face the mouse's position.