Raising ViewportFrame quality/creating a blur in specific sections of the screen

I’m trying to recreate CS:GO’s blurred left and right dashboard borders (stretched out in the screenshots below), like in this picture (bottom left up to top left):


Since there isn’t a blur effect for ViewportFrames/GUI elements, I’ve created a ViewportFrame under PlayerGui while also keeping a BlurEffect inside Lighting

Inside that, I’ve created a simple script that clones all the children under Workspace and sets the viewport’s camera CFrame to Workspace.CurrentCamera.CFrame every RenderStepped:

LocalScript
local Viewport = script.Parent.ViewportFrame
local RunService = game:GetService("RunService")

Viewport.CurrentCamera = Instance.new("Camera", Viewport)

RunService.RenderStepped:Connect(function()
	
	Viewport.CurrentCamera.CFrame = workspace.CurrentCamera.CFrame

end)

wait(2)

for _, c in pairs(workspace:GetChildren()) do
	
	pcall(function()
		c:Clone().Parent = Viewport
	end)
	
end

Is there a method of raising the Viewport’s quality, or can I blur specific parts of the screen in some sort of way?

GIFs

https://gyazo.com/2daa3d05861dbd717c0f76673e0d9509
https://gyazo.com/6d33a918b8e963c732d1c2393b697907

6 Likes