As a roblox developer, it’s currently difficult to build games that look and feel certain ways.
I understand and appreciate roblox’s commitment to PBR materials, but here are some suggestions for some new material types that would be very useful.
Rim Light Material
A normal plastic style material that also allows you to specify a secondary Rim Color. (Glass already has a little bit of rim shading but you’re not able to customize it at all)
Toon Shaded Material
We have amazing outlines coming soon, so why not give us access to a nice two step or even three step toon material? Let us specify the two/three colors manually per instance, and the falloff point.
And who better to show off toon shading than toon link?
Unlit Material
Right now all materials are lit. Right now you can’t fill a solid color or reproduce a diffuse texture exactly as it is authored in the 3D scene. This is an important tool for doing “effects” work in other engines, and it’s strange that it’s missing here. You can also do a lot of stylistic things with it.
With just a little bit of vertex color, unlit materials can go a long way!
These effects can sort of be hacked in right now, using opaque glass, using neon, or abusing deformed normals in a mesh export. This is obviously not ideal.
These materials are well known to be cheap to render on mobile, so it’s not like we’re asking for displacement mapping or something too grand here.
The new MaterialService and override materials cannot produce these effects, hence this feature request.
SmoothPlastic actually has some pretty nice looking rim shading effects. I use it on my games characters. But other then that, I completely agree with your points. We need a lot more control over materials…
Sooo, Roblox pretty much has custom materials now.
Though they’re still limited to the default shaders that PBR typically uses.
I think what Roblox really needs to give us is perhaps some extra settings in the LightingService that let you customize lighting better because a lot of shading in games actually depends a lot on the lighting.
So I propose ideas like:
Resolution, sharpness, filter mode and constrast for shadows.
Increasing contrast and sharpness can lead to very sharp shadows that look like cardboard cut-outs of the model that casts them.
This is basically what gives you the toon and cel shading that you see in some Zelda games.
Filter mode determines how shadows are filtered, having it off leads to pixelated, sharp, jagged shadows with more quantized shades.
Setting it to smooth can lead to more realistic or very blurred shadows.
Resolution would impact performance but can also be used as a variable to customize shadows to fit a certain style.
Low resolution and blurry shadows could fit cartoony games where you don’t want character shadows to be overly detailed, maybe you want the shadow to be just a circle below a character’s feet?
Fresnel / silhouette lighting, ambient light absorption and shading mode.
Fresnel gives you the rim lighting that you showed in those Mario Galaxy screenshots.
By customizing the falloff and contrast you could create a glass or even a outline effect around objects.
Ambient light absorption determines how much the sky / skybox, cubemaps and the general environment influences the color tint on an object.
This can be used as a cheaper alternative to indirect light.
If a white ball were to be placed on a plane with a blue or orange sky, you likely would want that ball to have a blue or orange tint from the sky.
Now if I’m not mistaken Roblox already has this but it’s still very limited in ways you can customize it.
Shading mode is where the real fun begins.
Changing it let’s you make objects behave like various real world materials while still being able to make use of PBR or not use PBR textures at all.
With shading mode objects can be given a more metallic or crushed velvet look WITHOUT needing to use or set any metallic textures.
Objects can also be made to look more like wax, clay or human skin with subsurface scattering.
This could also be used in many ways to make games look more stylized.
I’ve kinda always wanted to make a game where all the characters look like as if they’re made out of wax or some kind of greasy material that glows a bit when light shines upon it.