Texture Import tool
- manmohan manoj
- Sep 20, 2022
- 1 min read
Updated: Feb 10, 2023
Following is a texture import tool that replaces files with the latest version, creating the folder structure and handling UDIM textures as well.
from fileinput import filename import os import unreal as ue editLib = ue.EditorAssetLibrary() editUtil = ue.EditorUtilityLibrary() AssetTooldHelp = ue.AssetToolsHelpers() root = r"RootDirectory of the textures" # assetname = "enLivingRoom" def importTexture(assetname): print("running") texturepath = os.path.join(root,assetname,r"texture") dir_list = os.listdir(texturepath) # dir_list = [dir_list[1]] for i in dir_list: subpath = os.path.join(texturepath,i) subdirlist = os.listdir(subpath) lastfolder = subdirlist[-1] lastpath = os.path.join(subpath,lastfolder,"Png") print(lastpath) if not os.listdir(lastpath): print(lastpath+" is empty") continue file = os.listdir(lastpath)[0] # print(lastpath) ueDir = "/Game/Lookdev/"+assetname+"/"+i+"_"+lastfolder if editLib.does_directory_exist(ueDir): print( ueDir.split('/')[-1]+" - up to date") continue editLib.make_directory(ueDir) texture_import_tasks = [] # files_in_lastpath = [f for f in os.listdir(lastpath) if os.path.isfile(f)] filepath = os.path.join(lastpath,file) texture_import_task = buildImportTast(filepath,ueDir) texture_import_tasks.append(texture_import_task) print(lastpath," importing to ",ueDir) executeImportTask(texture_import_tasks) def buildImportTast(filename, destination_path): task = ue.AssetImportTask() task.set_editor_property('automated',True) task.set_editor_property('destination_name','') task.set_editor_property('destination_path',destination_path) task.set_editor_property('filename',filename) task.set_editor_property('replace_existing',False) task.set_editor_property('save',False) return task def executeImportTask(tasks): AssetTooldHelp.get_asset_tools().import_asset_tasks(tasks) def listofassets(): listofassets = os.listdir(root) return listofassets # importTexture(assetname)
Comments