Page MenuHomeAnticto

Mutable for Unreal Engine | Material Node
Updated 63 Days AgoPublic

image.png (444×859 px, 104 KB)


Function

Defines a Customizable Object material. Consists of a mesh section, a material asset to paint it, and the runtime modifiable inputs to the material asset parameters.


Use Cases

Modify texture parameters of a material of the base object skeletal mesh, like mixing in a new normal map to enhance the appearance of an applied morph, or change the color of the skin of the character.
Modify texture parameters of a material of one of the child objects, like switching the albedo, normals, metallicity and roughness of a jacket to offer the option of leather or denim.
Modify scalar or vector parameters of a material, like globally increasing the specular levels of a wet character.


Node Properties

image.png (1×505 px, 93 KB)
Material: Material asset to be applied to the mesh section. It's parameters will be offered as input pins to allow customization.
Texture Parameters Mode: How to consider the disconnected pins: Passthrough leaves the texture parameter as it's in the skeletal mesh slot, it won't receive UV modifications or be affected in any way by mutable. Mutable the equivalent to connecting manually the texture from the skeletal mesh node, so it goes through mutable and adapts to UV changes and other changes that mutable may do to the textures for this material.
Tags (array): These tags allow the current material to activate other nodes, like mesh variation and mesh removal nodes, when this material is active.
Mesh Component Index: Which component does this material get added to, leave at zero if material has only one component.
Pin viewer: Section that allows modifying configurations that are unique to each material input and changing the visibility of pins in the node to ease the management of materials with large amount of parameters.
The search box allows filtering parameters by name. The "Show All" and "Hide All" buttons toggle all the Visibility checkboxes of all the parameters in this material.
Visibility (toggle in Pin Viewer array item): Toggle to allow this material parameter to show up as an input pin of the node.
Mode (Pin Viewer array texture dropdown): Texture Parameter Mode override for this input individually. Can be set to be the same as the Node, or be set specifically as Passthrough or Mutable.
UV Layout Mode (Pin Viewer array texture dropdown): The mode "From Material" indicates that the UV will be same as the one defined in the "UVs" input pin on the node "Param2D" on the material graph. The mode Index allows defining from mutable which UV index will be used, without the need of altering the material graph. In Ignore mode indicates that the texture should not be transformed by any layout; these textures will not be reduced automatically for LODs.
Reference Texture (Pin Viewer array texture asset): Optional texture that defines the final texture configuration. If it's not set, it's considered to be the texture that is in the skeletal mesh of the same name and slot. Is not printed or projected in any way, its only purpose is as source of some texture configuration properties: LOD Bias, Texture Group, Mip Generation Settings, Max Texture Size, sRGB, Filter, Compression Settings, Dither Mip Map Alpha and others.


Input Pins

Mesh: Mesh section that this material will be used on.
Table Material: Connection to the material table node, to use tables as data sources instead of nodes.
(texture parameter name):. Optional, when disconnected leaves this material texture parameter unaltered if the Texture Parameters mode is Passthrough, or considers it connected directly to the same texture on the same skeletal mesh slot if the Texture Parameters mode is Mutable. The pin is hidden by default, visibility can be individually toggled in the Pin Viewer.
(vector parameter name):. Optional, when disconnected leaves this material vector parameter unaltered. The pin is hidden by default, visibility can be individually toggled in the Pin Viewer.
(scalar parameter name):. Optional, when disconnected leaves this material texture parameter unaltered. The pin is hidden by default, visibility can be individually toggled in the Pin Viewer.

It's not efficient to connect the output of an unaltered Skeletal Mesh Node texture directly into the same texture parameter input pin in a Material Node when it's not altered in any way in any other edit or extend material node. It only forces the texture to go through Mutable without modifying anything, using unnecessary memory and slowing down the operations on the other parameters that do actually change. This is ok, but wasteful:
image.png (487×1 px, 209 KB)
Doing it like this is more efficient:
image.png (600×1 px, 212 KB)

Output Pins

Material: Result material, with all the provided input parameters modified when connected, at runtime if appliable. Disconnected input texture pins when the Texture Parameters Mode is Passthrough leave the parameters out of Mutable, with their values untouched.


Final texture properties taken from the reference texture

Sprite-0006.png (1×718 px, 140 KB)

Last Author
ricard
Last Edited
Jun 10 2022, 3:03 PM

Event Timeline

ricard published a new version of this document.
ricard published a new version of this document.
ricard changed the visibility from "All Users" to "Public (No Login Required)".
ricard published a new version of this document.