New Material For Shiny Objects

This idea still lacks use, there’s very few games that could utilise this and it would be to just make more ugly pets so they can grab money from children. FPS games will not benefit from this, Racing games will not benefit from this, so what game does other than your cash grab adopt me game?

1 Like

Well…
yeah that’s true i guess, could do for some cool skins in FPS games i think.
but other than that, yeah it lacks use.

2 Likes

If anyone else wants to try and understand what they are asking for, it appears to be a very odd way to make things look shiny, and does not support PBR as it only works off the color map and diffuse lighting. It effectively shifts the midtones a couple times to get dark bands on a surface, which coincidentally look similar to a reflection. Here is my recreation of it on a smooth mesh:

Quite like velvet, I think. But this method seems very “hardcoded”, and a bunch of numbers are thrown around without any context. I think the features needed to recreate this effect should be broken down into multiple blocks, instead of it being one material that completely disobeys the laws of physics.

Effect re-creation

Here is the base shading model, a clamped Lambertian diffuse term multiplied with the texture color…

As the videos suggest, the diffuse term is a value ranging from 0 - 1 representing how much light is reaching a certain pixel.

In the first step, they say that 0.5 should be subtracted from the diffuse term, the absolute value should be taken, and then it should be multiplied by 2. This effectively makes the shading midpoint darker and the shading extremes brighter. Since the light source is somewhere off the top-right of the screen, the middle of the claw becomes darker and the sides facing further away and further toward the light are the brightest. At some angles, it’s actually a lot like the Fresnel effect where you get more light contribution at “grazing” angles.

They then say to put it through the formula twice more, doubling the banding pattern:

1 Iteration:

3 Iterations:

And then they bring up this curve:

Hmm, what do you think they are going to describe next? The function for it? It isn’t something easy like x^2 or x^3, so what is it?

No, of course they wouldn’t. They go on to explain how you can do the homework your teacher gave to try and find the Y-value for a given X-value by looking at a graph.

I think I got close enough at x^3.5, but I was actually going to post this without the final result because I thought it would need to be more precise. Raising the diffuse term to that power as video #3 at 26 seconds says, however, results in this:

Sure, [they’ve] won, but at what cost? It’s not physically-based. It’s in my opinion, a little hacky. In the way it’s described, there’s no artistic control over it. Why not just use SurfaceAppearance to make a surface shiny? You should already be able get this same “stretchy reflection” effect in the engine:

, which, to my eyes, seems a lot like what this is trying to imitate.

7 Likes

Doesn’t setting “Reflectance” on the supported materials (Glass, Plastic, SmoothPlastic) get essentially the same result though, rendering making a new material just for this redundant?

(Glass especially, since it seemingly always has a reflection of the skybox no matter what its reflectance property is)

4 Likes

I think glass works sorta but it would be a bit weird since it reflects the skybox. It would be nice to have something straight up shiny, like highlights only if that makes sense

Having a shiny material is a must have imo

3 Likes

For the love of everything please speak faster in these videos. There is absolutely zero reason to drag out a feature request like this. Text w/ images would’ve been sufficient.

You’re submitting a request to Roblox staff, not uploading a Youtube video. Besides, SurfaceAppearances work completely fine for whatever you’re trying to accomplish.

9 Likes

Thank you for your response

I was unable to provide a formula for the curve because it was made from bezier curve points, so the only way to find Y given X would be to use an iterative approach

However the exact curve that you use doesn’t really matter, the whole idea is to make the lighter parts stand out more, so something like x ^ 2 ^ (2 * x + 1) should work fine too

2 Likes

Here is how the effect compares to some of the available effects
On the left is this effect
The second one is roblox’s metal material
The third one is smooth plastic with reflectance set to 1
The fourth one is a surface appearance with a fully white metal map and fully black roughness map

11 Likes

Great, now add bloom so the metalness map can look like that.

5 Likes

I’d wish for such material to be added too!
I hope Roblox will accept your request, and good luck.

1 Like

man, i seriously want to be able to customize how roblox’s and custom materials are being shown, such as a slider to increase or decrease the metalness for example or this idea here, a slider for shinyness.

2 Likes

oh, it really has a monstruous difference

metal or foil materials can get a similar effect but as an obstacle they don’t look good on dark places. also the bloom isn’t applied to them, just a bit

1 Like

i dunno bro, the idea really has lack of use, but wouldn’t hurt anyone if it got added

1 Like

Disco balls, diamonds, crystals. I think it’d be pretty useful. I think it could open up new doors for more advanced materials.

4 Likes

Just to mention, you should be using SurfaceAppearance as using Reflectance doesn’t allow you to use indoor skyboxes/cube maps.

1 Like

Adding a material has technical costs, it would have to be discussed with the product team, to takes engineering time to make it work cross platform, and if they formally add it them supporting it is expected.

To expand on this I think being able to adjust the strength of the PBR properties in general would be good, like changing Metalness strength, Roughness strength, and Normal Map strength

3 Likes

This reminds me of those shiny goldsrc half life models

1 Like

There’s no reason to add it, it doesn’t benefit anything, especially when you can manually affect normals on meshes to make it look like that by simply using Bloom and Metalness Maps, this just just that with extra steps.

3 Likes

i’ve found a MaterialVariant:
https://create.roblox.com/store/asset/9757343414/Really-Reflective-Metal

3 Likes

Use pbr, bloom & lighting. This is useless since it can already be „recreated“ in a realistic way and isn’t hardcoded unlike this suggestion, if anything they should deprecate reflection aswell. Neon can fake the sequin effect on top of that.

2 Likes