I am storing the orignal CFrame and Focus of camera prior to the animation. If I want to tween back, it does that perfectly if I stay in the same spot . Now I want to store the original CFrame and Focus relative to the player (I think HumanoidRootPart would make sense), so the animation looks good even if I move while having the camera near the part.
local player = game.Players.LocalPlayer
local cam = workspace.CurrentCamera
local tweenService = game:GetService('TweenService')
local originPos = cam.CFrame --// Save the origin values, so we can animate back.
local originFocus = cam.Focus
--coded, but not disclosed: tween to a part (tool) and after a few seconds tween back.
local updatedPos = nil
local updatedFocus = nil
--tween camera to updatedPos and updatedFocus
I just need updatedPos and updatedFocus to be results that make sense and therefore do not cause the animation to go completely weird.