On this page |
Freezing an asset allows you to cache the assets outputs and disable the loading and cooking of the asset in engine. This allows a maya scene with frozen assets to be passed to a non-houdini artist, who can load the scene and operate on the non-houdini parts without pulling an engine license. This differs from baking in that it is reversable - Output shapes remain parented to the asset, we just replace the data connections with message connections, and the then swap back the real connections on unfreeze
Menus ¶
Attributes ¶
Here’s an example of how the asset nodes are modified when frozen, in this case using the he_boolean asset from the HoudiniTools shelf:
We've added a list of cached source and destination attributes on the asset for all the output node connections, and we've added message attributes on the asset, and on each output node as placeholders for the connections. By keeping connections rather than node names we allow renaming of the nodes, so we can support workflows such as unfreezing a referenced asset. And yes, having multiple proxy connections to the same output node may seem excessive, but keeping the attribute and node mappings lined up does make the attribute structure simpler.
For the most part breaking the data connection to the output maya geo will leave the geometry definition saved on the shape, but in case there is intermediate history betweent the asset and the output shape, we add a proxy geometry node to cache the output geo. In the example, we see that there is a houdiniAssetProxyMesh
anchoring the history chain connected to the output shape. This proxy shape will be removed when the asset is unfrozen.
You’ll note that the input geomtry is still connected, but does not dirty the asset because the asset is frozen.