How do I make a "Bodycam like footage" effect in Roblox?

Chromatic aberration is possible but I imagine it being very expensive since it would likely need you to utilize multiple viewport frames all with their own copies of everything you want affected. Here’s the author of that tweet explaining how.

Maybe get the nearest light source from the position the ray hits and get the light value from the light itself?

I’m also currently doing this for the camera exposure. Where it automatically adjusts the exposure.

I discovered that there is a property inside of Lighting called “Exposure Compensation Amount”. I think that can also help.

Change the “Reflectance” property of the glass lens to 0 Which remove the sun thing from what I know.

Nope, didn’t work. Thanks again though.

1 Like

Glass is known to be very limited, the sun reflection can’t be removed unfortunately.
You will have to pick another material to get around this.

I need to detect if the player’s screen is dark or bright.

Sadly, as far as I know it’s not possible to detect if the screen is dark or bright.

Shoot

Awww man… Thats also sad. Again…

This would make a great feature request if it doesn’t exist already. though it probably does

It is possible to find if the screen is bright without access to the actual screen but it would require a lot of hacky checks, too many to make it worthwhile or even feasible. Something like this is something I feel should be available in a game engine…

Edit: What I mean by possible is that if you tune your game to be completely dark without lights it is possible to check if any lights are lighting up the place you are at, though almost no games can be made pitch black to make this approach work.

I just discovered there is a module that detects if the screen is bright or not.

1 Like


Here we go I figured it out!


local runService=game:GetService("RunService")
local camera = workspace.Camera
local FieldOfView = 170


runService.RenderStepped:Connect(function()
	camera.FieldOfView=FieldOfView
	if FieldOfView>=120 then
		local dv=(1.7320508075688767*((camera.ViewportSize.Y/2)/math.tan(math.rad(FieldOfView/2))))/(camera.ViewportSize.Y/2)
		camera.CFrame *= CFrame.new(0,0,0,dv,0,0,0,dv,0,0,0,1)
	end
end)

Just put this in “StarterPlayerScripts” in a local script and you will be done.

4 Likes

Oh my god! That’s really sick dude!

I’m currently still trying to do the light detection for the exposure.

Lemme also try this out really quick.

Everything else you should be able to do with either FOV viewports GUIs. I hope that helps and solves your questions!

2 Likes

You guys really helped out a lot! I thank you guys very much! Goodluck on your journeys! I’ll just reply if I get any further problems. Thanks again.

3 Likes

Increase FOV to higher than 120? - #7 by NowDoTheHarlemShake it can be done