Compare commits
2 Commits
f9b4ca154e
...
50f9716b83
| Author | SHA1 | Date | |
|---|---|---|---|
| 50f9716b83 | |||
| 946fd44251 |
53
README.md
53
README.md
@ -1,44 +1,29 @@
|
|||||||
# Asset Processing Utility
|
# 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 from supplies (archives or folders) into a configurable library format.
|
||||||
|
Goals include automatically updating Assets in various DCC's on import as well - minimising end user workload.
|
||||||
|
|
||||||
The core objectives of this tool are to:
|
## Features
|
||||||
|
|
||||||
* **Standardize Asset Output:** Convert diverse source file structures and naming conventions into a consistent, predictable output format.
|
* **Multithreaded Processing:** Leverages multiple CPU cores for parallel input processing, especially beneficial for large batches of inputs.
|
||||||
* **Automate Repetitive Tasks:** Eliminate the need for manual steps like file classification, image manipulation (resizing, format conversion, channel packing), and metadata creation.
|
* **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]`).
|
||||||
* **Improve Workflow Efficiency:** Provide multiple interfaces (GUI, CLI, automated monitor) to fit different user needs and integrate into various pipelines.
|
* **Adjustable Resolutions:** Automatically resizes texture maps to multiple user-defined resolutions (e.g., 4K, 2K, 1K) during processing.
|
||||||
* **Facilitate Asset Management:** Generate structured output and metadata that simplifies the process of cataloging and using assets.
|
* **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.
|
||||||
|
|
||||||
Key functionalities to achieve these goals include:
|
## Core Workflow
|
||||||
|
|
||||||
* **Preset-Driven Processing:** Utilize configurable JSON presets to define rules for handling assets from different sources.
|
1. **Input Sources:** Drop asset archives or folders into the GUI.
|
||||||
* **Flexible Input Handling:** Process single files, multiple files within archives, or entire folders.
|
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.
|
||||||
* **Automated File Operations:** Perform classification, resizing, format conversion, bit depth handling, and channel merging based on defined rules.
|
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.
|
||||||
* **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:
|
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)
|
||||||
|
|
||||||
* **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.
|
|
||||||
|
|
||||||
Additionally, the tool offers optional integration with Blender to automate the creation of PBR node groups and materials from processed assets.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
## Documentation
|
## 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.
|
For detailed information on installation, configuration, usage of the different interfaces, and the output structure, please refer to the [`Documentation`](Documentation/00_Overview.md)
|
||||||
|
|
||||||
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)
|
|
||||||
Loading…
x
Reference in New Issue
Block a user