function FpsCamera.GetSubjectPosition(U)if U:IsInFirstPerson()then local U=workspace.CurrentCamera local C=U.CameraSubject if C and(C:IsA("\072\117\109\097\110\111\105\100")and C.Health>0)then local U=C.Parent local y=U and U:FindFirstChild("\072\101\097\100")if y and y:IsA("\066\097\115\101\080\097\114\116")then local U=y.CFrame local C=U*CFrame.new(0,y.Size.Y/3,0)return C.Position,U.LookVector end end end return U:GetBaseSubjectPosition()end
-- Returns the subject position the FpsCamera
-- wants Roblox's camera to be using right now.

function FpsCamera:GetSubjectPosition()
	if self:IsInFirstPerson() then
		local camera = workspace.CurrentCamera
		local subject = camera.CameraSubject

		if subject and subject:IsA("Humanoid") and subject.Health > 0 then
			local character = subject.Parent
			local head = character and character:FindFirstChild("Head")

			if head and head:IsA("BasePart") then
				local cf = head.CFrame
				local offset = cf * CFrame.new(0, head.Size.Y / 3, 0)

				return offset.Position, cf.LookVector
			end
		end
	end

	return self:GetBaseSubjectPosition()
end
