Texture Scaling#
Scale down textures and background .exr files for more optimization. To scale down textures, copy the contents of the resize_textures.py sample script into the Windows > Script Editor.
The texture scaling process described below optimizes textures files for the configurator requirements.
Set the
target_root
variable to the path of the collected folder from previous steps.Select Ctrl + Enter to run the script. The console prints all files that exceed the max_size specified in the script. Also, any files that are not saved as 8-bit are reported. Non-square image ratios and their sizes are also reported
Comment out the print_info line (by adding a # at the beginning of the line) and uncomment the down_res line (remove the # and indent at the beginning of the line). Include the
max_size
argument to set the texture ratio for the destination.Select Ctrl + Enter to run the script. Any files larger than the maximum allowed size are down-scaled.
if __name__ == "__main__":
# Set this to your root directory with textures you want to get info on or down res
target_root="D:/ConceptCar/ConceptCar_Configurator_collected_3c89c090"
files = get_files_of_type(target_root, '.png')
files.extend(get_files_of_type(target_root, '.jpg'))
#print_info(files=files, max_size=1024)
down_res(files=files, max_size=1024, enforce_8_bit_depth=True)
Note
.exr
file types (environment images) require manual down-scaling in an imaging software like PhotoShop. These files are typically high resolution and memory-intensive at full resolution. All .exr
files that were 16K x 8K were scaled down to 8K x 4K to fit on the L20
Textures#
Memory Footprint Best Practice: Keep your configurator streaming hardware in mind when authoring textures. If you are planning to stream from hardware with a lower amount of VRAM, such as the L20 on GDN, create your textures in such a way that:
Very large textures are not required to capture small details.
The number of textures required to load are minimized.
For example, a UDIM workflow usually generates a higher number of textures and may not be optimal for all hardware targets. Instead, use any combination of detail normal maps , tiling textures on materials, and shared normal maps between multiple materials.