How to go about creating a realistic Night Vision System?

So I’ve been wondering how realistic of a Night Vision System was capable on Roblox, and when scrolling through Twitter I found my answer.


This is a night vision system PoptartNoahh for their Roblox VR game called “ARES VR”.
(Link to the video’s original post https://twitter.com/PoptartNoahh/status/1555026851407564800)

I wondered if anyone had any idea how they managed to do it and/or if anyone knew how to create something similar. I’m sure it’s some combination of GUI trickery going on, I’ve just never seen anything like it on the platform before. From what I can gather, it appears there’s a light that points forward in the direction of the camera with a green ambient along with a GUI with a distortion effect. But I’m not really for sure.

2 Likes

Looks like a bunch of green tinting and high contrast to make dark areas darker and light areas brighter. The trick to making realistic looking NV effects is to have a lot of visible noise (so like 3-4 semi transparent noise images that switch and jitter to give the effect) and that bright lights, like flashlights or midday, will seem blindingly bright while nighttime and darker areas will be more visible.

Is that supposed to be a game on the Roblox platform? I’m very doubtful. Problem is, you can’t create or modify shaders on the Roblox platform, which are basically pieces of software written in a shader language, like GLSL, that run on the GPU. It severely limits what post processing effects are possible. The sort of VFX in that video are done via a fragment shader.

One of the big problems with Roblox, as a development target, is that many things that are marginally ‘complex’ are often hidden or abstracted away from the developer. Sometimes, a very specific, rigid implementation of some functionality is provided that kind of approximates what you’d like to do, but doesn’t offer much flexibility.

This is probably intended to help very new, very young developers, but gets in the way of experienced ones. It makes moving from other game engines to Roblox a pretty awful experience.

That game is on Roblox, it is shown off on Reddit a ton, id assume it is just fancy lighting tricks, with Roblox’s shaders, and probably an overlay or two.

To achieve this effect you can add a ColorCorrectionEffect, then open the properties tab and set the tint color to 153, 255, 208, the saturation to -1 and the contrast to 0.2. You can also add a BlurEffect to make it look like in the video. Then you can add a Vignette gui, There are a lot of vignette guis available in the toolbox so I think you should find one pretty easily. You can also go to the image in the gui and decrease it’s transparency. Play around with all of these values to get something decent. You can also increase the brightness in the ColorCorectionEffect.

Hope it helps.

4 Likes

Thank you, this was what I was looking for.

1 Like

Hello, the contrast is actually set to -0.1, to make it LESS contrasty. It is the composition of the map itself that looks contrasted.
There is no blur, but a bloom with a low threshold and a high size. It is VR so I had to create a vignette and grain attached to the player camera.

11 Likes