44 lines
4.9 KiB
Markdown
44 lines
4.9 KiB
Markdown
# 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, supported by a **Configuration System** (`configuration.py` and `config.py` with `Presets/*.json`). 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.
|
|
|
|
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
|
|
|
|
* [Overview](00_Overview.md) - This document, providing a high-level summary and table of contents.
|
|
* **User Guide** - Information for end-users of the tool.
|
|
* [Introduction](01_User_Guide/01_Introduction.md) - Purpose and scope of the tool for users.
|
|
* [Features](01_User_Guide/02_Features.md) - Detailed list of the tool's capabilities.
|
|
* [Installation](01_User_Guide/03_Installation.md) - Requirements and setup instructions.
|
|
* [Configuration and Presets](01_User_Guide/04_Configuration_and_Presets.md) - How to configure the tool and use presets.
|
|
* [Usage: GUI](01_User_Guide/05_Usage_GUI.md) - Guide to using the Graphical User Interface.
|
|
* [Usage: CLI](01_User_Guide/06_Usage_CLI.md) - Guide to using the Command-Line Interface.
|
|
* [Usage: Monitor](01_User_Guide/07_Usage_Monitor.md) - Guide to using the Directory Monitor for automated processing.
|
|
* [Usage: Blender Integration](01_User_Guide/08_Usage_Blender.md) - How the optional Blender integration works for users.
|
|
* [Output Structure](01_User_Guide/09_Output_Structure.md) - Description of the generated asset library structure.
|
|
* [Docker](01_User_Guide/10_Docker.md) - Instructions for using the tool with Docker.
|
|
* **Developer Guide** - Technical information for developers contributing to the tool.
|
|
* [Architecture](02_Developer_Guide/01_Architecture.md) - High-level system design and component overview.
|
|
* [Codebase Structure](02_Developer_Guide/02_Codebase_Structure.md) - Detailed breakdown of project files and directories.
|
|
* [Key Components](02_Developer_Guide/03_Key_Components.md) - In-depth explanation of major classes and modules.
|
|
* [Configuration System and Presets](02_Developer_Guide/04_Configuration_System_and_Presets.md) - Technical details of configuration loading and preset structure.
|
|
* [Processing Pipeline](02_Developer_Guide/05_Processing_Pipeline.md) - Step-by-step technical breakdown of the asset processing logic.
|
|
* [GUI Internals](02_Developer_Guide/06_GUI_Internals.md) - Technical details of the GUI implementation (threading, signals, etc.).
|
|
* [Monitor Internals](02_Developer_Guide/07_Monitor_Internals.md) - Technical details of the Directory Monitor implementation.
|
|
* [Blender Integration Internals](02_Developer_Guide/08_Blender_Integration_Internals.md) - Technical details of Blender script execution and interaction.
|
|
* [Development Workflow](02_Developer_Guide/09_Development_Workflow.md) - Guidance on contributing and modifying the codebase.
|
|
* [Coding Conventions](02_Developer_Guide/10_Coding_Conventions.md) - Project's coding standards and practices.
|
|
* [Debugging Notes](02_Developer_Guide/11_Debugging_Notes.md) - Advanced internal details, state management, error handling, and limitations. |