Digital assets
Introduction
Digital assets are custom operator types built from node networks. You encapsulate the network in a digital asset, and then “promote” parameters from nodes inside the asset up as parameters or handles on the asset itself.
Digital assets let you capture the functionality of any network… a character, a compositing effect, a particle system, a light… as a reusable tool with a customized interface you can put in the hands of artists.
For example, you can create a light asset that encapsulates a light object tweaked the way you want as well as the light and shadow shaders. You can then promote various parameters of the light and the shaders to create a single interface for the custom light instead of moving back and forth between three different nodes. Once you have the light encapsulated as a digital asset, you can reuse it in any number of projects.
To use digital assets in your pipeline, you must learn how to create a custom node, define and work with its interface, and install and manage different versions using Operator type libraries (OTLs). You can create simple assets using basic drag-and-drop techniques or more complex assets using embedded scripts.
When to use digital assets
You can use digital assets whenever you want to encapsulate a the functionality of a network of Houdini operators into a single, reusable operator with a high-level interface.
Digital assets allow you to build a workflow that is unique to your production philosophy. Some examples of how you can use digital assets in various parts of the pipeline:
|
Custom tools |
Whenever you have a part of a network that could be re-used within your pipeline, a digital asset tool can be created. By reducing several operators into a single operator you reduce the number of clicks for your team and increase productivity. |
|
Characters |
Digital assets let you put all the parts of a character including surfaces, bones, controls, and even shaders into a single node with a high level interface. A digital asset character lets your animators work only at the object level with primarily the Pose tool and the channel editor which minimizes their exposure to Houdini’s deeper levels. A digital asset character can be animated once the bone rigging is in place then updated as surfaces are bound and set up for proper deformation. Digital assets are ideal for setting up low-resolution versions for animating while the renderer looks at a high-resolution version with more sophisticated features such as muscle deformations and advanced shaders. |
|
Props and Sets |
Props and sets generally involve models, shaders and some basic rigging such as the ability of a door to open and close. With digital assets, controls can be added for the rigging and all the geometry and shading information can be kept in one place. Designs can be updated throughout production as new designs and updated assets come into play. |
|
Effects |
Effects tend to be more driven by the technical director therefore digital asset effects will spend more time in the development stage than any other asset type. The effect will still be put into the hands of an animator at some point for placement and timing which could be accomplished with a low-resolution effect that is later replaced with the full effect. |
|
Lighting |
Lighting setups can now be packaged up into single assets with high level controls for artists to tweak. Now rather than choosing from a list of generic CG lights, artists can get compete lighting in a single node. |
|
Shaders |
Shaders can be set up as either separate assets or placed into a SHOP network manager inside the asset which is using them. Textures can be placed either within the asset’s Operator type library or in a location nearby for proper references. |
|
Rendering |
Rendering operators can be included in digital assets for fast access to rendered images or bundled into a dedicated rendering digital asset to help generate render layers for compositing. Digital assets can also be created out of bundled compositing operators. |
How digital assets work
When a digital asset operator is created then used in a scene file, relationships are established between your scene (.hip) file, the operator, and the definition of the operator that is stored in an operator type library (OTL). If different versions of a digital asset have been defined in different libraries, it is possible that your scene file is aware of more than one of these definitions. Shown below are some of the pieces that influence how your digital asset works:
|
Custom Operator |
This is the digital asset as seen by the artist or animator. This asset refers to one or more operator definitions found in the Operator Type libraries. |
|
Scene (.hip) file |
This is where the digital asset interacts with other assets. This version of the asset refers itself to the operator definition stored in one or more Operator Type Libraries. |
|
Embedded Operator Type Library |
Within the scene file there is an embedded OTL that can contain operator definitions that have been saved into the scene. This definition can be used by the scene if the disk-based definition is missing. |
|
Disk-based Operator Type Libraries |
There might also be one or more libraries on disk which may contain different definitions. When the operator used in your scene is loaded it will look for a definition. If it finds more than one use the preferences to make a choice. The chosen definition will then be used to set up the asset in the scene. |
|
Operator Type Manager |
This panel contains listings of all the Operator definitions including Operator Type Library definitions. From here you can find out which definition has been chosen based on the configuration settings and if desired change which definition is being used. The Configuration panel lets you set preferences which define how Houdini will work with digital assets. |
In general this management is your responsibility and you must make sure that the assets are being updated and placed into the pipeline in a safe and productive manner. You may choose to use Houdini’s scripting language to help you manage the loading and unloading of assets, possibly using Houdini’s embedded browser to build an interface.