Upload Custom Materials in the New Material Service Beta

This will really take my game up a notch. I heavily rely on textures to make my game look realistic and unique. Great work, Studio team!

1 Like

I highly agree, the textures make the game pop and this is gonna make the game sparkle

2 Likes

Guys, what are your thoughts on this?

2 Likes

My thoughts on it is what they should exactly have but the only thing i don’t see is how there’s only normal metal and color roughness maps no specular maps etc

1 Like

Instead of that have a button which takes u to node system like blender

3 Likes

Hi! I have a question about the MaterialService beta.

So I’ve been testing out greedy meshing for quite some time, but I have come across a common problem where Textures partially or entirely hidden seem to be poking through other Textures which are entirely visible.

See:

There is sort of a solution to change how it makes the shape so it separates the inside from the outside by the start/end points for each axis, but this greatly reduces the optimization cut that greedy meshing can bring, from about a 80% cut on average down to only ~20%, so to me it seems like it’s either find a way to make it work without reshaping it to avoid the ‘black lines’, or ditch greedy meshing entirely, which is quite unfortunate in my case as I could be drastically reducing the client memory usage and make reuse of existing cuboids faster without needing to cache them with a solution like PartCache.

One great thing about the MaterialService Beta is that these black lines actually don’t ever seem to appear, which means I might be able to use it! …Though, this is only a solution for the base (Ice) texture.

image

In this image, the base (Ice) is a custom material, while the Coal Ore on top is using a texture. The problem again here, is that if the Texture is ever touching the outside of the face and it doesn’t perfectly align, it can noticeably have the same overlapping issue.

image

My solution here would be to copy the base part, and create a new Material for it specifically for this Plant Root texture, then lay it on top of the Base with Transparency as 1. ps: zindexes for multiple materials on a part would be sweet!

The reason why I even made this, is it seems like custom materials currently don’t support Alpha channels/transparency. Is this intentional, and would we ever receive support for transparency? It would be great to not just fix this issue, but also make it look less ‘flat’ than textures with normal and roughness maps.


I have a couple other questions as well that I’m curious to know for the future of MaterialService.

  • Will we be able to add unlimited per-part materials when they do release? It’d be a shame if we could only create a maximum of say three Slate variants as I think having no limit on how many per-part materials we could have would be really nice and allow for more flexibility, especially with my use case where using custom materials would serve a huge benefit over slapping flat textures on everything.

  • [UPDATE 3/7: FIXED] Sort of a bug, but I notice that there’s some sort of awkward offset which makes my parts not match up well and it’s quite noticeable. My parts are multiples of 6^3 studs and have MaterialVariant.StudsPerTile as 6.

Thank you for this though, I’ve waited years for custom materials and it definitely has a lot of potential!

8 Likes

I used dx normal maps and didn’t know it’s upside down. Does anyone know what is it for?

1 Like

Earlier on, there was a post here that said to use GL normal maps, and not DX maps. GL maps give an in-depth appearance, such as the lines between bricks, where DX maps make the surface “stick out.”

3 Likes

Is there any hint on when tiling will be fixed in place? Materials will shift around every time I close and reopen a file. What we have so far is excellent, but the current practicality is pretty limited when I can’t keep a consistent look to builds.

2 Likes

When you move to building the terrain implementation I’d be curious as to whether you’re considering letting us change the details (grass) textures, that would be ideal.

2 Likes

you should be able to invert the green color to fix it i read



Some great results :slight_smile:

30 Likes

CC @S_ansWD
Hack week code is not production ready. The clue is in the name; “hack”. Typically hack week projects are extremely rough and are not backed by any design. This means the API may be faulty, the code does not always work, the code is not efficient enough, or the implementation is simply unsuitable and cannot be maintained.

It’s a treat that you’re allowed to see any of it at all.

4 Likes

Hackweek projects are meant for ideation and showing technical feasibility, and nothing more – it’s not to ship finished products, that takes much much more time.

The hackweek project you see shown there would likely not run performantly on most if any devices, or has specific hardware/software requirements that prevent it from being shipped broadly currently.

9 Likes

The biggest difference is more that we don’t have to support hack week projects.

Everything we ship at Roblox we plan to support for many years if not indefinitely, so we have to be really careful that the API we’re releasing won’t hurt the platform later on. When we don’t have to worry about that support in something like a hack week project, it’s way easier to get stuff working and looking good.

6 Likes

Is there any given day estimation that the new material service will be fully released?

9 Likes

The thing with Hack Week projects is that they are usually very specialized for the specific things they’re showing in the trailer. It’s very likely that other functionality simply doesn’t work, crashes the engine or something catastrophic like that.

Most Hack Week projects are just for fun and they know from the start that something like that will never get into the engine. For example, custom shaders. Procedural materials. Audio deadening. Stuff like that.

And for those that showed promise near the start, there can always be unforeseen issues. Or just a lot of work to do before the feature can be stabilized.

Although admittedly Roblox has been moving fast and breaking things lately without performing any testing, so this is about the time to start releasing those hack week projects imho.

Are they going to fix the offset for the textures? its sometimes annoying beause 2 parts then dont stick good together, i wanted also to use trimsheets but because the texture constantly changes if i duplicated a part or sided it i cant use my trimsheets.

11 Likes

The material service doesn’t appear to replicate to the client when I test in play solo, however i can still manually add the overrides in. Is this a bug or just an effect of the service being in beta?

It also doesn’t save between studio sessions for games with team create (I assume this is due to the beta though.)

Overall great update :smiley:

1 Like

This Is The Best Update As Far As Building And Texturing Goes, I Can Now Create The Realistic Builds Without Having To Convert All My Parts To MeshParts. The Results Are Pretty Good, I Also Like The Fact You Can Set The Texture Per Stud. Amazing Roblox.

14 Likes