VHS, CRT, VCR Filter Module

Demonstration Video -

^ The shake artifact looks a bit more intense than it actually is due to youtube video stuff


Demonstration Code -

local VHSFilterModule = require(script.VHS_Module)

VHSFilterModule:SetCameraFieldOfView(70)
VHSFilterModule:SetFilterState(true)

Module - https://create.roblox.com/store/asset/18337518077/VHSModule

I am planning on updating this when EditableImage comes out, as I can add things like autoexposure and advanced artifacts

28 Likes


looks great but… Its offsale lol

sorry forgot about that, should be available now.

Best VHS effect I’ve seen! Nice job on this.

Aight bet, time for some code critique

You seem to be giving each object a random GUID for its name, this looks useless to me. You also apply the properties to each object using a for loop which could’ve just been put into a function for more readability. For ex. applyProps(obj, props)
Instead of calling the PreloadFilterAsync function just preload them whenever the module is required or the images are changed
On line 79 of the VCRT timer module you do task.cancel(CurrentTimer) altough it might fail due to this: while Active do consider changing this to while true do or pcall(task.cancel, CurrentTimer)

i gave each instance a random GUID because there is no real reason for giving them names when we don’t look for instance by name, so if i could minimize any chance of a situation where a given name is a duplicate of my name then i will minimize that

There is no real reason to, a GUID is alot more data than just leaving the default instance name

I would love to use this!
I do recommend some sort of ‘fisheye’ effect, which would look even more realistic.

image

this isn’t really possible, and the way with a circular glass part forces you to sacrifice water terrain, decals, and performance. (it also just looks weird not how a fisheye lens actually works)

1 Like