SurfaceAppearance does not respect base material specularity

SurfaceAppearance does not respect base material specularity.

This is an engine bug not just a studio bug.

All three asteroids are set to Fabric material.

Asteroid on the left, and the bottom both have a SurfaceAppearance. The one on the left and right is further away and is past clipping distance where the surface appearance falls off. The one on the right only has it’s mesh texture set to the diffuse texture.

This is an issue because it ruins the aesthetics of my game and makes everything look like plastic when it is far away.

TL;DR: Left asteroid has a surface appearance and should look like the right asteroid when it gets far away, except it doesn’t. Oof.

25 Likes

I don’t seem to be having this issue, and my rough/non-shiny objects remain so at very far distances. Do you have all four textures in your surface appearance (ie ColorMap, MetalnessMap, NormalMap and RoughnessMap)?

What graphics level are you using?

2 Likes

Yeah. Max level. Future lighting. Specularity turned up. Using all four doesn’t affect the outcome.

This is an issue other people deal with as well, it’s not just me.

I’ll post a repro soon.

2 Likes

I’m guessing that your objects are pretty large and with significant distances (ie objects that are over 1024 studs away and 200+ in size)?

I think most games optimize textures at a certain distance and employ different techniques to maintain a similar look. For example, fading to a different low res colourmap which looks very close to the close up PBR.

I’m guessing the render limit is set to drop roughness/normal/metal and leave with just the colourmap.

So what you’re suggesting is that when it does this, to use the underlying specular instead of treating it like a surfaceappearance with just a colormap.

If that’s not possible, I wonder if it could be set so that it switches the surfaceappearance off completely, where there is a textureID on the model itself, and just use the standard texture (including material). The issue with that is that there is a definite colour change depending on your worlds lighting.

The issue is that it drastically changes it’s look. And these asteroids are not huge or massively far away. They’re just beyond the falloff range, and they look plastic.

I was investigating this bug and was not able to reproduce this in other meshes with SurfaceAppearance. Can you provide a .rbxl file where you are experiencing this error so I can reproduce it?

1 Like

Here is a repro file.

Sometimes it may be hard to notice (though it can really add up in a big asteroid field) so I have zoomed the FOV in. If you back the camera away, the surfaceappearance one will become shiny, the texture one will not, both are set to fabric as base material.

Should add though, I am not the only one who has experienced this and it is not just an issue with really big objects, in the right circumstances it is very noticeable, particularly among the Roblox space genre. Thanks for looking into it!

LightingIssueRepro.rbxl (92.9 KB)

Hey I just wanted to let you know we are still looking into this issue. Sorry for the delay.

1 Like

Any new update on this?

image image

image

image

Both are set to fabric material.