The Unity Asset Store has a free asset called EZ Camera Shake, which I have ported to Roblox.
Module:
GitHub repository:
The original author of the Unity3D asset, Road Turtle Games, gave me written permission via email to make and open-source this port to Roblox. I contacted the developer since there was no licensing information available for the Unity3D asset.
Example of the module using the Explosion preset:
Example code:
local camShake = CameraShaker.new(Enum.RenderPriority.Camera.Value, function(shakeCf)
camera.CFrame = camera.CFrame * shakeCf
end)
camShake:Start()
-- Explosion shake:
camShake:Shake(CameraShaker.Presets.Explosion)