So I’m trying to replicate Phighting!'s UI style which looks 3D and I’ve somewhat created mine to be similar. However, there seems to be an issue. When I’m walking or if the camera has very drastic movements it jitters which looks laggy. How can I fix this?
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local PlayerCamera = workspace.CurrentCamera
local UIFolder = ReplicatedStorage.UI:Clone()
UIFolder.Parent = PlayerCamera
local HealthPart = UIFolder:FindFirstChild("Health")
if HealthPart then
local distanceOffset = 2.4
local screenOffset = Vector2.new(-1.4, -1.3)
local function updateHealthPart()
local camCF = PlayerCamera.CFrame
local offset = camCF.RightVector * screenOffset.X + camCF.UpVector * screenOffset.Y
local targetPosition = camCF.Position + camCF.LookVector * distanceOffset + offset
local angleOffset = CFrame.Angles(0, math.rad(15), math.rad(-8))
local targetCFrame = CFrame.new(targetPosition, targetPosition + camCF.LookVector) * angleOffset
local tween = TweenService:Create(HealthPart, TweenInfo.new(0, Enum.EasingStyle.Linear, Enum.EasingDirection.InOut), {CFrame = targetCFrame})
tween:Play()
tween.Completed:Connect(function()
tween:Destroy()
end)
end
updateHealthPart()
PlayerCamera:GetPropertyChangedSignal("CFrame"):Connect(updateHealthPart)
end