Texture Generator [Beta]

Table of Contents


Hello Creators!

We are excited to announce the beta release of Texture Generator, a tool that allows you to create custom textures for your meshes using natural language prompts. With Texture Generator, you can rapidly prototype and experiment with new looks for your experience and accelerate creation.

What is Texture Generator?

Texture Generator creates bespoke 1024 x 1024 textures for MeshParts that you can either import yourself or get from the Creator Store. Texture Generator understands the geometry of your meshes and can intelligently texture it based on your text prompt. For example, if you have a treasure chest mesh, it can differentiate between the wooden exterior and the lock to generate a visually consistent texture.

To enable the beta in Studio, go to File > Beta Features > and enable AI-Powered Texture Generator. Once you restart Studio, you should see a Texture button in the “Model” tab of the ribbon, next to Material Manager.

How to create with Texture Generator

  1. Import a MeshPart or Model of Meshparts into Studio, or grab one from the Creator Store.
  2. Open the Texture Generator Plugin from the Model tab in Studio and select the mesh in the Viewport.
  3. In the tool’s preview pane, pan to set a generation angle that highlights the significant features or surfaces for texturing.
  4. Enter a prompt describing your desired texture.
  5. Click “Preview” to create a texture preview.
  6. Refine your prompts and regenerate previews until you’re satisfied.
  7. Hit “Save and Apply” to create textures to use in your experiences, for UGC items, and more. Right now, you can generate up to 5 full textures per day.

Texture Generator will work on multiple MeshParts, but will generate a shared texture for all of them. Try texturing each mesh separately or choosing models with fewer meshes to get the best results.

Here are some examples of textures you can generate:

“Treasure chest, light brown wooden planks, silver metallic locks”

image3

"Green canvas cargo pants, worn"

image6

Try it out in this experience!

We’ve created a Texture Generator Demo Place with some sample meshes so you can get started with texturing meshes.

To access this place in Studio, go to the link above, click the 3 dots in the upper right corner, and click “Edit in Studio”.

image4

Once you enter the place, you’ll see meshes that were textured using Texture Generator. You’ll also see blank meshes behind them – try texturing these using Texture Generator.

For example, you can texture the couch with the prompt “blue floral fabric couch” and use it in your experience!

Advanced Options

Texture Generator has a few advanced settings to optimize texture generation:

Generation Angle

Texture Generator lets you set a primary generation angle, so you can specify the most important features of your mesh. This will ensure your selected view is prioritized by the AI model to generate sufficient detail for this view.

You can set the generation angle by rotating mesh in the preview window, or you can manually input XYZ rotation values under Advanced Options.

Setting the generation angle to display the meaningful features of your mesh will result in better generations. Make sure the generation angle displays a view with a high surface area. For humanoid and animal meshes, experiment with different generation angles, such as a head-on view of the face and a side view profile, to find the most consistent and coherent texture.

See our Documentation for best practices on choosing a generation angle.

Specify Front View

When this setting is enabled, the generation angle selected during the preview stage is specified as the “front” of your mesh. This allows the model to better texture meshes with a clear front and back by identifying each side, resulting in more consistent and coherent textures. This is particularly helpful for objects with a clear front and back, like avatars and animals.

Seed Control

Texture Generator also lets you set the “seed," which controls the randomization in AI image generation. By setting the seed before generating a texture, you can ensure you get consistent results each time you use a specific prompt. If you want to vary the look of a generation, try changing the seed or keeping it randomized.

Smart UV Unwrap

What is a UV Map?

In 3D modeling, a UV map is a 2D representation of the surface of a 3D model. Think of it as unwrapping an object’s skin and laying it flat. This map allows 2D textures to be accurately applied to the 3D model. UV coordinates (U and V) refer to the horizontal and vertical axes of this 2D space, similar to X and Y axes in a 2D graph.

What makes a UV map compatible with Texture Generator?

For Texture Generator to create well-formed textures, your mesh’s UV map must fit a few guidelines. Firstly, all UV coordinates must be within the unit square. UV maps outside the unit square will wrap around to the other side of the UV map, creating artifacts and seams in your final texture. Secondly, all UVs must be non-overlapping. Overlapping UVs will result in inconsistent textures and color placements. Lastly, UVs must take up at least 33% of the unit square to ensure the UV space is utilized correctly.

Texture Generator can automatically handle meshes with no UVs or incompatible UVs, so you can focus on bringing your creative vision to life. Smart UV Unwrap, which is enabled by default in the Advanced Options menu, will take a mesh with no UVs or incompatible UVs and generate the UV coordinates necessary for texturing. If your UVs are compatible, they won’t be affected, and you can use your mesh as-is. If you want to guarantee that your UV map will be used, regardless of compatibility, you can deselect Smart UV Unwrap.

Limitations

  • Texture Generator currently only supports texturing of MeshParts, not standard Parts or CSG objects. We plan to expand support to more object types in future releases, so stay tuned for further updates.

  • Texture Generator currently outputs ColorMaps, housed within a SurfaceAppearance. Stay tuned for further updates including Metalness, Roughness, and Normal Map generation!

  • Automatic UV unwrapping will not work on skinned/rigged meshes. You can still apply textures to skinned meshes without auto unwrapping. We aim to address rigged mesh support in the future.

  • Due to capacity constraints in this beta phase, we are limiting the amount of textures each user can generate per day. For now, you’ll be able to generate 5 textures per day. You can preview up to 25 times per day, so we encourage you to iterate and refine your prompts until you get exactly what you’re looking for in the preview before generating a full texture.

Responsibility

While we’re excited for you to get your hands on this feature, we want to remind everyone that you’re responsible for the content you create. Use of Texture Generator is subject to the Supplemental Terms, and like all textures, these creations will go through moderation and must adhere to our Community Standards.

Intellectual Property

Intellectual property (IP) pertaining to generative AI is rapidly evolving. Three best practices for helping protect your IP and avoid infringing on others’ IP are:

  • Ensuring you have the rights for anything you upload to Roblox, regardless of whether you use generative AI.

  • Do not input prompts that use brand names or logos, or attempt to generate creations based on intellectual property where you don’t have the rights.

  • Modifying the output of anything you create or using just assets you own with generative AI can enhance the protectability of what you create.

Generative AI Capabilities

Texture Generator is the latest solution in our generative AI tools to help make creation more accessible. Last year, we launched Material Generator, which can generate repeated, tiling material variants for parts and CSG objects like walls and roads. We’ve also launched tools like Code Assist and Assistant to supercharge your productivity.

What’s Next

Take a look at our Documentation for more tips and best practices, and check out the full video tutorial. Over the next year, we plan to continue improving, including:

  • Integrating Texture Generator with Assistant to help make creating with generative AI more seamless
  • Adding the ability to refine and edit your generated textures

Thank you for helping us test out this exciting new capability in Studio. Please share your thoughts and suggestions in the comments below. Let us know if you encounter any issues while using the tool. We can’t wait to see all the unique textures you dream up!

FAQ

Click here to view the FAQ!

How many textures can you generate per day?

  • Due to capacity constraints, you can only generate 5 full textures per day and 25 previews, but we plan on increasing this number soon.

What types of objects can I texture?

  • Currently, you can only texture one or more MeshParts using Texture Generator. We plan on adding support for more object types in the future.

Can I generate PBR Textures?

  • For now, Texture Generator only generates ColorMaps. Stay tuned, we plan on adding PBR texture generation in the future!

What data is used to generate these textures?

  • The Texture Generator is trained using third-party and in-house models on publicly available data and does not use any Roblox creator data.
248 Likes

This topic was automatically opened after 10 minutes.

I am extremely excited about the growth of AI on the platform and I am glad Roblox is not lagging behind in a world which is slowly being more powered towards AI.

This will help millions of creators without being dependent upon artists and paying an amount which many creators lack at the start of their careers.

Yes, this will hurt a whole branch of developers who are trying to earn on the platform via this field but end of the day, that’s how human progress works and it’s always been seen in the history of technological advancements.

We need to embrace this and work our way through!

32 Likes

Is this data that Roblox has a license or otherwise a legal right to use, eg. stock photos and public domain works? I do not want my artwork that I have posted on other websites to be used to train generative AI, as it is copyrighted to me and likewise it is illegal to use it in derivative works such as this without obtaining a license.

25 Likes

Years of 3D modeling and texturing experience wasted, I already got replaced by machines.

Haha just kidding, this is actually super cool.
I love texturing my models myself but this is useful for people who aren’t that great at texturing or for getting ideas.

Sometimes I don’t know what I want to texture onto my models so I suppose this works as an idea/inspiration generator too.

To my fellow 3D artists.

AI is not here to replace you, it’s an assisting tool.
Using it is optional, just do what you enjoy doing most, you became a 3D artist likely because you wanted to learn 3D modeling and texturing and not for the money.

If you do manual labor as a hobby, just keep doing that hobby, you love working with your hands.
If you have a job that pays you, adapting is gonna let you keep your job.

36 Likes

The quota should be higher imo. I hit it within 5 minutes : (
RobloxStudioBeta_lZ3ilDdHYj

21 Likes

Is the data that this generator is trained on ethically sourced like with your code assist ai?

8 Likes

I’m going to assume it uses public domain / creative commons stuff.

9 Likes

Publicly available doesn’t mean public domain though. I think the wording needs to be very specific here.

9 Likes

You know, I’m for this! I also think the technology itself is really cool. Great job with this, I will have to try it out.

9 Likes

When will AI generated models be coming?

8 Likes

“Publicly available” is what they all say. Then you plug in a prompt with the style of a specific artist whose works are NOT licensed for commercial use or modification and require attribution to even be shared, and the resultant image is visibly made using their work.

It’s basically code for “stuff you can find on Google Images”.

5 Likes

I loved it! :heart_eyes:

9 Likes

certainly going to generate some unique stuff :joy:

Also, similarly to how the material generator works, would it somehow be possible to do in-world preview as well/instead?
That way we can view our creation in all it’s glory and see if it specifically works out for our world or not.
Also, maybe a way to download the generated preview as a local set of image files?
I’d love to have ways to grab the texture before uploading it. That way if it needs to be fixed up or just uploaded as a temporary file it will be much easier.

16 Likes

Is this publicly available data stolen? Or did the third-party buy the rights for the data used to train the AI?

5 Likes

The Texture Generator Demo Place is not uncopylocked :slight_smile:

EDIT: It’s been fixed–thanks!

7 Likes

Now, all that’s left is AI-generated meshes, then the synthetic trinity of Roblox Studio will be fully assembled!

6 Likes

I’m surprised with how good it actually textures things for being a Roblox ai, obviously not the most perfect texturing a lot of the times but you can definitely save some time with this! Lots of potential.

5 Likes

Very cool stuff, I am just wondering why the preview texture looks much more sharper and clean than the actual baked version?

Here is a comparisons from testing this feature out from preview/applied:


Hopefully in the future this gets improved! Very awesome work eitherway! :smile:

28 Likes

Of the couple of attempts I’ve had, I’ve felt the previews would sometimes be better than the completed version. Is there a way to use the preview as it initially appears?

4 Likes