Blender

Blender

Not enough ratings
Перейменування текстур та під UDIM (UA)
By ※RED※SKULL※
Marmoset не вміє працювати з UDIM, тому доводилось самостійно перейменовувати карти під Substance. І для автоматизації цього процесу за допомогою Chat GPT створив такий код.

   
Award
Favorite
Favorited
Unfavorite
Ціль/застосування
Marmoset не вміє працювати з UDIM, тому доводилось самостійно перейменовувати карти під Substance. І для автоматизації цього процесу за допомогою Chat GPT створив такий код.
Rename texture
import os def rename_textures(folder_path, new_prefix): if not os.path.exists(folder_path): print(f"Folder path {folder_path} does not exist.") return files_found = False for filename in os.listdir(folder_path): print(f"Checking file: {filename}") if filename.endswith((".png", ".jpg", ".tga", ".psd")): files_found = True parts = filename.split('_') if len(parts) >= 2: # Отримуємо розширення файлу name_parts = filename.split('.') extension = name_parts[-1] base_name = '_'.join(name_parts[:-1]) base_parts = base_name.split('_') # Формуємо нове ім'я файлу з новим префіксом і збереженим типом карти new_name = f"{new_prefix}_{base_parts[-1]}.{extension}" old_file = os.path.join(folder_path, filename) new_file = os.path.join(folder_path, new_name) if not os.path.exists(new_file): # Перевіряємо, чи файл вже існує os.rename(old_file, new_file) print(f"Renamed {filename} to {new_name}") else: print(f"Skipped {filename}, target name {new_name} already exists") if not files_found: print("No matching files found in the folder.") # Виклик функції folder_path = r"PATH TO TEXTURES" # "PATH TO TEXTURES" Шлях до ваших текстур. Приклад: "D:\POLYGONS\BLENDER" new_prefix = "NAME" # "NAME" Назва для ваших текстур, що стоїть перед типом текструри. Приклад: "OLDM1911_ao.psd" rename_textures(folder_path, new_prefix)
Rename texture for UDIM
import os def rename_textures(folder_path, new_prefix): if not os.path.exists(folder_path): print(f"Folder path {folder_path} does not exist.") return files_found = False for filename in os.listdir(folder_path): print(f"Checking file: {filename}") if filename.endswith((".png", ".jpg", ".tga", ".psd")): files_found = True parts = filename.split('_') if len(parts) >= 2: # Отримуємо розширення файлу name_parts = filename.split('.') extension = name_parts[-1] base_name = '_'.join(name_parts[:-1]) base_parts = base_name.split('_') # Формуємо нове ім'я файлу з новим префіксом і збереженим типом карти new_name = f"{new_prefix}_{base_parts[-1]}.1001.{extension}" old_file = os.path.join(folder_path, filename) new_file = os.path.join(folder_path, new_name) if not os.path.exists(new_file): # Перевіряємо, чи файл вже існує os.rename(old_file, new_file) print(f"Renamed {filename} to {new_name}") else: print(f"Skipped {filename}, target name {new_name} already exists") if not files_found: print("No matching files found in the folder.") # Виклик функції folder_path = r"PATH TO TEXTURES" # "PATH TO TEXTURES" Шлях до ваших текстур. Приклад: "D:\POLYGONS\BLENDER" new_prefix = "NAME" # "NAME" Назва для ваших текстур, що стоїть перед типом текструри. Приклад: "OLDM1911_ao.psd" rename_textures(folder_path, new_prefix)

В рядку: new_name = f"{new_prefix}_{base_parts[-1]}.1001.{extension}"

1001 позначає номер UDIM тайла, якщо вам потрібен інший тайл орієнтуйтесь відповідно до цієї картинки


Баги
Якщо файл вже має значення UDIM і змінити значення із 1001 на 1002 то при використанні коду назва текстури (ao, normal) заміниться на номер тайла й назва буде по типу "NAME_1001.1002.psd"

Тому поки він підходить, щоб перейменувати карти із Marmoset для Substance, але ніяк не підходить, щоб перейменувати готові карти по типу "NAME_ao.1001.psd"