Phriction Documentation Mutable Mutable for Unreal Engine User Documentation Node Reference Material Node History Version 9 vs 15
Version 9 vs 15
Version 9 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.
**UVLayout**(Images array item)**:** **TODO**
**Reference Texture**(Images array item)**:** **TODO**
**Compression Settings**(Images array item)**:** **TODO**
**Filter**(Images array item)**:** **TODO**
**SRGB**(Images array item)**:** **TODO**
**LODBias**(Images array item)**:** **TODO**
**LODGroup**(Images array item dropdown)**:** **TODO**
**Mip Gen Settings**(Images array item dropdown)**:** **TODO**
**Max Texture Size**(Images array item)**:** **TODO**
**Dither Mip Map Alpha**(Images array item)**:** **TODO**
**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 like
---
==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.
{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**(Images array item)**:** Name of this texture parameter.**Tags **(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.
**UVLayout**(Images array item)**:** **TODO****Mesh Component Index:** Which component does this material get added to, leave at zero if material has only one component.
**Reference Texture**(Images array item)**:** **TODO**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.
**Compression Settings**(Images array item)**:** **TODO**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.
**Filter**(Images array item)**:** **TODO**Visibility **(toggle in Pin Viewer array item)**:** Toggle to allow this material parameter to show up as an input pin of the node.
**SRGB**(Images array item)**:** **TODO**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.
**LODBias**(Images array item)**:** **TODO**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.
**LODGroup**(Images array item dropdown)**:** **TODO**
**Mip Gen Settings**(Images array item dropdown)**:** **TODO**
**Max Texture Size**(Images array item)**:** **TODO**
**Dither Mip Map Alpha**(Images array item)**:** **TODO**
**Vector**(array)**:** All the vector parameters of the current material asset. The amount of vector parameters can't be modified from here,Reference Texture **(Pin Viewer array texture asset)**:** Optional texture that defines the final texture configuration. any added or removed from the array have no impactIf it's not set, and will be re-loaded with a node refresh.
**Name**(Vector array item)**:** Nameit's considered to be the texture that is in the skeletal mesh of this vector parametere same name and slot. InformativeIs not printed or projected in any way, 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.its only purpose is as source of [[/w/mutable/unreal-engine-4/user-documentation/nodes/material/#rmntp|some texture configuration properties]]: LOD Bias, Refresh the node to update its state.
**Scalar**(array)**:** All the scalar parameters of the current material asset.Texture Group, The amount of scalar parameters can't be modified from hereMip Generation Settings, any added or removed from the array have no impactMax Texture Size, and will be re-loaded with a node refresh.
**Name**(Scalar array item)**:** Name of this scalar parameter.sRGB, InformativeFilter, 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.Compression Settings, Refresh the node to update its state.
**Tags**(array)**:** These tags allow the current material to receive effects of material modifiers like Dither Mip Map Alpha and others.
---
==Input Pins==
**Mesh:** Mesh section that this material will be used on.
**(texture parameter name):**. Optional**Table Material:** Connection to the material table node, when disconnected leaves this material texture parameter unalteredto use tables as data sources instead of nodes.
**(vector**(texture parameter name):**. Optional, when disconnected leaves this material texture parameter unaltered if the Texture Parameters mode is **Passthrough**, when disconnected leaves this material vector parameter unalteredor 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 with the Show Pin on Node property on the respective entry of the Vector Params array in this node propertiesin 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 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}