5.2 KiB

Asset Processor Tool Documentation

This documentation provides information about the Asset Processor Tool, covering both user-facing features and technical details for developers.

Overview

This tool processes 3D asset source files (texture sets, models, etc., provided as ZIP, RAR, 7z archives, or folders) into a standardized library format. It uses configurable presets to interpret different asset sources and automates tasks like file classification, image resizing, channel merging, and metadata generation.

The tool offers both a Graphical User Interface (GUI) for interactive use and a Command-Line Interface (CLI) for batch processing and scripting. It also includes a Directory Monitor for automated processing of assets dropped into a watched folder, and optional integration with Blender for automated material/nodegroup creation.

This documentation strictly excludes details on environment setup, dependency installation, building the project, or deployment procedures, assuming familiarity with Python and the relevant libraries (OpenCV, NumPy, PySide6).

Architecture and Codebase Summary

For developers interested in contributing, the tool's architecture is designed around a Core Processing Engine (asset_processor.py) that handles the pipeline for single assets. This engine is supported by a Configuration System (configuration.py and config.py with Presets/*.json) and a new Hierarchical Rule System (rule_structure.py) that allows dynamic overrides of static configurations at Source, Asset, and File levels. Multiple interfaces are provided: a Graphical User Interface (gui/), a Command-Line Interface (main.py), and a Directory Monitor (monitor.py). Optional Blender Integration (blenderscripts/) is also included. Key new files supporting the hierarchical rule system include rule_structure.py, gui/rule_hierarchy_model.py, and gui/rule_editor_widget.py.

The codebase is organized into key directories and files reflecting these components. The gui/ directory contains all GUI-related code, Presets/ holds configuration presets, and blenderscripts/ contains scripts for Blender interaction. The core logic resides in files like asset_processor.py, configuration.py, config.py, main.py, and monitor.py. The processing pipeline involves steps such as file classification, map processing, channel merging, and metadata generation.

Table of Contents