Here is a script here.
cam = game.Workspace.CurrentCamera
newrot = 0
camerarelpos = vector3.New(0,10,10) -- Distance of camera away from Subject
mouse = game.Players.LocalPlayer:GetMouse()
playerblock = Instance.New("Part")
playerblock.Parent = workspace
mouse.Button1Down:connect(function()
if mouse.Target~=nil and mouse.Target.Name == "Plate" then
local tar = mouse.Target
local newloc = tar.Position +Vector3.new(0,1,0)
local disp = (newloc - playerblock.Position) -- Displacement of the camera
local ccam = cam.CFrame
cam:Interpolate(ccam*CFrame.Angles(0,math.pi/2*newrot,0)* CFrame.new(camerarelpos)+disp,tar.CFrame+Vector3.new(0,1,0),1)
playerblock.Position = newloc
end
end)
Problem here is that I want to move the camera with the vector3 displacement, disp, so it follows the "playerblock" position, but for some reason the camera progressively Zooms out instead of maintaining the same distance over time. Is there something about CFrame that I am misunderstanding?
