The Material Editor is a node based interface that lets you manage textures into a network of nodes. While it is mainly to create material and displacement shaders, it is also used with any items accepting textures as input such as lights, scatterers... The Material Editor is a sandbox on which you can work on multiple textures and items at the same time. In other words, you work on mixture of materials, displacements, lights... while sharing textures between different items. The Material Editor is divided in two areas. The texture tree where you choose new texture nodes to create and the nodal workspace area where you connect nodes.
(1) Show/Hide Node Tree (2) Lock Synchronization (3) Synchronize With Selection (4) Import Materials (5) Import Lights (6) Import Displacements (7) Import Scene Objects (8) Import Image Filters (9) Import Context Contents (10) Enable Node Auto Zoom (11) Cull Links (12) Enable Node Auto Insertion (13) Autofit Selection (14) Fit All (15) Fit Selection (16) Enable Grid Snapping (17) Enable Magnets (18) Select Upstream Nodes (19) Select Downstream Nodes (20) Show Hidden Nodes (22) Default Node State Mode (23) Item Names (24) Node Tree (25) Nodal Workspace (26) Minimap (27) Remove Nodes
You can drag the minimap to navigate in the Material Workspace. The minimap can be resized by dragging any of its corners.
To pan press Space+Left Button or Space+Middle Button in the nodal view. Drag in any direction to pan the view.
To zoom the view, press Space+Right Button in the nodal view.
Drag left or up to zoom out and right or down to zoom in. You can also use the mouse wheel to perform zooming.
For convenience Alt key can be used for all shortcuts defined with the Space key.
Press F to fit the view to the selected nodes. When no node is selected, F fits the view to all visible nodes.
When the current viewing area doesn’t fit the entire graph, a minimap (26) displaying a simplified view of the entire graph is automatically displayed as overlay on the bottom right.
This minimap can be freely resized by clicking and dragging its top right corner. The orange rectangle displays the current viewing area. Drag it to pan in the view.
By default, the Material Editor reacts to the selection in order to update its content. Sometimes you wish to work freely in isolation on a specific set of items without the fear of having the view updated to display other items because of a selection change.
While still being driven by the application global selection, you can lock the view so the Material Editor doesn't update its workspace area. To lock/unlock the view click on the Lock Synchronization button (2) on the Material Editor toolbar. To synchronize the view click on the Synchronize button (3) on the toolbar.
The Material Editor doesn't only display materials but any types of items that have texturable attributes. Since the Material Editor reacts to the selection by updating its content, it is possible to constrain the editor to update its workspace area (25) to specific types of items.
Using the toolbar you can control the Material Editor so it updates when you select Materials (4), Lights (5), Displacements (6), Scene Objects (7) and Image filters (8). click on their corresponding icons in the toolbar to filter a specific type of item.
Import from Context#
It is also possible to enable a special context synchronization mode (9) which imports in the Material Editor workspace area any items from the current context that match the selection filter.
This mode works recursively and brings the content of all sub-contexts. Since the Material Editor can end up displaying potentially tons of items, this mode is disabled by default.
The nodes displayed and managed by the Material Editor are managed the same way as standard items in Clarisse. For more information on how to manage items in Clarisse please refer to Managing Items.
To add new nodes, select the texture or material you want to create in the node tree and drag and drop it in workspace area. You can also press Tab key and type the name of the texture operator class you are looking for:
Press Enter or Tab to validate and create your node. Pressing Tab twice creates the last created node.
When creating a new node while a node is already selected, the selected node will automatically be connected to the master attribute of the new node.
To select nodes just click on them. You can use Shift and Ctrl to add/remove nodes to selection. Alternatively you can double-click on a node to select downstream nodes. To deselect all, click on an empty area of the workspace area.
It is also possible to perform a rectangle selection. click on an empty area and drag the mouse to draw the rectangle selection. Release mouse button to select nodes. Note that only nodes fitting entirely within the rectangle become selected.
You can perform drag and drop from the Material Editor to any widget. Select your node(s), press Ctrl and drag and drop your selection to any other widget.
To delete a selection, press Del, Right Button and choose Edit > Delete or go to Edit > Delete in the application menu bar.
To duplicate a set of selected nodes, press Ctrl+C , Right Button or go to the application menu bar and choose Edit > Copy. To paste the current clipboard, press Ctrl+V, Right Button or go to the application menu bar and choose Edit > Paste.
When you copy something in Clarisse it is serialized as text in the clipboard. It’s then possible to paste the clipboard to a text file for example to paste it later on in Clarisse.
To make an node an instance of a source one, select the source and press Ctrl+I or go to Edit > Instantiate
To rename a node, select the node and press F2, Right Button and choose Edit > Rename... or go to Edit > Rename... in the application menu bar.
When a node is disabled, the evaluation engine ignores the node as if it wasn’t part of the build. To disable selected nodes press Ctrl+D, Right Button or go to the application menu bar and choose Edit > Disable.
To enable a selected disabled nodes, press Shift+D, Right Button or go to the application menu bar and choose Edit > Enable.
By default, the Material Editor automatically imports the selection as well as the entire associated sub-graph of texture operators in the workspace area. However, it is possible to import new nodes to the Material Editor by dragging and dropping the selection from a widget to the workspace area.
Please note that nodes always keep their original positions and are not repositioned under the mouse cursor.
It is also possible to remove nodes from the Material Editor by drag and dropping nodes into the Remove Nodes Area (1).
When dropped to this special area, nodes are simply removed from the workspace. They are not deleted from the project.
Sometimes after removing or importing nodes, you may see, a number in a bubble displayed on the top right of nodes as shown in (2). This visual hint indicates that the node as some external inputs that are not displayed in the workspace area.
Furthermore, the number displayed in the bubble corresponds to the number of nodes that are not displayed. To import the missing nodes, simply double-click on the bubble.
Sometimes it can be useful to bypass a specific texture operator without explicitly modifying the texture network. For example, one would like to skip quickly a Multiply node applied to a Map to preview the effect of the texture operator without modifying the graph. To bypass a selected texture press D and to toggle it back press D again.
It is also possible to use the Attribute Editor to bypass a texture operator. Select the texture and check its Pass Through attribute.
The effect of a bypass/pass through is quite different than disabling the node using Ctrl+D. Indeed, when disabling a texture operator, the texture operator and its entire sub-graph are not evaluated. However when bypassing a texture operator, the sub-graph of textures connected to the master attribute of the bypassed texture is still evaluated.
Connecting nodes is a large part of the daily work of artists doing lookdev. This is why there are quite a few different ways to initiate links to simplify the workflow. Connection can be manipulated by:
- Using the node output or attribute connectors.
- Inserting a node between connected nodes.
- Rerouting existing links by dragging links tips.
To connect nodes, click and drag the output knob of a node and plug it to the input attribute of the destination node.
It is possible to connect multiple nodes to a multi-input value attribute such as lists by pressing the Shift key and dragging the output know of any selected node.
You can insert nodes on existing connections. To insert a node between two, select and drag the node over a link. When the link is highlighted, drop the node to insert it. Clarisse inserts the node using the attribute defined as Master Input.
It is possible to deactivate the node automatic insertion using the toolbar icon or the Right Button contextual menu.
To disconnect a node, simply move the mouse over the extremity of a link until a thicker orange line is displayed.
click and drag the tip and release the mouse button in a empty area to disconnect or drop the node on an attribute/node knob.
You can also disconnect multiple connection at the same time by right-clicking and dragging to draw a cutting path.
Release the mouse button to disconnect each link intersecting the cutting path.
The Material Editor provides some useful feature that may improve readability of the texture graph.
The node state controls how nodes are displayed in the Material Editor. There are 3 possible states.
- Expanded where the node displays all its attributes.
- Connected where the node only displays connected attributes.
- Collapsed where the attribute of the nodes are hidden.
By default, nodes are always created expanded. However this behavior can be changed in the application preferences panel or directly in the Material Editor using the node state button in the toolbar.
To change the settings for the application use Ctrl+K or go to Edit > Preferences... > Nodal View and set Default Node State to the preferred one.
Node states are managed at node level. To change the state of a selection, Right Button and choose either Collapse, Show only used plugs or Expand.
Alternatively, it it possible to change the state of single nodes by dragging the 3-state slider displayed on the top right of the node.
It is also possible to change the state of all visible nodes by right-clicking to display the contextual pop up menu and choose: Collapse All, Show only used plugs All or Expand All.
Node's names are always displayed inside the node. However, depending of the zoom level, the node eventually becomes too small to display its name. When that happens, the Material Editor displays the name at the top of the node in screen space (size not affected by the zoom level).
However, depending on the number of nodes in your build, zooming out the view may result to a text mess where node’s names are overlapping with each other.
Normal Label Display
To solve this problem it’s possible to hide the display of node’s names. Right Button and choose Node Label > Off. However, the widget also provide a better alternative trying to display the name of the nodes by avoiding overlaps. To enable this alternative mode, Right Button and choose Node Label > Smart.
Smart Label Display
It is possible to cycle through all display modes by pressing N.
Node Auto Zoom#
Press Z over a node so that it displays its full content. It is possible to enable automatic node zooming when the mouse cursor is over a node.
To enable this feature click on Auto Zoom in the toolbar.
It is possible to activate a special mode on which links are automatically culled when both output and input nodes are outside the workspace area. This option avoids the "noddle display effect" led by the drawing of a lot of links that occurs on relatively large material networks.
To toggle Link Culling press K. Alternatively you use the toolbar icon or using the contextual menu summoned by Right Button.
When the mouse cursor is over a link, the name of the node as well as the name of the attribute on which the node is plugged is displayed on the left bottom corner of the Material Workspace (5).
The Material Editor provides a simple auto layout feature working on a selection of nodes. To auto layout nodes, press L on a selection of nodes.
Pressing L without a selection affects all visible nodes.
The position of nodes are global to the application. This is very important to remember because moving nodes that are used in multiple networks will affect their position in the other networks.
Snapping and Magnets#
The Material Editor supports magnet snapping to align nodes to neighbors. Activate the magnet by pressing M or right-clicking and choosing Magnet. If the magnet feature is activated, when you drag a node it is automatically snapped to neighbor nodes so that they are kept aligned.
It is also possible to activate grid snapping to constraint nodes on an user defined grid.
To enable/disable grid snapping press G. You can also activate the Grid Snapping using the toolbar or using the Right Button contextual menu.
When grid snapping is enabled a dotted grid is displayed in the background of the Build View. It is possible to edit the grid size and options by pressing Shift+G or using the Right Button contextual menu.
Grid Snapping Enabled
In order to simplify layout of nodes, the Material Editor provides a stretch mode when moving nodes which acts as a falloff based point drag constraint.
This mode allows you to quickly layout nodes that would be too close to each other. To enable Stretch Mode Right Button and select Stretch Mode in the contextual menu. Perform the same operation to disable it.