Instances |
When developing shaders, you will often find yourself managing appearances very similar to one another. You might, for example, have two shaders that are identical but for a few differences such as their color, or perhaps the texture map used.
Instances allow you to create these variations, explicitly setting the differences while keeping the rest in sync. Below is an appearance created using the Wavelet Noise template and an instance of that appearance:
Some things to notice about the instance:
To differentiate themselves in the Network View, instances display with rounded corners. Below is a small network incorporating both the instance (NoiseInstance) and the original node (WaveletNoise).
To create an instance of an appearance, select the appearance and:
Appearance → Create Instance
You can create an instance of any appearance in Slim, even another instance. Such an instance will inherit its values from the original instance, which will inherit its values from the original appearance, which will inherit its values from a template. Instances establish a chain of inheritance, and you can make changes anywhere in that chain.
It is possible to take an instance and drag it into a new palette. Be aware, however, that the instance relies on the original for its values. If at any time the instance is loaded and the original is not. You will receive a warning in the Message Log, and the instance will be non-functional.
When used carefully, however, this can be a powerful tool for reusing your work.
The instances discussed above are of a single appearance. Shader Instances are instances of the entire network that forms a shader. They are created by importing the shader created by that network.
A shader instance displays all parameters in the original network that have been marked External. Like a regular instance, the values of these parameters will be updated as they are updated in the original (though unlike a regular instance, these updates will only occur when the shader is generated).
You can create a Shader Instance by selecting a shader-creating appearance and:
Appearance → Create Shader Instance
This will generate the shader for the selected appearance and import it into your palette. Like a regular instance, a shader instance will show a button with the original appearance in the Appearance View. Use this to navigate to and make changes to the original network.
Pixar Animation Studios
|