Unreal Engine Style Motion Blur Visualisation

Introduction

Hello, for the past 6 hours I was working on creating a Visualiser for Motion Blur similarly to how Unreal Engine does it.

This approach does not magically add motion blur like other Triple A games, that is Roblox’s step, I’ve created them a Robust System to work with in detecting what needs to be blurred based on the Client’s Screen.

You can increase the Cell Resolution using the configuration dictionary I’ve nicely introduced into the script.

Configuration Dictionary

local Configuration: any = {
	Horizontal_Cells = 16,
	Vertical_Cells = 9,
	
	Visualisation_Amplification = 256,
	Minimum_Visualiser_Amplification = 512,
	Maximum_Visualiser_Amplification = 1024,

	Maximum_Visualiser_Length = 128,
}

For the first version of this script, I’m happy to say it’s pretty alrightly optimised. Increasing the cells will get a nicer result however that comes at the expense of lag or at least until I create a feature that interpolates between a hit and a non hit to check if anything is in the middle or focus most cells near the center where it matters.

I’ve gotten this inspiration from Unreal Engine
Unreal

My Approach

This is what the effect looks like when zooming in.

Here is the same thing but with the cells fully visible with an outline. The blurring will take place in between these cells, if 1 cell is meant to be blurred and one is not, the blur will fade to adjacent cell rather than just be a solid change in the middle.

Another cool thing is the spiral near the character when rotating the camera.

Video Representation of it in Action

UKs Trashy 0.9 Megabit Internet prevented me from uploading it. Someone please take a video of it and send it for others to see or pretend you're watching a revolutionary video about the system I made. Thank you.

How it functions

The script functions because the Cell_Dictionary is storing a table of 2 specific Vector3s.
{Frame: {Vector3, Vector3}}

Some aspects were done using ChatGPT, I’m not a math guy, if I were to not use AI I would have sat there for 3 days doing trial and error until it worked, ChatGPT got this code working in 1 hour of constant verbal abuse. I know for sure Robots will come after me first when they take over the earth.

Just think of it as a trail, the trail is the difference between the Current and Previous, the camera plays a big role in this.

Download

Motion Blur Visualisation.rbxl (57.4 KB)
Motion Blur Visualisation Model File.rbxm (5.3 KB)

Feedback is appreciated and any edits to optimise the code please post them!!!

18 Likes

its really cool but does actually do any blurring? also that viewmodel is really good

3 Likes

I made this to aid Roblox in giving us a Motion Blur feature implemented into Roblox, so until Roblox gives it to us, this is 99% useless.

1 Like

I don’t know if this is off-topic or not, but roblox needs to allow us to add blur effects to GUIs. Just think of all the cool things we could do with that…

Here is a example of what we could use this for:
image
(This is supposed to be a SurfaceGUI on a part.)

1 Like

I don’t think this is off topic, Roblox giving us UI blur will 100% help slightly in giving us Motion Blur, but it’ll have to be linear blur.

1 Like

There already exists something like that: New ui blur [fully automatic]

It’s a very hacky approach however.

Truly wish we had this, no matter what bizarre and unrealistic technical limitation Roblox has seeped into our minds like “support for 10 year old android tablets,” which probably can’t even run Roblox properly.
very inspired by your motivation to make something you know will be ultimately useless.

closest we have is dynamically adjusting blur strength :sob:

5 Likes

Poor ChatGPT, you got him make the hardcode and many errors :cold_sweat:

1 Like

Errors are impossible, I bullied ChatGPT too much to allow him to let any slide past me.