Is It Possible To Tile Textures With SurfaceAppearances

With the introduction of PBR, I would like to incorporate some seamless PBR textures into my builds. I cannot create assets in any 3D modeling software, so being able to build with blocks that use PBR is favorable. As you can see in the image below, scaling a part with a decal also stretches the image. Scaling a part with a texture repeats the pattern across the part. Scaling a MeshPart with a SurfaceAppearance behaves like a decal and stretches the image.

The only way I found to tile a MeshPart with a SurfaceAppearance is to literally tile the mesh as shown below.

Tiling like this is an issue as it relies on unnecessarily reusing an asset. Furthermore, sizing a wall or floor that is tiled like this is restricted to the size of each individual cell (MeshPart). Even if a build was created that accommodates to the size restrictions, changes to the overall object becomes difficult due to the individual parts that comprise it. Keep in mind that you cannot just resize one row or column of parts, as that would distort the image.

So what exactly is it that I am looking for? I am looking for a result similar to how new materials work in the current Studio beta build (linked below for reference). The new materials use PBR and can be scaled without image distortion. This is what I would like to achieve, but with custom PBR SurfaceAppearances. Any help would be greatly appreciated, thanks!

5 Likes

Currently custom PBR textures cannot tile.

I know it’s not a great solution, but the new materials coming soon do tile nicely and have a much higher resolution than they do currently and will have full PBR.

2 Likes

Do you know of any work arounds or unique uses of objects to achieve an effect similar to this?

There is no workaround unfortunately, your best bet is to just keep on tiling the parts.

Roblox staff are just incredibly lazy at this point how long have surfaceappearances been in studio beta and haven’t had a single update or improvement

2 Likes

@Bobytoeburrito unfortunately none at this time. One thing I know I’ll likely be doing once the new materials update comes out is create maps and assets with a mix of my own asset textures and new material textures. Small, modular assets are likely going to be a solution.

@Slappy_326 you shouldn’t call the Studio team staff lazy. They work really hard and these problems are not simple. Good things take time. At least they’ve given us beta access to try it out first!

1 Like

Dude come on normal maps are 7th gen technology and we got to try it for the first time in roblox in 2019, 2 years later it’s still not fully available and we can’t even tile the textures.
As much as I don’t like this fact I can’t help but consider the staff lazy (or possibly underpaid, I don’t know lol) because time and time again they’ve proven themselves to be incompetent.

I won't get into the full history of it but here are a few examples
  • no Z index layering on decals/textures (the most basic feature you could think of for decals/textures)
  • no decal-projections (incredibly basic/essential feature)
  • the first time we get to try non-skybox reflections is indoor env maps, and look what tragedy that was/is
  • clouds quality/delay (still not released)
  • FIB took 5 years. So basically 5 years to bring roblox to ps3/x360 standards (except still no reflections)
  • Model automatic meshes, another tragedy that no one even brings up anymore
  • Only automatic LOD optimization for meshes/unions that we cant control that looks pathetic honestly
  • Can’t even change terrain textures

And besides that I happen to know that some of the staff complain (in private) when users don’t like a new feature (such as the first rollout of the clouds) and call us “ungrateful”… That’s kind of childish behavior

and so on, so yeah, they’re lazy. (or underpaid)

2 Likes

They’re actually already live in all games. Just turn it on in Studio and you would be able to use it.

The advanced ones aren’t, which include the entire purpose of surfaceappearances

Which advanced ones? All I know is the normal SurfaceAppearance Instance.

Here’s a snip from the Beta Features sectionimage
Without it checked I can add surface appearance instances but I can’t see or edit any properties of it, only parent and name
image
I’m actually kind of confused now, since I put in the roblox forest pack (from toolbox) into studio and all the surfaceappearances do actually have normal maps and etc even with the beta check box unchecked

1 Like

This is correct and it is intentional behaviour.

While I do agree the staff take forever to get things done, and we are now 2 generations behind, roblox has to also take into account the online part literally no part of a game is stored on a device. You also have to remember when roblox first started it was roughly 3 generations behind.

While I dislike robloxes staff (mainly moderation) I don’t think they are lazy or incompetent (other than moderation) the technical teams get stuff done slowly but they have alot more technical problems than unreal for example. Not to mention it’s a 100% in house engine that has to work cross Gen and on many platforms while ALSO being online.

4 Likes

Its actually really stupid to reallase a project in half, when they add PBR i think it become nesesary to add a tiling feature because you are going to need it when you are making a realistic project.

Somethimes i dont understand how roblox is organized

There is a workaround for tiling pbr textures. If you add a ‘humanoid’ to the mesh, the pbr texture will tile vs stretch. You can even adjust the texture scale by changing materials. I don’t know why it works, but it works (for now).

1 Like

When was the last time you tested this? I just tried it with a SurfaceAppearance and Humanoid both parented to the same MeshPart. I did not see any differences when scaling the MeshPart. Could you explain what I may be doing wrong?

A few weeks ago, I’ll try it again later and let you know if it still works for me.

Wait there is another step, you have to group them in a model and put the humanoid as a sibling.

image

Whew you scared me there for a minute, i thought they had ‘fixed’ it. It will be a bad day when they do though and break all the builds ppl made using this tweak.

4 Likes

That works, thanks! Do you happen to know of any way to change the size of a SurfaceAppearance similar to a texture’s StudsPerTile? Apparently the original size of some of the SurfaceAppearances are really small, and are rendered unusable. Also, I accidentally found out that you can use this trick on all SurfaceAppearances by parenting a single humanoid to workspace. Makes it easy to view how multiple SurfaceAppearances will turn out!

1 Like

Only by changing the material, you get a couple of different scales that way.

I wouldn’t be surprised if it stopped working one day, such a weird work around.

Looks like it will no longer be an issue! Hurrah!

3 Likes