Open Lighting in the properties window View > PropertiesView > Explorer > Lighting
Change the FogStart and FogEnd to very large values (~100000) (Properties) Lighting > FogStart, FogEnd
Change the FogColor to about <250000, 250000, 250000> (plus or minus ~50,000 still works and gives slightly different effects) (Properties) Lighting > FogColor
That’s it! Your game should have the effect shown above! You can also try playing around with other Lighting settings to get the best effect for you game. (Properties) Lighting > ???
You can’t create shaders in Roblox Studio, so this effect isn’t real cel shading. It’s just a bug feature that causes something similar to what a normal cel shader would do.
You can create a 3D model that looks somewhat like cel shading using reversed normals (and some other stuff) in blender, I assume that’s what you’re talking about.
Edit:
The video above is real cel shading. Visually it looks pretty similar.
DaezSama and I talked about their problem. I had forgotten to mention it doesn’t work that well with Roblox’s materials. It works best with smooth plastic or plastic.
some devices show weird effect after trying ur tutorial. i discovered this before but when I tried it on my other pc it produces a weird glitchy effect
That looks like the new baseplate, which has some lighting effects. The lighting effects are in Lighting and can be removed/modified to probably fix the problem.
Edit:
Interesting. It might have to do with some of the other lighting settings.
It works depending by Graphics Mode you’ve set (and maybe computer equipment you have). In my observations on Windows 10 laptop, this won’t work with Vulkan or OpenGL. (shadows also won’t work with OpenGL, which I assume to be a bug that might be not related, the laptop’s fault or it’s just ROBLOX’s decision on performance, oh well then)
Post-processing effects are not affected by cel shading effect (method? method.) except for lights.
First I changed the FogColor into 300000, 300000, 300000 to make the blobs of color a little bigger, this still left me with the annoying big sun glare though, to fix that I changed the Brightness to zero. Now the sunlight is gone, and I only have lights I placed myself. This also fixed the weird 3 colored effect you can see on the ball in my first reply.
If anyone wants to achieve this effect but without the light showing on some surfaces like the baseplate, if it’s a dark color you can change the material to neon.
I always figured it was based on a bug. I published a module on an older account that uses a method like this one but it was a global function and scripted. I think I multiplied a variable to change the intensity of the shading.
Edit (found it lol):
local Lighting = game:GetService("Lighting")
local cel = {}
function cel.shade(i) -- to reset, cel.shade(0)
local mult = (i * 5998)
Lighting.FogStart = 100000
Lighting.FogEnd = 100000
Lighting.FogColor = Color3.new(mult, mult, mult)
end
return cel
Can’t remember for the life of me what the Color3.new() is for or if it does anything.
PSA: Be careful when relying on this effect. It may make mobile players unable to see.
I discovered this effect unfortunately doesn’t work on all devices. It works perfect on my desktop, however the effect does not work on my laptop when it is rendering off of integrated graphics, so perhaps this is a Nvidia-only effect? The game renders normally, which isn’t so bad but it makes the visual style I worked hard on tweaking imperfect.
In addition, this is a warning to those using this effect, it may make your game unplayable on some mobile devices. I’m not sure which exact ones and why, but when I tested my game on my Samsung S23, the whole world rendered black! I have to include a check to disable the effect on mobile devices for this reason.
There is another workaround though, you can place a SurfaceGui in front of the camera (bound to renderstepped) with a mid-grey rgb(127,127,127) frame with a super low transparency. Then add a ColorCorrectionEffect with super high contrast. This will achieve an even more powerful colour banding effect which works not just on 3D geometry but EVERYTHING rendered in the viewport aside from UI (screenspace and worldspace). There is, unfortunately, a catch to this other method though. There is a side effect where any transparent object (large meshpart, trail, particle emitter) with its origin outside of the camera will become incredibly, jarringly bright.