An open API service indexing awesome lists of open source software.

https://github.com/healkeiser/fxhoucachemanager

Cache manager for Houdini.
https://github.com/healkeiser/fxhoucachemanager

3d cgi houdini pipeline qt vfx vfx-pipeline

Last synced: 6 months ago
JSON representation

Cache manager for Houdini.

Awesome Lists containing this project

README

          

![Logo](https://raw.githubusercontent.com/healkeiser/fxhoucachemanager/main/fxhoucachemanager/images/icons/fxhoucachemanager_dark.svg#gh-light-mode-only)
![Logo](https://raw.githubusercontent.com/healkeiser/fxhoucachemanager/main/fxhoucachemanager/images/icons/fxhoucachemanager_light.svg#gh-dark-mode-only)

fxhoucachemanager


Cache manager for Houdini.



##



  


License: MIT  

Last Commit  


  

GitHub Stars  

## Table of Contents

* [Installation](#installation)
* [How-to Use](#how-to-use)
* [Settings](#settings)
* [Advanced](#advanced)
* [Contact](#contact)

## Installation

To install, simply copy-paste the [package.json](houdini/packages/fxhoucachemanager.json) file inside your `$HOUDINI_USER_PREF_DIR/packages` folder, and replace the value of the `$FXHOUCACHEMANAGER` path depending on your OS.

## How-to Use

You can launch the **FX Cache Manager** through the **FX** menu, or the **FX Cache Manager** shelf tool inside the **FX** shelf.

You will be presented with this UI:



The tool will scan for caches in the root folder you've set in the [settings](#settings).

> [!IMPORTANT]
> The caches should be following this format `///`. For example:
> - `$HIP/geo/flip/v001/flip_v001.bgeo.sc` where `$HIP/geo` is the root folder, `flip` is the cache name, `v001` is the cache version, and `flip.bgeo.sc` is the cache file.
> - `$JOB/geo/flip/17/myBeautifulFlip.bgeo.sc` where `$JOB/geo` is the root folder, `flip` is the cache name, `17` is the cache version, and `myBeautifulFlip.bgeo.sc` is the cache file.

In the case where the scene has a huge number of caches, you might notice a progress bar at the bottom of the UI. This is to indicate the progress of the cache scanning. The progress bar will disappear once the scanning is done.



You can filter the caches by name, but also by extensions using the buttons on the bottom right of the UI.



You can use the dropdown menu to select the version you want to load. It will immediately load the cache in the scene.





You can expand the parent item to see all the versions available for a cache. The parent item will display the version currently loaded in the scene, and the children items will display the other versions available. The highest found version will be displayed in 🟩 green, outdated versions will be displayed in 🟨 yellow.

If a path is referenced but not found on disk, the version will be displayed in 🟥 red. If the file exists on disk but doesn't follow the expected format, the version will be displayed in 🟦 grey-blue.



A right-click on a selection of caches will open a context menu allowing you to perform a variety of actions:



When selecting **Update All to Latest** or **Delete Unused Caches**, a confirmation dialog will appear, asking you to confirm the action.





## Settings

You can modify the settings of the tool by clicking on the **Edit** > **Settings** button, in the menu bar.
A dialog will appear, allowing you to set the regex pattern [1](#footnote1) to use for the version extraction, the Houdini environment variable to use to replace in the paths [2](#footnote2), and the root folder to scan for caches [2](#footnote3).



> [!TIP]
> 1 The default regex pattern is `v\d{3}`, which will match any version number with 3 digits, e.g. `v001`.
> Some other patterns you might want to use:
> - `v\d+` will match any version number with at least 1 digit, e.g. `v1`, `v78`, `v999`, etc.
> - `^\d{3}$` will match any version number with exactly 3 digits, e.g. `001`, `078`, `999`, etc.
> - `^\d+$` will match any version number with at least 1 digit, e.g. `1`, `78`, `999`, etc.

> [!NOTE]
> 2 As described in the [fileReferences](https://www.sidefx.com/docs/houdini/hom/hou/fileReferences.html) documentation:
> > You can specify the name of an environment variable. If an asset path starts with the variable, it will be replaced with a variable reference in the path string returned by this function. For example, if `$JOB` is `/mnt/projects/` and an asset is in `/mnt/projects/tool.hda`, if you call `hou.fileReferences("JOB")`, it will return the path as `$JOB/tool.hda`.

> [!NOTE]
> 3 Any environment variable will be expanded. E.g. `$HIP` will be replaced by the current Houdini scene path, `$JOB` will be replaced by the current Houdini job path, etc.

You can also set the logger verbosity level in the **Edit** > **Log Level** menu.

## Advanced

The log and configuration files are stored in the `%APPDATA%/fxhoucachemanager` folder on Windows, and in the `$HOME/.fxhoucachemanager` folder on Linux and macOS.

> [!WARNING]
> One log file is saved per day, so you might want to clean up the folder from time to time.

## Contact

Project Link: [fxhoucachemanager](https://github.com/healkeiser/fxhoucachemanager)




GitHub
  


LinkedIn
  


Behance
  


Twitter
  


Instagram
  


Gumroad
  


Email
  


Buy Me A Coffee