Last active
November 17, 2021 03:21
-
-
Save Zincr0/8218b16ae90a5849dadbfdb78c344788 to your computer and use it in GitHub Desktop.
Take olds packs EXTREME_XPAND_PROC99VOL2 EXTREME_XPAND_PROC99VOL1 and fix format for extreme pbr nexus blender addon.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| """ | |
| Uncompress EXTREME_XPAND_PROC99VOL1 and EXTREME_XPAND_PROC99VOL2. | |
| Run this script. | |
| The folders 'PROC99VOL1' 'PROC99VOL2' will be created. | |
| Enter the addon and add those new folders as libary paths. | |
| """ | |
| import os | |
| import shutil | |
| import json | |
| infoTemplate = {"storage_info": {"permission": "", | |
| "json_version": 1.0, | |
| "storage_method": "TEXTURE_IMAGES", | |
| "blender_version": [2, 93, 5], | |
| "extreme_pbr_version": [4, 0, 100]}, | |
| "material_info": {"material_name": "", | |
| "author": "Julio_S", | |
| "website_name": "", | |
| "website_url": "", | |
| "license": "CC0 1.0", | |
| "license_description": "", | |
| "license_link": "", | |
| "original_name": ""}, | |
| "group_inputs_properties": {}, | |
| "material_properties": {"use_screen_refraction": True, | |
| "use_sss_translucency": False, | |
| "blend_method": "OPAQUE", | |
| "shadow_method": "OPAQUE", | |
| "use_backface_culling": False, | |
| "alpha_threshold": 0.5, | |
| "refraction_depth": 0.0}, | |
| "date": "16/11/2021"} | |
| def main(rootPath, oldPackRoot, newPackRoot): | |
| print(oldPackRoot) | |
| os.chdir(oldPackRoot) | |
| carpetas = [] | |
| for path in os.listdir("."): | |
| if os.path.isdir(path): | |
| carpetas.append(path) | |
| os.chdir(rootPath) | |
| os.mkdir(newPackRoot) | |
| os.chdir(newPackRoot) | |
| for carpeta in carpetas: | |
| os.mkdir(newPackRoot + "/" + carpeta) | |
| os.chdir(oldPackRoot + "/" + carpeta) | |
| filesFolder = [] | |
| for path in os.listdir("."): | |
| if os.path.isdir(path): | |
| filesFolder.append(path) | |
| for fileFolder in filesFolder: | |
| resolution = fileFolder.split("_")[0] | |
| materialName = "_".join(fileFolder.split("_")[1:]) | |
| imageName = materialName + ".png" | |
| #print("resolution: ", resolution) | |
| #print("materialName: ", materialName) | |
| #print("imageName: ", imageName) | |
| oldIconFolder = oldPackRoot + "/" + carpeta + "/" + imageName | |
| oldImagesFolder = oldPackRoot + "/" + carpeta + "/" + fileFolder | |
| materialFolder = newPackRoot + "/" + carpeta + "/" + materialName | |
| os.chdir(newPackRoot + "/" + carpeta) | |
| os.mkdir(materialFolder) | |
| resolutionFolder = materialFolder + "/" + resolution | |
| os.mkdir(resolutionFolder) | |
| print("source folder: ", oldImagesFolder) | |
| for oldImageFile in os.listdir(oldImagesFolder): | |
| extension = oldImageFile.split(".")[-1] | |
| name = oldImageFile.split(".")[:-1][0] | |
| imageType = "_".join(name.split("_")[-2:]) | |
| newImageFile = materialName + "_" + imageType + "_" + resolution + "." + extension | |
| print(oldImageFile) | |
| print("to") | |
| print(newImageFile) | |
| shutil.copy(oldImagesFolder + "/" + oldImageFile, resolutionFolder + "/" + newImageFile) | |
| dataInfoFolder = materialFolder + "/data" | |
| if not os.path.exists(dataInfoFolder): | |
| os.mkdir(dataInfoFolder) | |
| os.chdir(dataInfoFolder) | |
| infoTemplate['material_info']['material_name'] = materialName | |
| infoTemplate['material_info']['original_name'] = "".join(materialName.split(" ")) | |
| with open('mat_info.json', 'w') as outfile: | |
| json.dump(infoTemplate, outfile) | |
| previewsFolder = dataInfoFolder + "/previews" | |
| os.mkdir(previewsFolder) | |
| previewsFolderIcon = previewsFolder + "/default" | |
| os.mkdir(previewsFolderIcon) | |
| shutil.copy(oldIconFolder, previewsFolderIcon + "/" + imageName) | |
| if __name__ == "__main__": | |
| rootPath = os.getcwd() | |
| print("EXTREME_XPAND_PROC99VOL1 and EXTREME_XPAND_PROC99VOL2 should be in the same script folder") | |
| oldPaths = ['EXTREME_XPAND_PROC99VOL1', 'EXTREME_XPAND_PROC99VOL2'] | |
| newPaths = ['PROC99VOL1', 'PROC99VOL2'] | |
| for index, path in enumerate(oldPaths): | |
| oldPackRoot = rootPath + '/' + path | |
| newPackRoot = rootPath + '/' + newPaths[index] | |
| shutil.rmtree(newPackRoot, ignore_errors=True) | |
| main(rootPath, oldPackRoot, newPackRoot) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment