As a Roblox developer, it is currently too difficult to get proper lighting and a consistent look across both in-game objects and objects inside of ViewportFrames. Trying to do so manually using various Color properties and caching the original color values carries a large performance penalty and does not produce correct values since Roblox’s color algorithms are proprietary and not available anywhere.
Here is a comparison of the actual in game view and a view inside of a ViewportFrame:
The ViewportFrame is an exact copy, with the face and rest of the body removed.
If Roblox is able to address this issue, it would greatly improve the development experience and performance of our games because there will be no need for the overhead of doing manual color correction for each object and keeping track of original values.
There has been a similar feature request already, but it suggests full support for all post effects as well as additional UI features which we do not need for our game. This is a smaller feature request only targeted at color correction.
Going to bump this and supporting this! Having ColorCorrectionEffect that could support and affect ViewportFrames as having that bland and dark color on it instead of a bright and contrasted.
Anyway, in my game “Noob Defense” I have plans for using ViewportFrames as our game uses a nice blend of contrast and saturation and some fog to make the game realistic but having that particular UI element with that contrast would be nice to have too many games on the platform.
Having Roblox default the ViewportFrame to have no ColorCorrection, Blur or maybe shadows can be very beneficial isn’t the best ever since ViewportFrame was introduced.
Would really like this to be looked at and added to the Engine as soon as possible in a month or two, would love a setting to set Contrast / Saturation instead of setting to default with the original ColorCorrectionEffect in Lighting.
Bumping this again since this is an underrated feature request. In my game I currently want to make a color correction effect just for 1 model but sadly viewportFrames don’t support ColorCorrectionEffect. Would love this to be added!
Viewports are really useful. Sad that roblox has a feature request category even tho they don’t care and added it just to seem like they listen to developers.
Bumping this thread. I use viewport frames in my games for IMAG screens (screens used in live events that zoom in on the performer’s face), most popular artists and festivals nowadays use IMAG in their performances.
Some take it to the next level like Taylor Swift, who incorporates IMAG into her stage visuals sometimes using color correction like higher or lower saturations with color tints to match her visuals (there’s more artists that do this, she’s just the most popular example I could think of that people are more likely to understand).
(gif example because why not?)
It would be nice though to have color correction for viewport frames. I’m working on a game right now that needs this feature, but alas—Roblox doesn’t support it. You’re very limited in what you can do with the ImageColor3 property. It’s been almost 6 years since viewport frames first released and there’s not much you can do to modify the appearance of it. Like the OP says, you can’t just apply color correction to each part’s color property manually because of the performance issues. Adding onto that, there’s also things like SpecialMeshes, MeshParts, SurfaceAppearances that you might be able to color correct; but you can’t add brightness or contrast to their textures easily.
Off topic, but there’s also a hidden IsMirrored property in viewport frames that was silently added around 2 years ago (and Swift also uses mirrored IMAGs in her performances …) It seems to show that Roblox can add more features for viewport frames, they just don’t release them out to the developers who’ve been wanting these features since forever (e.g. mirrored viewport frames to use as mirrors).
I’m just gonna end my yapping here by saying: Roblox, we need more features for viewport frames. This would be a great feature to have.