Phriction Documentation Mutable Mutable for Unreal Engine User Documentation Node Reference Material Node History Version 12 vs 15
Version 12 vs 15
Version 12 vs 15
Content Changes
Content Changes
{F106214,size=full}
---
==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==
{F106256, size=full, layout=left, float}**Material:** Material asset to be applied to the mesh section. It's parameters will be offered as input pins to allow customization.
**Images **(array)**:** All the texture parameters of the current material asset. The amount of texture parameters can't be modified from here, any added or removed from the array have no impact, and will be re-loaded with a node refresh.
**Name **(Images array item)**:** Name of this texture parameter. Informative, can't be modified here.
**Reference Texture **(Images array item)**:** Optional texture that defines the final texture configuration, it's derived when compiling if not set. Is not printed or projected in any way, its only purpose is as source of [[/w/mutable/unreal-engine-4/user-documentation/nodes/material/#rmntp|some texture configuration properties]]: LOD Bias, Texture Group, Mip Generation Settings, Max Texture Size, sRGB, Filter, Compression Settings and Dither Mip Map Alpha.
**Vector **(array)**:** All the vector parameters of the current material asset. The amount of vector parameters can't be modified from here, any added or removed from the array have no impact, and will be re-loaded with a node refresh.
**Name **(Vector array item)**:** Name of this vector parameter. Informative, can't be modified here.
**Show Pin on Node **(Vector array item)**:** Toggle to allow this vector parameter to show up as an input pin of the node. Refresh the node to update its state.
**Scalar **(array)**:** All the scalar parameters of the current material asset. The amount of scalar parameters can't be modified from here, any added or removed from the array have no impact, and will be re-loaded with a node refresh.
**Name **(Scalar array item)**:** Name of this scalar parameter. Informative, can't be modified here.
**Show Pin on Node **(Scalar array item)**:** Toggle to allow this scalar parameter to show up as an input pin of the node. Refresh the node to update its state.
**Tags **(array)**:** These tags allow the current material to receive effects of material modifiers that define the same tag when they are active, like the output of mesh removal nodes.
---
==Input Pins==
**Mesh:** Mesh section that this material will be used on.
**(texture parameter name):**. Optional, when disconnected leaves this material texture parameter unaltered.
**(vector parameter name):**. Optional, when disconnected leaves this material vector parameter unaltered. The pin is hidden by default, visibility can be individually toggled with the Show Pin on Node property on the respective entry of the Vector Params array in this node properties.
**(scalar parameter name):**. Optional, when disconnected leaves this material texture parameter unaltered. The pin is hidden by default, visibility can be individually toggled with the Show Pin on Node property on the respective entry of the Scalar Params array in this node properties.
{anchor #rmniptwumc}
(WARNING)It's not efficient to connect the output of an unaltered [[/w/mutable/unreal-engine-4/user-documentation/nodes/skeletal-mesh/|Skeletal Mesh Node]] texture **directly into the same texture parameter input pin** in a **Material Node** when it's not altered in any way. 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:
{F106187,size=full}
Doing it like this is more efficient:
{F106185,size=full}
---
==Output Pins==
**Material:** Result material, with all the provided input parameters modified when connected, at runtime if appliable. Disconnected input pins leave the parameters out of Mutable, with their values untouched.
---
==Final texture properties taken from the reference texture==
{anchor #rmntp}
{F107068,size=full}
{F592617,size=full}
---
==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==
{F592684, size=full, layout=left, float}**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 [[/w/mutable/unreal-engine-4/user-documentation/nodes/material/#rmntp|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.
{anchor #rmniptwumc}
(WARNING)It's not efficient to connect the output of an unaltered [[/w/mutable/unreal-engine-4/user-documentation/nodes/skeletal-mesh/|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:
{F592622,size=full}
Doing it like this is more efficient:
{F592620,size=full}
---
==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==
{anchor #rmntp}
{F107068,size=full}
{F106214{F592617,size=full}
---
==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==
{F106256{F592684, size=full, layout=left, float}**Material:** Material asset to be applied to the mesh section. It's parameters will be offered as input pins to allow customization.
**Images **(array)**:** All the texture parameters of the current material asset.Texture Parameters Mode:** How to consider the disconnected pins: **Passthrough** leaves the texture parameter as it's in the skeletal mesh slot, The amount of texture parameters can't be modified from here,it won't receive UV modifications or be affected in any way by mutable. any added or removed from**Mutable** the equivalent to connecting manually the array have no impacttexture from the skeletal mesh node, and will be re-loaded with a node refreshso it goes through mutable and adapts to UV changes and other changes that mutable may do to the textures for this material.
**Name**Tags **(Images array item)**:** Name of this texture parameter.array)**:** These tags allow the current material to activate other nodes, Informativelike mesh variation and mesh removal nodes, can't be modified herewhen this material is active.
**Reference Texture **(Images array item)**:** Optional texture that defines the final texture configuration, it's derived when compiling if not set. Is not printed or projected in any way, its only purpose is as source of [[/w/mutable/unreal-engine-4/user-documentation/nodes/material/#rmntp|some texture configuration properties]]: LOD Bias, Texture Group, Mip Generation Settings, Max Texture Size, sRGB, FilterMesh Component Index:** Which component does this material get added to, Compression Settings and Dither Mip Map Alphaleave at zero if material has only one component.
**Vector **(array)**:** All the vector parameters of the current material asset. The amount of vector parameters can't be modified from here, any added or removed from the array have no impact, and will be re-loaded with a node refreshPin 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.
**Name **(Vector array item)**:** Name of this vectorThe search box allows filtering parameter. Informative,s by name. can't be modified hereThe "Show All" and "Hide All" buttons toggle all the Visibility checkboxes of all the parameters in this material.
**Show Pin on Node **(Vector**Visibility **(toggle in Pin Viewer array item)**:** Toggle to allow this vectormaterial parameter to show up as an input pin of the node. Refresh the node to update its state.
**Scalar **(array)**:** All the scalar parameters of the current material asset. The amount of scalar parameters can't be modified from here,Mode **(Pin Viewer array texture dropdown)**:** Texture Parameter Mode override for this input individually. any added or removed fromCan be set to be the array have no impactsame as the Node, and will be re-loaded with a node refreshor be set specifically as Passthrough or Mutable.
**Name **(Scalar array item)**:** Name of this scalar parameterUV 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. Informative,In **Ignore** mode indicates that the texture should not be transformed by any layout; can't be modified herethese textures will not be reduced automatically for LODs.
**Show Pin on Node **(Scalar array item)**:** Toggle to allow this scalar parameter to show up as an input pin of the node.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 [[/w/mutable/unreal-engine-4/user-documentation/nodes/material/#rmntp|some texture configuration properties]]: LOD Bias, Texture Group, Mip Generation Settings, Max Texture Size, sRGB, Refresh the node to update its state.
**Tags **(array)**:** These tags allow the current material to receive effects of material modifiers that define the same tag when they are activeFilter, Compression Settings, like the output of mesh removal nodesDither 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, when disconnected leaves this material texture parameter unalteredvisibility 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 with the Show Pin on Node property on the respective entry of the Vector Params array in this node propertiesin 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 with the Show Pin on Node property on the respective entry ofin the Scalar Params array in this node propertiesPin Viewer.
{anchor #rmniptwumc}
(WARNING)It's not efficient to connect the output of an unaltered [[/w/mutable/unreal-engine-4/user-documentation/nodes/skeletal-mesh/|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:
{F106187{F592622,size=full}
Doing it like this is more efficient:
{F106185{F592620,size=full}
---
==Output Pins==
**Material:** Result material, with all the provided input parameters modified when connected, at runtime if appliable. Disconnected input pinstexture 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==
{anchor #rmntp}
{F107068,size=full}