54 lines
33 KiB
JSON
54 lines
33 KiB
JSON
{
|
|
"sourceFile": "config.py",
|
|
"activeCommit": 0,
|
|
"commits": [
|
|
{
|
|
"activePatchIndex": 9,
|
|
"patches": [
|
|
{
|
|
"date": 1745224931023,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n"
|
|
},
|
|
{
|
|
"date": 1745225971632,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,77 @@\n+# config.py\r\n+# Core settings defining the pipeline standards and output format.\r\n+\r\n+# --- Target Output Standards ---\r\n+TARGET_FILENAME_PATTERN = \"{base_name}_{map_type}_{resolution}.{ext}\"\r\n+STANDARD_MAP_TYPES = [\r\n+ \"COL\", \"NRM\", \"ROUGH\", \"METAL\", \"AO\", \"DISP\", \"REFL\",\r\n+ \"SSS\", \"FUZZ\", \"IDMAP\", \"MASK\"\r\n+]\r\n+# Map types that should always receive a numeric suffix (e.g., COL-1, COL-2)\r\n+# based on preset keyword order, even if only one variant is found.\r\n+RESPECT_VARIANT_MAP_TYPES = [\"COL\"]\r\n+\r\n+# Subdirectory within the final set folder for non-essential/unknown files\r\n+EXTRA_FILES_SUBDIR = \"Extra\"\r\n+OUTPUT_BASE_DIR = \"../Asset_Processor_Output\" #accepts both relative and absolute paths\r\n+METADATA_FILENAME = \"metadata.json\"\r\n+\r\n+# --- Image Processing Settings ---\r\n+# Target resolutions (Largest dimension in pixels)\r\n+PNG_COMPRESSION_LEVEL = 6 # 0 (none) to 9 (max)\r\n+# Quality for JPG output (0-100)\r\n+JPG_QUALITY = 98\r\n+# Resolution dimension threshold (pixels) above which 8-bit images are forced to JPG, overriding input format logic.\r\n+RESOLUTION_THRESHOLD_FOR_JPG = 4096\r\n+IMAGE_RESOLUTIONS = {\"8K\": 8192,\"4K\": 4096, \"2K\": 2048, \"1K\": 1024}\r\n+# Aspect ratio decimals (used for metadata, could potentially be removed later)\r\n+ASPECT_RATIO_DECIMALS = 2\r\n+# Bit depth rules per standard map type ('respect' or 'force_8bit')\r\n+MAP_BIT_DEPTH_RULES = {\r\n+ \"COL\": \"force_8bit\", \"NRM\": \"respect\", \"ROUGH\": \"force_8bit\", \"METAL\": \"force_8bit\",\r\n+ \"AO\": \"force_8bit\", \"DISP\": \"respect\", \"REFL\": \"force_bit\", \"SSS\": \"respect\",\r\n+ \"FUZZ\": \"force_bit\", \"IDMAP\": \"force_8bit\", \"MASK\": \"force_8bit\",\r\n+ \"DEFAULT\": \"respect\" # Fallback for map types not listed\r\n+}\r\n+# Output format preferences for 16-bit data\r\n+OUTPUT_FORMAT_16BIT_PRIMARY = \"png\" # Options: exr_dwaa, exr_dwab, exr_zip, png, tif\r\n+OUTPUT_FORMAT_16BIT_FALLBACK = \"png\"\r\n+# Output format for 8-bit data\r\n+OUTPUT_FORMAT_8BIT = \"png\" # Could allow 'jpg' later with quality settings\r\n+\r\n+# Map types that should always be saved in a lossless format (e.g., PNG, EXR)\r\n+# regardless of resolution threshold or input format.\r\n+#FORCE_LOSSLESS_MAP_TYPES = [\"NRM\", \"NRMRGN\"]\r\n+\r\n+# --- Map Merging Rules ---\r\n+# List of dictionaries, each defining a merge operation.\r\n+MAP_MERGE_RULES = [\r\n+ {\r\n+ \"output_map_type\": \"NRMRGH\", # Suffix or standard name for the merged map\r\n+ \"inputs\": { # Map target RGB channels to standard input map type names\r\n+ \"R\": \"NRM\", # Use Red channel from NRM\r\n+ \"G\": \"NRM\", # Use Green channel from NRM\r\n+ \"B\": \"ROUGH\" # Use Red channel from ROUGH (assuming it's grayscale)\r\n+ },\r\n+ \"defaults\": { # Default values (0.0 - 1.0) if an input map is missing\r\n+ \"R\": 0.5, \"G\": 0.5, \"B\": 1.0 # Default Nrm=(0.5,0.5,1), Default Rough=1.0\r\n+ },\r\n+ # 'respect_inputs' (use 16bit if any input is), 'force_8bit', 'force_16bit'\r\n+ \"output_bit_depth\": \"respect_inputs\"\r\n+ },\r\n+ # Example: Merge Metalness(R), Roughness(G), AO(B) -> \"MRA\" map often used in engines\r\n+ # {\r\n+ # \"output_map_type\": \"MRA\",\r\n+ # \"inputs\": {\"R\": \"METAL\", \"G\": \"ROUGH\", \"B\": \"AO\"},\r\n+ # \"defaullllts\": {\"R\": 0.0, \"G\": 1.0, \"B\": 1.0}, # Default Metal=0, Rough=1, AO=1\r\n+ # \"output_bit_depth\": \"force_8bit\" # Usually fine as 8bit\r\n+ # },\r\n+]\r\n+\r\n+# --- Metadata Settings ---\r\n+CALCULATE_STATS_RESOLUTION = \"1K\" # Resolution suffix used for calculating stats\r\n+DEFAULT_ASSET_CATEGORY = \"Surface\" # If rules don't identify Asset or Decal\r\n+\r\n+# --- Internal Settings ---\r\n+# Temporary directory prefix for processing folders\r\n+TEMP_DIR_PREFIX = \"_PROCESS_ASSET_\"\n\\ No newline at end of file\n"
|
|
},
|
|
{
|
|
"date": 1745229040416,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -53,9 +53,9 @@\n \"G\": \"NRM\", # Use Green channel from NRM\r\n \"B\": \"ROUGH\" # Use Red channel from ROUGH (assuming it's grayscale)\r\n },\r\n \"defaults\": { # Default values (0.0 - 1.0) if an input map is missing\r\n- \"R\": 0.5, \"G\": 0.5, \"B\": 1.0 # Default Nrm=(0.5,0.5,1), Default Rough=1.0\r\n+ \"R\": 0.5, \"G\": 0.5, \"B\": 0.5 # Default Nrm=(0.5,0.5,1), Default Rough=1.0\r\n },\r\n # 'respect_inputs' (use 16bit if any input is), 'force_8bit', 'force_16bit'\r\n \"output_bit_depth\": \"respect_inputs\"\r\n },\r\n@@ -73,82 +73,5 @@\n DEFAULT_ASSET_CATEGORY = \"Surface\" # If rules don't identify Asset or Decal\r\n \r\n # --- Internal Settings ---\r\n # Temporary directory prefix for processing folders\r\n-TEMP_DIR_PREFIX = \"_PROCESS_ASSET_\"\n-# config.py\r\n-# Core settings defining the pipeline standards and output format.\r\n-\r\n-# --- Target Output Standards ---\r\n-TARGET_FILENAME_PATTERN = \"{base_name}_{map_type}_{resolution}.{ext}\"\r\n-STANDARD_MAP_TYPES = [\r\n- \"COL\", \"NRM\", \"ROUGH\", \"METAL\", \"AO\", \"DISP\", \"REFL\",\r\n- \"SSS\", \"FUZZ\", \"IDMAP\", \"MASK\"\r\n-]\r\n-# Map types that should always receive a numeric suffix (e.g., COL-1, COL-2)\r\n-# based on preset keyword order, even if only one variant is found.\r\n-RESPECT_VARIANT_MAP_TYPES = [\"COL\"]\r\n-\r\n-# Subdirectory within the final set folder for non-essential/unknown files\r\n-EXTRA_FILES_SUBDIR = \"Extra\"\r\n-OUTPUT_BASE_DIR = \"../Asset_Processor_Output\" #accepts both relative and absolute paths\r\n-METADATA_FILENAME = \"metadata.json\"\r\n-\r\n-# --- Image Processing Settings ---\r\n-# Target resolutions (Largest dimension in pixels)\r\n-PNG_COMPRESSION_LEVEL = 6 # 0 (none) to 9 (max)\r\n-# Quality for JPG output (0-100)\r\n-JPG_QUALITY = 98\r\n-# Resolution dimension threshold (pixels) above which 8-bit images are forced to JPG, overriding input format logic.\r\n-RESOLUTION_THRESHOLD_FOR_JPG = 4096\r\n-IMAGE_RESOLUTIONS = {\"8K\": 8192,\"4K\": 4096, \"2K\": 2048, \"1K\": 1024}\r\n-# Aspect ratio decimals (used for metadata, could potentially be removed later)\r\n-ASPECT_RATIO_DECIMALS = 2\r\n-# Bit depth rules per standard map type ('respect' or 'force_8bit')\r\n-MAP_BIT_DEPTH_RULES = {\r\n- \"COL\": \"force_8bit\", \"NRM\": \"respect\", \"ROUGH\": \"force_8bit\", \"METAL\": \"force_8bit\",\r\n- \"AO\": \"force_8bit\", \"DISP\": \"respect\", \"REFL\": \"force_bit\", \"SSS\": \"respect\",\r\n- \"FUZZ\": \"force_bit\", \"IDMAP\": \"force_8bit\", \"MASK\": \"force_8bit\",\r\n- \"DEFAULT\": \"respect\" # Fallback for map types not listed\r\n-}\r\n-# Output format preferences for 16-bit data\r\n-OUTPUT_FORMAT_16BIT_PRIMARY = \"png\" # Options: exr_dwaa, exr_dwab, exr_zip, png, tif\r\n-OUTPUT_FORMAT_16BIT_FALLBACK = \"png\"\r\n-# Output format for 8-bit data\r\n-OUTPUT_FORMAT_8BIT = \"png\" # Could allow 'jpg' later with quality settings\r\n-\r\n-# Map types that should always be saved in a lossless format (e.g., PNG, EXR)\r\n-# regardless of resolution threshold or input format.\r\n-FORCE_LOSSLESS_MAP_TYPES = [\"NRM\", \"NRMRGN\"]\r\n-\r\n-# --- Map Merging Rules ---\r\n-# List of dictionaries, each defining a merge operation.\r\n-MAP_MERGE_RULES = [\r\n- {\r\n- \"output_map_type\": \"NRMRGH\", # Suffix or standard name for the merged map\r\n- \"inputs\": { # Map target RGB channels to standard input map type names\r\n- \"R\": \"NRM\", # Use Red channel from NRM\r\n- \"G\": \"NRM\", # Use Green channel from NRM\r\n- \"B\": \"ROUGH\" # Use Red channel from ROUGH (assuming it's grayscale)\r\n- },\r\n- \"defaults\": { # Default values (0.0 - 1.0) if an input map is missing\r\n- \"R\": 0.5, \"G\": 0.5, \"B\": 1.0 # Default Nrm=(0.5,0.5,1), Default Rough=1.0\r\n- },\r\n- # 'respect_inputs' (use 16bit if any input is), 'force_8bit', 'force_16bit'\r\n- \"output_bit_depth\": \"respect_inputs\"\r\n- },\r\n- # Example: Merge Metalness(R), Roughness(G), AO(B) -> \"MRA\" map often used in engines\r\n- # {\r\n- # \"output_map_type\": \"MRA\",\r\n- # \"inputs\": {\"R\": \"METAL\", \"G\": \"ROUGH\", \"B\": \"AO\"},\r\n- # \"defaullllts\": {\"R\": 0.0, \"G\": 1.0, \"B\": 1.0}, # Default Metal=0, Rough=1, AO=1\r\n- # \"output_bit_depth\": \"force_8bit\" # Usually fine as 8bit\r\n- # },\r\n-]\r\n-\r\n-# --- Metadata Settings ---\r\n-CALCULATE_STATS_RESOLUTION = \"1K\" # Resolution suffix used for calculating stats\r\n-DEFAULT_ASSET_CATEGORY = \"Surface\" # If rules don't identify Asset or Decal\r\n-\r\n-# --- Internal Settings ---\r\n-# Temporary directory prefix for processing folders\r\n TEMP_DIR_PREFIX = \"_PROCESS_ASSET_\"\n\\ No newline at end of file\n"
|
|
},
|
|
{
|
|
"date": 1745229058666,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -53,9 +53,9 @@\n \"G\": \"NRM\", # Use Green channel from NRM\r\n \"B\": \"ROUGH\" # Use Red channel from ROUGH (assuming it's grayscale)\r\n },\r\n \"defaults\": { # Default values (0.0 - 1.0) if an input map is missing\r\n- \"R\": 0.5, \"G\": 0.5, \"B\": 0.5 # Default Nrm=(0.5,0.5,1), Default Rough=1.0\r\n+ \"R\": 0.5, \"G\": 0.5, \"B\": 0.5 \r\n },\r\n # 'respect_inputs' (use 16bit if any input is), 'force_8bit', 'force_16bit'\r\n \"output_bit_depth\": \"respect_inputs\"\r\n },\r\n"
|
|
},
|
|
{
|
|
"date": 1745261922167,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -15,8 +15,15 @@\n EXTRA_FILES_SUBDIR = \"Extra\"\r\n OUTPUT_BASE_DIR = \"../Asset_Processor_Output\" #accepts both relative and absolute paths\r\n METADATA_FILENAME = \"metadata.json\"\r\n \r\n+# --- Blender Integration Settings ---\r\n+# Default paths to Blender files for node group and material creation.\r\n+# Set these to absolute or relative paths if you want defaults.\r\n+# Command-line arguments (--nodegroup-blend, --materials-blend) will override these.\r\n+DEFAULT_NODEGROUP_BLEND_PATH = None # e.g., r\"G:\\Blender\\Libraries\\NodeGroups.blend\"\r\n+DEFAULT_MATERIALS_BLEND_PATH = None # e.g., r\"G:\\Blender\\Libraries\\Materials.blend\"\r\n+\r\n # --- Image Processing Settings ---\r\n # Target resolutions (Largest dimension in pixels)\r\n PNG_COMPRESSION_LEVEL = 6 # 0 (none) to 9 (max)\r\n # Quality for JPG output (0-100)\r\n"
|
|
},
|
|
{
|
|
"date": 1745262009600,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -21,8 +21,11 @@\n # Set these to absolute or relative paths if you want defaults.\r\n # Command-line arguments (--nodegroup-blend, --materials-blend) will override these.\r\n DEFAULT_NODEGROUP_BLEND_PATH = None # e.g., r\"G:\\Blender\\Libraries\\NodeGroups.blend\"\r\n DEFAULT_MATERIALS_BLEND_PATH = None # e.g., r\"G:\\Blender\\Libraries\\Materials.blend\"\r\n+# Path to the Blender executable. Required for running Blender scripts.\r\n+# Example: r\"C:\\Program Files\\Blender Foundation\\Blender 3.6\\blender.exe\"\r\n+BLENDER_EXECUTABLE_PATH = None # <<< SET THIS PATH!\r\n \r\n # --- Image Processing Settings ---\r\n # Target resolutions (Largest dimension in pixels)\r\n PNG_COMPRESSION_LEVEL = 6 # 0 (none) to 9 (max)\r\n"
|
|
},
|
|
{
|
|
"date": 1745262579051,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -19,10 +19,10 @@\n # --- Blender Integration Settings ---\r\n # Default paths to Blender files for node group and material creation.\r\n # Set these to absolute or relative paths if you want defaults.\r\n # Command-line arguments (--nodegroup-blend, --materials-blend) will override these.\r\n-DEFAULT_NODEGROUP_BLEND_PATH = None # e.g., r\"G:\\Blender\\Libraries\\NodeGroups.blend\"\r\n-DEFAULT_MATERIALS_BLEND_PATH = None # e.g., r\"G:\\Blender\\Libraries\\Materials.blend\"\r\n+DEFAULT_NODEGROUP_BLEND_PATH = r\"G/02 Content/10-19 Content/19 Catalogs/19.01 Blender Asset Catalogue/_CustomLibraries/Nodes-Linked/PBRSET-Nodes-Testing.blend\" # e.g., r\"G:\\Blender\\Libraries\\NodeGroups.blend\"\r\n+DEFAULT_MATERIALS_BLEND_PATH = r\"G/02 Content/10-19 Content/19 Catalogs/19.01 Blender Asset Catalogue/_CustomLibraries/Materials-Append/PBR Materials-Testing-Testing.blend\" # e.g., r\"G:\\Blender\\Libraries\\Materials.blend\"\r\n # Path to the Blender executable. Required for running Blender scripts.\r\n # Example: r\"C:\\Program Files\\Blender Foundation\\Blender 3.6\\blender.exe\"\r\n BLENDER_EXECUTABLE_PATH = None # <<< SET THIS PATH!\r\n \r\n"
|
|
},
|
|
{
|
|
"date": 1745262635453,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,87 @@\n+# config.py\r\n+# Core settings defining the pipeline standards and output format.\r\n+\r\n+# --- Target Output Standards ---\r\n+TARGET_FILENAME_PATTERN = \"{base_name}_{map_type}_{resolution}.{ext}\"\r\n+STANDARD_MAP_TYPES = [\r\n+ \"COL\", \"NRM\", \"ROUGH\", \"METAL\", \"AO\", \"DISP\", \"REFL\",\r\n+ \"SSS\", \"FUZZ\", \"IDMAP\", \"MASK\"\r\n+]\r\n+# Map types that should always receive a numeric suffix (e.g., COL-1, COL-2)\r\n+# based on preset keyword order, even if only one variant is found.\r\n+RESPECT_VARIANT_MAP_TYPES = [\"COL\"]\r\n+\r\n+# Subdirectory within the final set folder for non-essential/unknown files\r\n+EXTRA_FILES_SUBDIR = \"Extra\"\r\n+OUTPUT_BASE_DIR = \"../Asset_Processor_Output\" #accepts both relative and absolute paths\r\n+METADATA_FILENAME = \"metadata.json\"\r\n+\r\n+# --- Blender Integration Settings ---\r\n+# Default paths to Blender files for node group and material creation.\r\n+# Set these to absolute or relative paths if you want defaults.\r\n+# Command-line arguments (--nodegroup-blend, --materials-blend) will override these.\r\n+DEFAULT_NODEGROUP_BLEND_PATH = r\"G/02 Content/10-19 Content/19 Catalogs/19.01 Blender Asset Catalogue/_CustomLibraries/Nodes-Linked/PBRSET-Nodes-Testing.blend\" # e.g., r\"G:\\Blender\\Libraries\\NodeGroups.blend\"\r\n+DEFAULT_MATERIALS_BLEND_PATH = r\"G/02 Content/10-19 Content/19 Catalogs/19.01 Blender Asset Catalogue/_CustomLibraries/Materials-Append/PBR Materials-Testing-Testing.blend\" # e.g., r\"G:\\Blender\\Libraries\\Materials.blend\"\r\n+# Path to the Blender executable. Required for running Blender scripts.\r\n+# Example: r\"C:\\Program Files\\Blender Foundation\\Blender 3.6\\blender.exe\"\r\n+BLENDER_EXECUTABLE_PATH = r\"C:/Program Files/Blender Foundation/Blender 4.4/blender.exe\" # <<< SET THIS PATH!\r\n+\r\n+# --- Image Processing Settings ---\r\n+# Target resolutions (Largest dimension in pixels)\r\n+PNG_COMPRESSION_LEVEL = 6 # 0 (none) to 9 (max)\r\n+# Quality for JPG output (0-100)\r\n+JPG_QUALITY = 98\r\n+# Resolution dimension threshold (pixels) above which 8-bit images are forced to JPG, overriding input format logic.\r\n+RESOLUTION_THRESHOLD_FOR_JPG = 4096\r\n+IMAGE_RESOLUTIONS = {\"8K\": 8192,\"4K\": 4096, \"2K\": 2048, \"1K\": 1024}\r\n+# Aspect ratio decimals (used for metadata, could potentially be removed later)\r\n+ASPECT_RATIO_DECIMALS = 2\r\n+# Bit depth rules per standard map type ('respect' or 'force_8bit')\r\n+MAP_BIT_DEPTH_RULES = {\r\n+ \"COL\": \"force_8bit\", \"NRM\": \"respect\", \"ROUGH\": \"force_8bit\", \"METAL\": \"force_8bit\",\r\n+ \"AO\": \"force_8bit\", \"DISP\": \"respect\", \"REFL\": \"force_bit\", \"SSS\": \"respect\",\r\n+ \"FUZZ\": \"force_bit\", \"IDMAP\": \"force_8bit\", \"MASK\": \"force_8bit\",\r\n+ \"DEFAULT\": \"respect\" # Fallback for map types not listed\r\n+}\r\n+# Output format preferences for 16-bit data\r\n+OUTPUT_FORMAT_16BIT_PRIMARY = \"png\" # Options: exr_dwaa, exr_dwab, exr_zip, png, tif\r\n+OUTPUT_FORMAT_16BIT_FALLBACK = \"png\"\r\n+# Output format for 8-bit data\r\n+OUTPUT_FORMAT_8BIT = \"png\" # Could allow 'jpg' later with quality settings\r\n+\r\n+# Map types that should always be saved in a lossless format (e.g., PNG, EXR)\r\n+# regardless of resolution threshold or input format.\r\n+#FORCE_LOSSLESS_MAP_TYPES = [\"NRM\", \"NRMRGN\"]\r\n+\r\n+# --- Map Merging Rules ---\r\n+# List of dictionaries, each defining a merge operation.\r\n+MAP_MERGE_RULES = [\r\n+ {\r\n+ \"output_map_type\": \"NRMRGH\", # Suffix or standard name for the merged map\r\n+ \"inputs\": { # Map target RGB channels to standard input map type names\r\n+ \"R\": \"NRM\", # Use Red channel from NRM\r\n+ \"G\": \"NRM\", # Use Green channel from NRM\r\n+ \"B\": \"ROUGH\" # Use Red channel from ROUGH (assuming it's grayscale)\r\n+ },\r\n+ \"defaults\": { # Default values (0.0 - 1.0) if an input map is missing\r\n+ \"R\": 0.5, \"G\": 0.5, \"B\": 0.5 \r\n+ },\r\n+ # 'respect_inputs' (use 16bit if any input is), 'force_8bit', 'force_16bit'\r\n+ \"output_bit_depth\": \"respect_inputs\"\r\n+ },\r\n+ # Example: Merge Metalness(R), Roughness(G), AO(B) -> \"MRA\" map often used in engines\r\n+ # {\r\n+ # \"output_map_type\": \"MRA\",\r\n+ # \"inputs\": {\"R\": \"METAL\", \"G\": \"ROUGH\", \"B\": \"AO\"},\r\n+ # \"defaullllts\": {\"R\": 0.0, \"G\": 1.0, \"B\": 1.0}, # Default Metal=0, Rough=1, AO=1\r\n+ # \"output_bit_depth\": \"force_8bit\" # Usually fine as 8bit\r\n+ # },\r\n+]\r\n+\r\n+# --- Metadata Settings ---\r\n+CALCULATE_STATS_RESOLUTION = \"1K\" # Resolution suffix used for calculating stats\r\n+DEFAULT_ASSET_CATEGORY = \"Surface\" # If rules don't identify Asset or Decal\r\n+\r\n+# --- Internal Settings ---\r\n+# Temporary directory prefix for processing folders\r\n+TEMP_DIR_PREFIX = \"_PROCESS_ASSET_\"\n\\ No newline at end of file\n"
|
|
},
|
|
{
|
|
"date": 1745262904956,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,87 @@\n+# config.py\r\n+# Core settings defining the pipeline standards and output format.\r\n+\r\n+# --- Target Output Standards ---\r\n+TARGET_FILENAME_PATTERN = \"{base_name}_{map_type}_{resolution}.{ext}\"\r\n+STANDARD_MAP_TYPES = [\r\n+ \"COL\", \"NRM\", \"ROUGH\", \"METAL\", \"AO\", \"DISP\", \"REFL\",\r\n+ \"SSS\", \"FUZZ\", \"IDMAP\", \"MASK\"\r\n+]\r\n+# Map types that should always receive a numeric suffix (e.g., COL-1, COL-2)\r\n+# based on preset keyword order, even if only one variant is found.\r\n+RESPECT_VARIANT_MAP_TYPES = [\"COL\"]\r\n+\r\n+# Subdirectory within the final set folder for non-essential/unknown files\r\n+EXTRA_FILES_SUBDIR = \"Extra\"\r\n+OUTPUT_BASE_DIR = \"../Asset_Processor_Output\" #accepts both relative and absolute paths\r\n+METADATA_FILENAME = \"metadata.json\"\r\n+\r\n+# --- Blender Integration Settings ---\r\n+# Default paths to Blender files for node group and material creation.\r\n+# Set these to absolute or relative paths if you want defaults.\r\n+# Command-line arguments (--nodegroup-blend, --materials-blend) will override these.\r\n+DEFAULT_NODEGROUP_BLEND_PATH = r\"G:/02 Content/10-19 Content/19 Catalogs/19.01 Blender Asset Catalogue/_CustomLibraries/Nodes-Linked/PBRSET-Nodes-Testing.blend\" # e.g., r\"G:\\Blender\\Libraries\\NodeGroups.blend\"\r\n+DEFAULT_MATERIALS_BLEND_PATH = r\"G:/02 Content/10-19 Content/19 Catalogs/19.01 Blender Asset Catalogue/_CustomLibraries/Materials-Append/PBR Materials-Testing-Testing.blend\" # e.g., r\"G:\\Blender\\Libraries\\Materials.blend\"\r\n+# Path to the Blender executable. Required for running Blender scripts.\r\n+# Example: r\"C:\\Program Files\\Blender Foundation\\Blender 3.6\\blender.exe\"\r\n+BLENDER_EXECUTABLE_PATH = r\"C:/Program Files/Blender Foundation/Blender 4.4/blender.exe\" # <<< SET THIS PATH!\r\n+\r\n+# --- Image Processing Settings ---\r\n+# Target resolutions (Largest dimension in pixels)\r\n+PNG_COMPRESSION_LEVEL = 6 # 0 (none) to 9 (max)\r\n+# Quality for JPG output (0-100)\r\n+JPG_QUALITY = 98\r\n+# Resolution dimension threshold (pixels) above which 8-bit images are forced to JPG, overriding input format logic.\r\n+RESOLUTION_THRESHOLD_FOR_JPG = 4096\r\n+IMAGE_RESOLUTIONS = {\"8K\": 8192,\"4K\": 4096, \"2K\": 2048, \"1K\": 1024}\r\n+# Aspect ratio decimals (used for metadata, could potentially be removed later)\r\n+ASPECT_RATIO_DECIMALS = 2\r\n+# Bit depth rules per standard map type ('respect' or 'force_8bit')\r\n+MAP_BIT_DEPTH_RULES = {\r\n+ \"COL\": \"force_8bit\", \"NRM\": \"respect\", \"ROUGH\": \"force_8bit\", \"METAL\": \"force_8bit\",\r\n+ \"AO\": \"force_8bit\", \"DISP\": \"respect\", \"REFL\": \"force_bit\", \"SSS\": \"respect\",\r\n+ \"FUZZ\": \"force_bit\", \"IDMAP\": \"force_8bit\", \"MASK\": \"force_8bit\",\r\n+ \"DEFAULT\": \"respect\" # Fallback for map types not listed\r\n+}\r\n+# Output format preferences for 16-bit data\r\n+OUTPUT_FORMAT_16BIT_PRIMARY = \"png\" # Options: exr_dwaa, exr_dwab, exr_zip, png, tif\r\n+OUTPUT_FORMAT_16BIT_FALLBACK = \"png\"\r\n+# Output format for 8-bit data\r\n+OUTPUT_FORMAT_8BIT = \"png\" # Could allow 'jpg' later with quality settings\r\n+\r\n+# Map types that should always be saved in a lossless format (e.g., PNG, EXR)\r\n+# regardless of resolution threshold or input format.\r\n+#FORCE_LOSSLESS_MAP_TYPES = [\"NRM\", \"NRMRGN\"]\r\n+\r\n+# --- Map Merging Rules ---\r\n+# List of dictionaries, each defining a merge operation.\r\n+MAP_MERGE_RULES = [\r\n+ {\r\n+ \"output_map_type\": \"NRMRGH\", # Suffix or standard name for the merged map\r\n+ \"inputs\": { # Map target RGB channels to standard input map type names\r\n+ \"R\": \"NRM\", # Use Red channel from NRM\r\n+ \"G\": \"NRM\", # Use Green channel from NRM\r\n+ \"B\": \"ROUGH\" # Use Red channel from ROUGH (assuming it's grayscale)\r\n+ },\r\n+ \"defaults\": { # Default values (0.0 - 1.0) if an input map is missing\r\n+ \"R\": 0.5, \"G\": 0.5, \"B\": 0.5 \r\n+ },\r\n+ # 'respect_inputs' (use 16bit if any input is), 'force_8bit', 'force_16bit'\r\n+ \"output_bit_depth\": \"respect_inputs\"\r\n+ },\r\n+ # Example: Merge Metalness(R), Roughness(G), AO(B) -> \"MRA\" map often used in engines\r\n+ # {\r\n+ # \"output_map_type\": \"MRA\",\r\n+ # \"inputs\": {\"R\": \"METAL\", \"G\": \"ROUGH\", \"B\": \"AO\"},\r\n+ # \"defaullllts\": {\"R\": 0.0, \"G\": 1.0, \"B\": 1.0}, # Default Metal=0, Rough=1, AO=1\r\n+ # \"output_bit_depth\": \"force_8bit\" # Usually fine as 8bit\r\n+ # },\r\n+]\r\n+\r\n+# --- Metadata Settings ---\r\n+CALCULATE_STATS_RESOLUTION = \"1K\" # Resolution suffix used for calculating stats\r\n+DEFAULT_ASSET_CATEGORY = \"Surface\" # If rules don't identify Asset or Decal\r\n+\r\n+# --- Internal Settings ---\r\n+# Temporary directory prefix for processing folders\r\n+TEMP_DIR_PREFIX = \"_PROCESS_ASSET_\"\n\\ No newline at end of file\n"
|
|
},
|
|
{
|
|
"date": 1745263322203,
|
|
"content": "Index: \n===================================================================\n--- \n+++ \n@@ -0,0 +1,87 @@\n+# config.py\r\n+# Core settings defining the pipeline standards and output format.\r\n+\r\n+# --- Target Output Standards ---\r\n+TARGET_FILENAME_PATTERN = \"{base_name}_{map_type}_{resolution}.{ext}\"\r\n+STANDARD_MAP_TYPES = [\r\n+ \"COL\", \"NRM\", \"ROUGH\", \"METAL\", \"AO\", \"DISP\", \"REFL\",\r\n+ \"SSS\", \"FUZZ\", \"IDMAP\", \"MASK\"\r\n+]\r\n+# Map types that should always receive a numeric suffix (e.g., COL-1, COL-2)\r\n+# based on preset keyword order, even if only one variant is found.\r\n+RESPECT_VARIANT_MAP_TYPES = [\"COL\"]\r\n+\r\n+# Subdirectory within the final set folder for non-essential/unknown files\r\n+EXTRA_FILES_SUBDIR = \"Extra\"\r\n+OUTPUT_BASE_DIR = \"../Asset_Processor_Output\" #accepts both relative and absolute paths\r\n+METADATA_FILENAME = \"metadata.json\"\r\n+\r\n+# --- Blender Integration Settings ---\r\n+# Default paths to Blender files for node group and material creation.\r\n+# Set these to absolute or relative paths if you want defaults.\r\n+# Command-line arguments (--nodegroup-blend, --materials-blend) will override these.\r\n+DEFAULT_NODEGROUP_BLEND_PATH = r\"G:/02 Content/10-19 Content/19 Catalogs/19.01 Blender Asset Catalogue/_CustomLibraries/Nodes-Linked/PBRSET-Nodes-Testing.blend\" # e.g., r\"G:\\Blender\\Libraries\\NodeGroups.blend\"\r\n+DEFAULT_MATERIALS_BLEND_PATH = r\"G:/02 Content/10-19 Content/19 Catalogs/19.01 Blender Asset Catalogue/_CustomLibraries/Materials-Append/PBR Materials-Testing.blend\" # e.g., r\"G:\\Blender\\Libraries\\Materials.blend\"\r\n+# Path to the Blender executable. Required for running Blender scripts.\r\n+# Example: r\"C:\\Program Files\\Blender Foundation\\Blender 3.6\\blender.exe\"\r\n+BLENDER_EXECUTABLE_PATH = r\"C:/Program Files/Blender Foundation/Blender 4.4/blender.exe\" # <<< SET THIS PATH!\r\n+\r\n+# --- Image Processing Settings ---\r\n+# Target resolutions (Largest dimension in pixels)\r\n+PNG_COMPRESSION_LEVEL = 6 # 0 (none) to 9 (max)\r\n+# Quality for JPG output (0-100)\r\n+JPG_QUALITY = 98\r\n+# Resolution dimension threshold (pixels) above which 8-bit images are forced to JPG, overriding input format logic.\r\n+RESOLUTION_THRESHOLD_FOR_JPG = 4096\r\n+IMAGE_RESOLUTIONS = {\"8K\": 8192,\"4K\": 4096, \"2K\": 2048, \"1K\": 1024}\r\n+# Aspect ratio decimals (used for metadata, could potentially be removed later)\r\n+ASPECT_RATIO_DECIMALS = 2\r\n+# Bit depth rules per standard map type ('respect' or 'force_8bit')\r\n+MAP_BIT_DEPTH_RULES = {\r\n+ \"COL\": \"force_8bit\", \"NRM\": \"respect\", \"ROUGH\": \"force_8bit\", \"METAL\": \"force_8bit\",\r\n+ \"AO\": \"force_8bit\", \"DISP\": \"respect\", \"REFL\": \"force_bit\", \"SSS\": \"respect\",\r\n+ \"FUZZ\": \"force_bit\", \"IDMAP\": \"force_8bit\", \"MASK\": \"force_8bit\",\r\n+ \"DEFAULT\": \"respect\" # Fallback for map types not listed\r\n+}\r\n+# Output format preferences for 16-bit data\r\n+OUTPUT_FORMAT_16BIT_PRIMARY = \"png\" # Options: exr_dwaa, exr_dwab, exr_zip, png, tif\r\n+OUTPUT_FORMAT_16BIT_FALLBACK = \"png\"\r\n+# Output format for 8-bit data\r\n+OUTPUT_FORMAT_8BIT = \"png\" # Could allow 'jpg' later with quality settings\r\n+\r\n+# Map types that should always be saved in a lossless format (e.g., PNG, EXR)\r\n+# regardless of resolution threshold or input format.\r\n+#FORCE_LOSSLESS_MAP_TYPES = [\"NRM\", \"NRMRGN\"]\r\n+\r\n+# --- Map Merging Rules ---\r\n+# List of dictionaries, each defining a merge operation.\r\n+MAP_MERGE_RULES = [\r\n+ {\r\n+ \"output_map_type\": \"NRMRGH\", # Suffix or standard name for the merged map\r\n+ \"inputs\": { # Map target RGB channels to standard input map type names\r\n+ \"R\": \"NRM\", # Use Red channel from NRM\r\n+ \"G\": \"NRM\", # Use Green channel from NRM\r\n+ \"B\": \"ROUGH\" # Use Red channel from ROUGH (assuming it's grayscale)\r\n+ },\r\n+ \"defaults\": { # Default values (0.0 - 1.0) if an input map is missing\r\n+ \"R\": 0.5, \"G\": 0.5, \"B\": 0.5 \r\n+ },\r\n+ # 'respect_inputs' (use 16bit if any input is), 'force_8bit', 'force_16bit'\r\n+ \"output_bit_depth\": \"respect_inputs\"\r\n+ },\r\n+ # Example: Merge Metalness(R), Roughness(G), AO(B) -> \"MRA\" map often used in engines\r\n+ # {\r\n+ # \"output_map_type\": \"MRA\",\r\n+ # \"inputs\": {\"R\": \"METAL\", \"G\": \"ROUGH\", \"B\": \"AO\"},\r\n+ # \"defaullllts\": {\"R\": 0.0, \"G\": 1.0, \"B\": 1.0}, # Default Metal=0, Rough=1, AO=1\r\n+ # \"output_bit_depth\": \"force_8bit\" # Usually fine as 8bit\r\n+ # },\r\n+]\r\n+\r\n+# --- Metadata Settings ---\r\n+CALCULATE_STATS_RESOLUTION = \"1K\" # Resolution suffix used for calculating stats\r\n+DEFAULT_ASSET_CATEGORY = \"Surface\" # If rules don't identify Asset or Decal\r\n+\r\n+# --- Internal Settings ---\r\n+# Temporary directory prefix for processing folders\r\n+TEMP_DIR_PREFIX = \"_PROCESS_ASSET_\"\n\\ No newline at end of file\n"
|
|
}
|
|
],
|
|
"date": 1745224931023,
|
|
"name": "Commit-0",
|
|
"content": "# config.py\r\n# Core settings defining the pipeline standards and output format.\r\n\r\n# --- Target Output Standards ---\r\nTARGET_FILENAME_PATTERN = \"{base_name}_{map_type}_{resolution}.{ext}\"\r\nSTANDARD_MAP_TYPES = [\r\n \"COL\", \"NRM\", \"ROUGH\", \"METAL\", \"AO\", \"DISP\", \"REFL\",\r\n \"SSS\", \"FUZZ\", \"IDMAP\", \"MASK\"\r\n]\r\n# Map types that should always receive a numeric suffix (e.g., COL-1, COL-2)\r\n# based on preset keyword order, even if only one variant is found.\r\nRESPECT_VARIANT_MAP_TYPES = [\"COL\"]\r\n\r\n# Subdirectory within the final set folder for non-essential/unknown files\r\nEXTRA_FILES_SUBDIR = \"Extra\"\r\nOUTPUT_BASE_DIR = \"../Asset_Processor_Output\" #accepts both relative and absolute paths\r\nMETADATA_FILENAME = \"metadata.json\"\r\n\r\n# --- Image Processing Settings ---\r\n# Target resolutions (Largest dimension in pixels)\r\nPNG_COMPRESSION_LEVEL = 6 # 0 (none) to 9 (max)\r\n# Quality for JPG output (0-100)\r\nJPG_QUALITY = 98\r\n# Resolution dimension threshold (pixels) above which 8-bit images are forced to JPG, overriding input format logic.\r\nRESOLUTION_THRESHOLD_FOR_JPG = 4096\r\nIMAGE_RESOLUTIONS = {\"8K\": 8192,\"4K\": 4096, \"2K\": 2048, \"1K\": 1024}\r\n# Aspect ratio decimals (used for metadata, could potentially be removed later)\r\nASPECT_RATIO_DECIMALS = 2\r\n# Bit depth rules per standard map type ('respect' or 'force_8bit')\r\nMAP_BIT_DEPTH_RULES = {\r\n \"COL\": \"force_8bit\", \"NRM\": \"respect\", \"ROUGH\": \"force_8bit\", \"METAL\": \"force_8bit\",\r\n \"AO\": \"force_8bit\", \"DISP\": \"respect\", \"REFL\": \"force_bit\", \"SSS\": \"respect\",\r\n \"FUZZ\": \"force_bit\", \"IDMAP\": \"force_8bit\", \"MASK\": \"force_8bit\",\r\n \"DEFAULT\": \"respect\" # Fallback for map types not listed\r\n}\r\n# Output format preferences for 16-bit data\r\nOUTPUT_FORMAT_16BIT_PRIMARY = \"png\" # Options: exr_dwaa, exr_dwab, exr_zip, png, tif\r\nOUTPUT_FORMAT_16BIT_FALLBACK = \"png\"\r\n# Output format for 8-bit data\r\nOUTPUT_FORMAT_8BIT = \"png\" # Could allow 'jpg' later with quality settings\r\n\r\n# Map types that should always be saved in a lossless format (e.g., PNG, EXR)\r\n# regardless of resolution threshold or input format.\r\nFORCE_LOSSLESS_MAP_TYPES = [\"NRM\", \"NRMRGN\"]\r\n\r\n# --- Map Merging Rules ---\r\n# List of dictionaries, each defining a merge operation.\r\nMAP_MERGE_RULES = [\r\n {\r\n \"output_map_type\": \"NRMRGH\", # Suffix or standard name for the merged map\r\n \"inputs\": { # Map target RGB channels to standard input map type names\r\n \"R\": \"NRM\", # Use Red channel from NRM\r\n \"G\": \"NRM\", # Use Green channel from NRM\r\n \"B\": \"ROUGH\" # Use Red channel from ROUGH (assuming it's grayscale)\r\n },\r\n \"defaults\": { # Default values (0.0 - 1.0) if an input map is missing\r\n \"R\": 0.5, \"G\": 0.5, \"B\": 1.0 # Default Nrm=(0.5,0.5,1), Default Rough=1.0\r\n },\r\n # 'respect_inputs' (use 16bit if any input is), 'force_8bit', 'force_16bit'\r\n \"output_bit_depth\": \"respect_inputs\"\r\n },\r\n # Example: Merge Metalness(R), Roughness(G), AO(B) -> \"MRA\" map often used in engines\r\n # {\r\n # \"output_map_type\": \"MRA\",\r\n # \"inputs\": {\"R\": \"METAL\", \"G\": \"ROUGH\", \"B\": \"AO\"},\r\n # \"defaullllts\": {\"R\": 0.0, \"G\": 1.0, \"B\": 1.0}, # Default Metal=0, Rough=1, AO=1\r\n # \"output_bit_depth\": \"force_8bit\" # Usually fine as 8bit\r\n # },\r\n]\r\n\r\n# --- Metadata Settings ---\r\nCALCULATE_STATS_RESOLUTION = \"1K\" # Resolution suffix used for calculating stats\r\nDEFAULT_ASSET_CATEGORY = \"Surface\" # If rules don't identify Asset or Decal\r\n\r\n# --- Internal Settings ---\r\n# Temporary directory prefix for processing folders\r\nTEMP_DIR_PREFIX = \"_PROCESS_ASSET_\""
|
|
}
|
|
]
|
|
} |