Mesh Materials to Textures

MeshParts Materials
As a Roblox developer, it is currently impossible to use the materials on a mesh for colors in Roblox.


Problem
Meshes imported from places like Sketchup do not have textures as much as they have Materials. Mesh materials are extremely important to the look and feel of a mesh. Currently, ROBLOX does not support a way to import mesh materials as textures. To be honest, I think this is something that even other mesh programs lack. If ROBLOX made a material - to - texture converter, they would be ahead of the game. Anyways, MeshParts should have the option to “flatten” materials and bake them into the texture. Importing meshes from Sketchup is particularly sensitive because of a lack of materials.

Solution
Create a way to bake the Materials onto the texture. The reflections and fancy stuff in a material wouldn’t matter too much, but it’s extremely important to me that the base colors are there, and that I don’t find myself importing 9000 individual pieces just so that I can recolor them when I get into Studio.

Conclusion
I think the thread is pretty simple, but effective. If there are any questions or if you want me to expand on what I mean, tag me in the replys.

2 Likes

doesn’t make any sense to have this in roblox

almost all decent modeling programs have it already

2 Likes

I’ve never seen this even after a search, could you point me in the right direction?

https://docs.blender.org/manual/de/dev/render/blender_render/bake.html

2 Likes

This is really the only solution. The baking needs to happen at the export stage, not during import into Roblox. Normally, the “materials” available in a modeling/rendering program include procedural materials and shaders (just like Roblox built-in materials do) which have proprietary render code making them work, with parameters that don’t translate directly to other render engines. This is why everything that is made and textured in a 3D modeling program and destined for a game engine generally ends up getting exported from the modeler as a set of baked, UV-mapped bitmap textures. Within the modeling program, the model might be textured with a mixture of procedural materials, imported bitmaps, bitmaps resulting from 3D painting on the model, etc., but it all normally gets baked to set of bitmaps on export. Roblox uses one of these bitmaps, the one that you normally think of as the color texture of the model (commonly called the “diffuse” color map in the modeling program). The modeler might also export textures that are maps for specular color, bumps, displacement, transparency, reflection, environment color, ambient color, etc… but Roblox does not use these currently, Roblox uses only one texture map for the color, and supports alpha-channel transparency within this map if your part has Transparency>0. Roblox also respects vertex colors of the mesh AFAIK, but this is not commonly utilized by builders.

MeshParts with bitmap textures are additionally affected by the choice of Roblox material of the part; for example, a textured MeshPart that is set to DiamondPlate will not look like diamond plate, but will have the strong metal-like specular highlight of a diamondplate part, whereas a MeshPart with a matte material liek Fabric or Sand will have no such highlight. You can separate a model into multiple MeshParts to give them different specular highlight qualities this way, and regroup them as a Model. Part color of the MeshPart will not affect the texture though.

I can’t speak to the capabilities of SketchUp specifically, unfortunately, as I have no personal experience with it.

4 Likes

either way I think this feature wouldnt come onto roblox for a very long time