In this article, we’ll explore key principles for setting up a texture library. Because textures often come from various sources—some free, some purchased, and others created in-house - establishing a consistent naming system for all associated files (diffuse, roughness, metalness, etc.) can save a lot of time in the future.
Consolidating everything into a unified format is a strategic decision. It enables efficient batch conversion whenever you need to update the pipeline, be it next month or years down the road, simplifies the transition to modern formats like MaterialX. This approach also delivers immediate benefits by automating workflows, saving artists from repetitive manual tasks. Those minutes add up, and over time, that’s money lost.
Keep in mind that even with standardized naming conventions, third-party vendors sometimes include misspelled or inconsistent layer names. These exceptions can complicate the unification process, so be prepared to adjust accordingly.
Workflow
In the Ingest View, you can choose whether to rename additional files or keep their original structure. Setting up a Python hook (pre ingest load) can save a significant amount of time and manual effort, depending on how much you’re willing to invest in organizing your texture library. The more effort you put in upfront, such as unifying everything under a single naming convention, the more time you’ll save later.
Specifically, you can assign a shared naming convention for additional files by defining a layer type (e.g., texture) and layer names for each file. This lets you generate previews for each layer, which will be visible in the Gallery View and linked to the corresponding asset’s additional files.
In the Settings View, you have the option to configure whether and how previews for your texture files are generated. Please refer to this article for instructions on configuring the transcoding templates: 3D Assets
There are several options which have different time investment on your end:
Clean incoming files
The task is to create a Python hook file for every vendor to deal with their naming convention. Creating different ingest logic allows you to rename to incoming texture layers in one unified naming convention.
This keeps everything nice and tidy and allows for better integration into your pipeline and workflows since it all follows the same pattern.
Pro
well structured files on disk
less work using the textures in production
easier to automate task in your pipeline
Cons
time consuming
requires Python knowledge
External preview generation
You can use an 3D external tool to generate previews. For example a turntable rendering of the texture set applied to an 3d model in certain lighting conditions or in a neutral grading workflow. The preview can be a single image or a movie file/image sequence that gets render by your internal pipeline.
Pro
very good and custom preview of the texture
well structured files on disk
less work using the textures in production
easier to automate task in your pipeline
Cons
time consuming
needs more technical setup on your end
Ingest original previews
Some texture sets provide you with a preview of that texture. A less time consuming option is to only ingest that preview and simply copy the entire texture folder with all it’s additional files. This keeps the original structure as it is, however if you don’t ingest the additional files via Das Element, it has no relationship with the files on disk any they will know show up inside the Gallery View.
Pro
less time consuming
keeps original structure and file naming
Cons
potentially less structure on disk
no previews for the different texture layers