Camera Skewer + Stretcher Module

a lil module I made that lets u stretch and skew the camera, as well as zooming

Download

CameraDistorter.lua (1.9 KB)

Preview

Usage Example

StarterCharacterScripts/Camera

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RunService = game:GetService("RunService")

local CameraDistorter = require(ReplicatedStorage.CameraDistorter)
local Distorter = CameraDistorter.new()

Distorter:SetCamera(workspace.CurrentCamera)

RunService.RenderStepped:Connect(function()
    Distorter.scale.x = 1 - math.cos(tick()) / 32
    Distorter.scale.y = 1 - math.sin(tick()) / 32
    
    Distorter.skew.x = math.sin(tick()) / 16
    Distorter.skew.y = math.cos(tick()) / 16
    
    Distorter.zoom = 1 - math.cos(tick()) / 16

    Distorter:Update()
end)

Note: This causes weird behavior with the sun if there’s a SunRays object in Lighting

27 Likes

This is actually pretty cool, this is some sort of nausea effect you can use for certain amount aspects in a game, nice.

3 Likes

This is legitimately exactly what I’ve needed for the past year or so, learning camera distortion has been absurdly hard and this simplifies it SO MUCH. My only issue is that I wish there was more documentation in the module or the post at least. As a suggestion, I think presets would be neat too.
Great module, 9/10

1 Like