Textures & Decals Need Improvement

Decals getting closer - This is an illusion. As the camera moves out all of the part surfaces actually get closer together. This affect doesn’t happen with decals, so the decals appear to be overtaking other parts when the other parts are actually getting smaller. To see this you can set your FOV to like 2 and view something really far away. This same bug also occured for water the last time I checked.

“I believe decals have a “Shiny” property which may be why you are getting that issue.”

That doesn’t do anything noticable. There’s no way to individually set shininess, but it can be done globally through Lighting.Brightness.

I believe decals have a “Shiny” property which may be why you are getting that issue.[/quote]
They retain the specularity of the material they’re on. If the material isn’t important than choose something like wood or slate. There are Shiny and Specular properties, but they don’t have any effect.

Tiling textures on unions would be great. I haven’t needed to yet, but I can see the use.
Anisotropic filtering, I see no reason not too, just a matter of taking the time to implement it at some point.

[quote]
Anisotropic filtering, I see no reason not too, just a matter of taking the time to implement it at some point. [/quote]

I know for AMD graphics cards and some NVidia graphics cards you can create profiles for how 3D games are rendered that override the settings in roblox. e.g. when I feel like giving my computer a work out, I will force AA and anisotropic filtering on for roblox using the GUI tool that AMD provides.

[quote]
Anisotropic filtering, I see no reason not too, just a matter of taking the time to implement it at some point. [/quote]

I know for AMD graphics cards and some NVidia graphics cards you can create profiles for how 3D games are rendered that override the settings in roblox. e.g. when I feel like giving my computer a work out, I will force AA and anisotropic filtering on for roblox using the GUI tool that AMD provides.[/quote]
Indeed, I have AA forced on for the Roblox Player, though it doesn’t deal with translucent edges very well leaving a 1 pixel outline on things like windows, still looks better than without it though.

[quote]
That doesn’t do anything noticable. There’s no way to individually set shininess, but it can be done globally through Lighting.Brightness. [/quote]

[quote]
There are Shiny and Specular properties, but they don’t have any effect. [/quote]

Ahh, thanks for the info. Haven’t touched decals in a while so I didn’t know if they actually did anything or not.

[quote]
That doesn’t do anything noticable. There’s no way to individually set shininess, but it can be done globally through Lighting.Brightness. [/quote]

  1. Changing the material of the part that the decal is on changes the shininess.
  2. We do support anisotropic filtering on high quality levels for materials; maybe we should do it for textures/decals as well…
  3. Texture tiling on CSG parts will be fixed soon (thanks, Adamintygum!)
  4. The overlaying of decals is caused by a Z offset that is used to prevent z-fighting between decals and geometry. Not sure if this is fixable.

[quote]
4. The overlaying of decals is caused by a Z offset that is used to prevent z-fighting between decals and geometry. Not sure if this is fixable. [/quote]

Not sure if this would work, but can’t you just treat textures and decals like material textures? Or at least ad an option in the decal to do so (considering how that might affect transparent decals & textures)? With the option enabled, you’d be able to change the shininess value in the properties as well, possibly. I plan to have a pretty texture-heavy game, so, even though it might not be easy enough to implement, this stuff would help very much.

Could you possibly draw the decal/texture in place of the face that it’s on? I’m aware that there are some decals that wouldn’t benefit from this, so perhaps there could be a property of decals/textures ReplacesFace. I’ve had to resort to using a special block mesh and changing the texture to grass so the grass doesn’t overlap parts at a distance like it would as a decal/texture.

I don’t think I can justify using decals (which are really helpful for things like roads) if they continue to look like they do in the following images (on the bug-tracker). I’m not exactly sure what this bug is… but it’s been in the engine for a while.

3 Likes

[quote] I don’t think I can justify using decals (which are really helpful for things like roads) if they continue to look like they do in the following images (on the bug-tracker). I’m not exactly sure what this bug is… but it’s been in the engine for a while.
Textures appear blurry in distance · Issue #349 · Anaminus/roblox-bug-tracker · GitHub [/quote]

That’s what you get when you don’t use anisotropic filtering on textures. It’s an artifact that happens when you sample a texture at a very shallow angle, like when you have are driving on a textured road.

Here is the difference between linear (or point) filtering and anisotropic filtering on textures:

I’d really love to see anisotropic filtering in Roblox, mainly because of this issue:

My biggest problem with decals is how the render on top of decals that are IN FRONT OF THEM if on an invisible brick. This is extremely annoying for things like roads and effects.

Anisotropic filtering is really cheap nowadays so it should be filtered by default by at least 8x.

Developers, rejoice - anisotropic filtering is now enabled on decals.

As with materials, we ramp it up with rendering quality (it can actually get really expensive on old Intel cards).

[quote] Developers, rejoice - anisotropic filtering is now enabled on decals.

As with materials, we ramp it up with rendering quality (it can actually get really expensive on old Intel cards). [/quote]

Thanks a bunch :slight_smile:

[quote] Developers, rejoice - anisotropic filtering is now enabled on decals.

As with materials, we ramp it up with rendering quality (it can actually get really expensive on old Intel cards). [/quote]

I am still having the problem with Textures; was it only enabled for Decals?

It should work for both Textures and Decals.
Note that if your rendering quality is too low (lower than 5 I think) then you won’t see any difference since it’s only activated at 5+.

Oh, and since Studio does not support adjustable quality levels in edit mode, in Studio it’s only enabled in Play Solo/Start Player.

Something that ive always wondered is WHY do we have separate decal and texture objects?

One should be enough. It would have 2 UV coords (2*2 numbers) so you can pick any rectangular region of the actual texture to be drawn. This would also allow wrapping (just set the UV coords beyond the texture size).

This would be much better than the current decals and textures.
For decals it would allow choosing orientation (right?).
For textures it would allow not only scaling but also offsetting.

And the same format should be used for every single image, its annoying how we have many different forms (guis, some random asset URL in some random object, decals, textures…) though I understand its tricky to change this without breaking something now.

“3. Texture tiling on CSG parts will be fixed soon (thanks, Adamintygum!)”

This is now live on produciton along with a fix to make the decals not blend with the union color.

[quote] “3. Texture tiling on CSG parts will be fixed soon (thanks, Adamintygum!)”

This is now live on produciton along with a fix to make the decals not blend with the union color. [/quote]

[video]http://www.youtube.com/watch?v=4hy5gZlYZHw[/video]

One problem: adding a texture to one face changes the color of the rest of the union.


I have a major improvement suggestion. It’s already partially implemented in-game through ImageLabels, but for some reason Decals and Textures don’t have it, and it’s SERIOUSLY hampering the progress of some things I’d like to do.

This is my new car model. (Blank one to the left.)

I’d like to make it look more like this, which I painted, than like the car on the right:

I’ve mapped out a partial texture for testing with SurfaceGUIs and ImageLabels:

It comes out looking like this:

Sweet, right? …at least until I try to stick it on a wedge, and then no matter what I try, it’s going to be messed up, since SurfaceGUIs won’t slant back on a WedgePart’s front like a Decal or Texture will, and nor will they be cut off by the slant on the side of a WedgePart.

So, is there a specific reason why Decals and Textures don’t have the wonderful properties of ImageRectOffset and ImageRectSize, so that I can divide up one big texture over all of the car, instead of needing hundreds of little textures?

EDIT: And while a lot less necessary, the ability to rotate or flip decals, even just by 90 degrees, would make it a lot easier, too. I would be able to have a texture that is upside down on the image be flipped right-side up on the decal, so that there would be more room between the parts of the texture for other things.

1 Like