Prototype > PreAlpha #67
50
README.md
50
README.md
@ -1,44 +1,32 @@
|
||||
# Asset Processing Utility
|
||||
|
||||
This tool is designed to streamline and automate the process of converting raw 3D asset source files, such as texture sets and models provided in archive formats (ZIP, RAR, 7z) or folders, into a standardized and organized library format. The primary goal is to reduce manual effort and ensure consistency when preparing assets for use in projects or asset management systems.
|
||||
This tool streamlines the conversion of raw 3D asset source files (archives or folders) into a standardized and organized library format.
|
||||
|
||||
The core objectives of this tool are to:
|
||||
|
||||
* **Standardize Asset Output:** Convert diverse source file structures and naming conventions into a consistent, predictable output format.
|
||||
* **Automate Repetitive Tasks:** Eliminate the need for manual steps like file classification, image manipulation (resizing, format conversion, channel packing), and metadata creation.
|
||||
* **Improve Workflow Efficiency:** Provide multiple interfaces (GUI, CLI, automated monitor) to fit different user needs and integrate into various pipelines.
|
||||
* **Facilitate Asset Management:** Generate structured output and metadata that simplifies the process of cataloging and using assets.
|
||||
|
||||
Key functionalities to achieve these goals include:
|
||||
|
||||
* **Preset-Driven Processing:** Utilize configurable JSON presets to define rules for handling assets from different sources.
|
||||
* **Flexible Input Handling:** Process single files, multiple files within archives, or entire folders.
|
||||
* **Automated File Operations:** Perform classification, resizing, format conversion, bit depth handling, and channel merging based on defined rules.
|
||||
* **Metadata Generation:** Create a `metadata.json` file for each asset, capturing processing details and asset properties.
|
||||
* **Configurable Output Structure:** Allow users to define the directory hierarchy and file naming conventions for the processed assets.
|
||||
|
||||
This tool offers several interfaces for operation:
|
||||
## Features
|
||||
|
||||
* **Graphical User Interface (GUI):** An interactive environment for processing assets, managing presets, and configuring settings.
|
||||
* **Command-Line Interface (CLI):** Enables batch processing and scripting with options for input, output, preset selection, and parallel execution.
|
||||
* **Directory Monitor:** An automated script that watches a specified folder for new archive files and processes them automatically.
|
||||
* **Multithreaded Processing:** Leverages multiple CPU cores for significantly faster asset processing, especially beneficial for large batches of assets.
|
||||
* **Token-based Output Naming:** Offers highly flexible and configurable output directory structures and file naming conventions using a token system (e.g., `[supplier]`, `[assetname]`, `[resolution]`).
|
||||
* **Adjustable Resolutions:** Automatically resizes texture maps to multiple user-defined resolutions (e.g., 4K, 2K, 1K) during processing.
|
||||
* **Adjustable image formats:** Allows configuration of prefered image output formats, allowing for overrides depending on various factors (prefer EXR over PNG for 16Bit, Prefer JPG over PNG for resolutions above certain thesholds). User can configure compression settings for each image format.
|
||||
* **Gloss to Roughness Conversions:** Includes functionality to automatically invert Glossiness maps to Roughness maps, ensuring PBR workflow compatibility.
|
||||
* **Configurable Channel Packing:** Supports customizable channel packing, allowing users to define rules for merging channels from different source maps into optimized packed textures (e.g., Normal + Roughness into a single NRMRGH map).
|
||||
* **User-Friendly GUI:** Provides an intuitive Graphical User Interface for easy drag-and-drop input, interactive review and refinement of asset predictions, preset management, and process monitoring.
|
||||
* **Asset Identification by LLM:** Supports using customizable Large Language Model (LLM) for intelligent and flexible identification of asset and file types.
|
||||
* **Customizable Asset and File Types:** Allows for extensive customization of asset and file type definitions through configurable presets, enabling adaptation to various asset sources and conventions.
|
||||
* **Blender Asset Catalog Post-processing Step:** Optionally runs Blender scripts after processing, providing automatic creation of PBR node groups and materials, and marking them as assets for use in Blender's Asset Browser without needing user interaction.
|
||||
|
||||
Additionally, the tool offers optional integration with Blender to automate the creation of PBR node groups and materials from processed assets.
|
||||
## Core Workflow
|
||||
|
||||
Configuration is managed through a central settings file (`config/app_settings.json`) for core application parameters and JSON files in the `presets/` directory for source-specific processing rules.
|
||||
1. **Input Sources:** Drop asset archives or folders into the GUI.
|
||||
2. **Identify Inputs:** The tool reads the directory contents and performs an initial identification of asset and file types using configurable presets or an customizable LLM. Users can then review and refine these predictions interactively in a preview table. This involves confirming or correcting asset names, suppliers, types, and individual file types using direct editing, keyboard shortcuts, or triggering re-interpretation for specific sources.
|
||||
3. **Export to Library:** Once the inputs are correctly arranged and user verified, initiate the processing. The tool then automates tasks such as file classification, image resizings, format conversion, channel packing, and metadata generation, exporting the processed assets to a configurable output directory structure and naming convention. Most processing steps can be configured to fit user requirements.
|
||||
|
||||
In addition to the interactive GUI, the tool also offers a Command-Line Interface (CLI) for batch processing and scripting, and a Directory Monitor for automated processing of files dropped into a watched folder. (Docker Support Planned)
|
||||
|
||||
## Documentation
|
||||
|
||||
For detailed information on installation, configuration, usage of the GUI, CLI, and Directory Monitor, Blender integration, and the structure of the output, please refer to the documentation located in the `Documentation/01_User_Guide/` directory.
|
||||
|
||||
Key documents include:
|
||||
|
||||
* [`Introduction`](Documentation/01_User_Guide/01_Introduction.md)
|
||||
* [`Installation`](Documentation/01_User_Guide/03_Installation.md)
|
||||
* [`Features`](Documentation/01_User_Guide/02_Features.md)
|
||||
* [`Configuration and Presets`](Documentation/01_User_Guide/04_Configuration_and_Presets.md)
|
||||
* [`Usage: GUI`](Documentation/01_User_Guide/05_Usage_GUI.md)
|
||||
* [`Usage: CLI`](Documentation/01_User_Guide/06_Usage_CLI.md)
|
||||
* [`Usage: Monitor`](Documentation/01_User_Guide/07_Usage_Monitor.md)
|
||||
* [`Usage: Blender Integration`](Documentation/01_User_Guide/08_Usage_Blender.md)
|
||||
* [`Output Structure`](Documentation/01_User_Guide/09_Output_Structure.md)
|
||||
For detailed information on installation, configuration, usage of the different interfaces, and the output structure, please refer to the [`Documentation`](Documentation/00_Overview.md)
|
||||
Loading…
x
Reference in New Issue
Block a user