fixed crash in mergetextures
This commit is contained in:
@@ -2266,14 +2266,14 @@
|
|||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\_py_abc.py',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\_py_abc.py',
|
||||||
'PYMODULE'),
|
'PYMODULE'),
|
||||||
('stringprep',
|
|
||||||
'C:\\Program '
|
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\stringprep.py',
|
|
||||||
'PYMODULE'),
|
|
||||||
('tracemalloc',
|
('tracemalloc',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\tracemalloc.py',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\tracemalloc.py',
|
||||||
'PYMODULE'),
|
'PYMODULE'),
|
||||||
|
('stringprep',
|
||||||
|
'C:\\Program '
|
||||||
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\stringprep.py',
|
||||||
|
'PYMODULE'),
|
||||||
('PIL.Image',
|
('PIL.Image',
|
||||||
'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PIL\\Image.py',
|
'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PIL\\Image.py',
|
||||||
'PYMODULE'),
|
'PYMODULE'),
|
||||||
@@ -3232,34 +3232,34 @@
|
|||||||
'E:\\Arma Reforger '
|
'E:\\Arma Reforger '
|
||||||
'Work\\1960-utils\\Texturing\\MergeTextures2\\build\\merge_textures\\base_library.zip',
|
'Work\\1960-utils\\Texturing\\MergeTextures2\\build\\merge_textures\\base_library.zip',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\METADATA',
|
('setuptools-65.5.0.dist-info\\WHEEL',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\METADATA',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\WHEEL',
|
||||||
'DATA'),
|
|
||||||
('setuptools-65.5.0.dist-info\\top_level.txt',
|
|
||||||
'C:\\Program '
|
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\top_level.txt',
|
|
||||||
'DATA'),
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\RECORD',
|
('setuptools-65.5.0.dist-info\\RECORD',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\RECORD',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\RECORD',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
|
('setuptools-65.5.0.dist-info\\METADATA',
|
||||||
|
'C:\\Program '
|
||||||
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\METADATA',
|
||||||
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\LICENSE',
|
('setuptools-65.5.0.dist-info\\LICENSE',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\LICENSE',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\LICENSE',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\WHEEL',
|
|
||||||
'C:\\Program '
|
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\WHEEL',
|
|
||||||
'DATA'),
|
|
||||||
('setuptools-65.5.0.dist-info\\INSTALLER',
|
|
||||||
'C:\\Program '
|
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\INSTALLER',
|
|
||||||
'DATA'),
|
|
||||||
('setuptools-65.5.0.dist-info\\entry_points.txt',
|
('setuptools-65.5.0.dist-info\\entry_points.txt',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\entry_points.txt',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\entry_points.txt',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
|
('setuptools-65.5.0.dist-info\\INSTALLER',
|
||||||
|
'C:\\Program '
|
||||||
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\INSTALLER',
|
||||||
|
'DATA'),
|
||||||
|
('setuptools-65.5.0.dist-info\\top_level.txt',
|
||||||
|
'C:\\Program '
|
||||||
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\top_level.txt',
|
||||||
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\REQUESTED',
|
('setuptools-65.5.0.dist-info\\REQUESTED',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\REQUESTED',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\REQUESTED',
|
||||||
|
|||||||
@@ -277,33 +277,33 @@
|
|||||||
'E:\\Arma Reforger '
|
'E:\\Arma Reforger '
|
||||||
'Work\\1960-utils\\Texturing\\MergeTextures2\\build\\merge_textures\\base_library.zip',
|
'Work\\1960-utils\\Texturing\\MergeTextures2\\build\\merge_textures\\base_library.zip',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\METADATA',
|
('setuptools-65.5.0.dist-info\\WHEEL',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\METADATA',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\WHEEL',
|
||||||
'DATA'),
|
|
||||||
('setuptools-65.5.0.dist-info\\top_level.txt',
|
|
||||||
'C:\\Program '
|
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\top_level.txt',
|
|
||||||
'DATA'),
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\RECORD',
|
('setuptools-65.5.0.dist-info\\RECORD',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\RECORD',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\RECORD',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
|
('setuptools-65.5.0.dist-info\\METADATA',
|
||||||
|
'C:\\Program '
|
||||||
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\METADATA',
|
||||||
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\LICENSE',
|
('setuptools-65.5.0.dist-info\\LICENSE',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\LICENSE',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\LICENSE',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\WHEEL',
|
('setuptools-65.5.0.dist-info\\entry_points.txt',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\WHEEL',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\entry_points.txt',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\INSTALLER',
|
('setuptools-65.5.0.dist-info\\INSTALLER',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\INSTALLER',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\INSTALLER',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\entry_points.txt',
|
('setuptools-65.5.0.dist-info\\top_level.txt',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\entry_points.txt',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\top_level.txt',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\REQUESTED',
|
('setuptools-65.5.0.dist-info\\REQUESTED',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
@@ -312,7 +312,7 @@
|
|||||||
[],
|
[],
|
||||||
False,
|
False,
|
||||||
False,
|
False,
|
||||||
1729345827,
|
1737832798,
|
||||||
[('run.exe',
|
[('run.exe',
|
||||||
'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\bootloader\\Windows-64bit-intel\\run.exe',
|
'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\bootloader\\Windows-64bit-intel\\run.exe',
|
||||||
'EXECUTABLE')],
|
'EXECUTABLE')],
|
||||||
|
|||||||
@@ -253,33 +253,33 @@
|
|||||||
'E:\\Arma Reforger '
|
'E:\\Arma Reforger '
|
||||||
'Work\\1960-utils\\Texturing\\MergeTextures2\\build\\merge_textures\\base_library.zip',
|
'Work\\1960-utils\\Texturing\\MergeTextures2\\build\\merge_textures\\base_library.zip',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\METADATA',
|
('setuptools-65.5.0.dist-info\\WHEEL',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\METADATA',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\WHEEL',
|
||||||
'DATA'),
|
|
||||||
('setuptools-65.5.0.dist-info\\top_level.txt',
|
|
||||||
'C:\\Program '
|
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\top_level.txt',
|
|
||||||
'DATA'),
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\RECORD',
|
('setuptools-65.5.0.dist-info\\RECORD',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\RECORD',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\RECORD',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
|
('setuptools-65.5.0.dist-info\\METADATA',
|
||||||
|
'C:\\Program '
|
||||||
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\METADATA',
|
||||||
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\LICENSE',
|
('setuptools-65.5.0.dist-info\\LICENSE',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\LICENSE',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\LICENSE',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\WHEEL',
|
('setuptools-65.5.0.dist-info\\entry_points.txt',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\WHEEL',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\entry_points.txt',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\INSTALLER',
|
('setuptools-65.5.0.dist-info\\INSTALLER',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\INSTALLER',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\INSTALLER',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\entry_points.txt',
|
('setuptools-65.5.0.dist-info\\top_level.txt',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\entry_points.txt',
|
'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\top_level.txt',
|
||||||
'DATA'),
|
'DATA'),
|
||||||
('setuptools-65.5.0.dist-info\\REQUESTED',
|
('setuptools-65.5.0.dist-info\\REQUESTED',
|
||||||
'C:\\Program '
|
'C:\\Program '
|
||||||
|
|||||||
Binary file not shown.
BIN
Texturing/MergeTextures2/dist/merge_textures.exe
vendored
BIN
Texturing/MergeTextures2/dist/merge_textures.exe
vendored
Binary file not shown.
@@ -66,6 +66,8 @@ def process_textures(input_files):
|
|||||||
material_count = len(textures)
|
material_count = len(textures)
|
||||||
print(f"Detected {material_count} Materials to process.")
|
print(f"Detected {material_count} Materials to process.")
|
||||||
|
|
||||||
|
failed_converts = 0
|
||||||
|
|
||||||
# Process each material group
|
# Process each material group
|
||||||
for index, (material, files) in enumerate(textures.items()):
|
for index, (material, files) in enumerate(textures.items()):
|
||||||
basecolor_file = files.get('BaseColor')
|
basecolor_file = files.get('BaseColor')
|
||||||
@@ -77,7 +79,6 @@ def process_textures(input_files):
|
|||||||
mask_file = files.get('Mask')
|
mask_file = files.get('Mask')
|
||||||
|
|
||||||
missing_files = []
|
missing_files = []
|
||||||
failed_converts = 0
|
|
||||||
|
|
||||||
# Check for required textures
|
# Check for required textures
|
||||||
if not basecolor_file:
|
if not basecolor_file:
|
||||||
@@ -89,12 +90,16 @@ def process_textures(input_files):
|
|||||||
|
|
||||||
# Report missing files if any
|
# Report missing files if any
|
||||||
if missing_files:
|
if missing_files:
|
||||||
print(f"({index+1}/{material_count}) Skipping {material}: missing {', '.join(missing_files)}")
|
print(f"({index + 1}/{material_count}) Skipping {material}: missing {', '.join(missing_files)}")
|
||||||
failed_converts += 1
|
failed_converts += 1
|
||||||
else:
|
else:
|
||||||
# Convert to BCR/NMO format
|
# Convert to BCR/NMO format and track success or failure
|
||||||
convert_to_bcr_nmo(material, basecolor_file, normal_file, rma_file, orm_file, emissive_file, opacity_file, mask_file, output_folder)
|
|
||||||
print(f"({index+1}/{material_count}) {material}: Successfully converted.")
|
if convert_to_bcr_nmo(material, basecolor_file, normal_file, rma_file, orm_file, emissive_file, opacity_file, mask_file, output_folder):
|
||||||
|
print(f"({index + 1}/{material_count}) {material}: Successfully converted.")
|
||||||
|
else:
|
||||||
|
failed_converts += 1 # Increment counter here if conversion fails
|
||||||
|
print(f"({index + 1}/{material_count}) Skipping {material}: input file sizes do not match.")
|
||||||
|
|
||||||
print(f"+++{material_count - failed_converts} of {material_count} materials successfully converted+++")
|
print(f"+++{material_count - failed_converts} of {material_count} materials successfully converted+++")
|
||||||
time.sleep(3)
|
time.sleep(3)
|
||||||
@@ -106,6 +111,8 @@ def convert_to_bcr_nmo(material, basecolor_file, normal_file, rma_file, orm_file
|
|||||||
|
|
||||||
if rma_file:
|
if rma_file:
|
||||||
rma_img = Image.open(rma_file).convert('RGBA')
|
rma_img = Image.open(rma_file).convert('RGBA')
|
||||||
|
if not (basecolor_img.size == normal_img.size == rma_img.size):
|
||||||
|
return False
|
||||||
# BCR conversion
|
# BCR conversion
|
||||||
bcr_img = Image.merge('RGBA', (basecolor_img.split()[0], basecolor_img.split()[1], basecolor_img.split()[2], rma_img.split()[0])) # Use Roughness (Alpha from RMA/ORM)
|
bcr_img = Image.merge('RGBA', (basecolor_img.split()[0], basecolor_img.split()[1], basecolor_img.split()[2], rma_img.split()[0])) # Use Roughness (Alpha from RMA/ORM)
|
||||||
bcr_img.save(os.path.join(output_folder, f"{material}_BCR.png"))
|
bcr_img.save(os.path.join(output_folder, f"{material}_BCR.png"))
|
||||||
@@ -114,6 +121,8 @@ def convert_to_bcr_nmo(material, basecolor_file, normal_file, rma_file, orm_file
|
|||||||
nmo_img.save(os.path.join(output_folder, f"{material}_NMO.png"))
|
nmo_img.save(os.path.join(output_folder, f"{material}_NMO.png"))
|
||||||
elif orm_file:
|
elif orm_file:
|
||||||
rma_img = Image.open(orm_file).convert('RGBA')
|
rma_img = Image.open(orm_file).convert('RGBA')
|
||||||
|
if not (basecolor_img.size == normal_img.size == rma_img.size):
|
||||||
|
return False
|
||||||
# BCR conversion
|
# BCR conversion
|
||||||
bcr_img = Image.merge('RGBA', (basecolor_img.split()[0], basecolor_img.split()[1], basecolor_img.split()[2], rma_img.split()[1])) # Use Roughness (Alpha from RMA/ORM)
|
bcr_img = Image.merge('RGBA', (basecolor_img.split()[0], basecolor_img.split()[1], basecolor_img.split()[2], rma_img.split()[1])) # Use Roughness (Alpha from RMA/ORM)
|
||||||
bcr_img.save(os.path.join(output_folder, f"{material}_BCR.png"))
|
bcr_img.save(os.path.join(output_folder, f"{material}_BCR.png"))
|
||||||
@@ -132,6 +141,8 @@ def convert_to_bcr_nmo(material, basecolor_file, normal_file, rma_file, orm_file
|
|||||||
if mask_file:
|
if mask_file:
|
||||||
mask_img = Image.open(mask_file).convert('L')
|
mask_img = Image.open(mask_file).convert('L')
|
||||||
mask_img.save(os.path.join(output_folder, f"{material}_MASK.png"))
|
mask_img.save(os.path.join(output_folder, f"{material}_MASK.png"))
|
||||||
|
|
||||||
|
return True
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
if len(sys.argv) < 2:
|
if len(sys.argv) < 2:
|
||||||
print("Usage: drag and drop texture files onto the script")
|
print("Usage: drag and drop texture files onto the script")
|
||||||
|
|||||||
Reference in New Issue
Block a user