Page MenuHomeAnticto

Mutable for Unreal Engine | Material Node
Updated 1,185 Days AgoPublic

Version 12 of 15: You are viewing an older version of this document, as it appeared on Jun 29 2020, 4:13 PM.

imagen.png (206×411 px, 33 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 (874×397 px, 63 KB)
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 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.

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. 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:
imagen.png (248×803 px, 60 KB)
Doing it like this is more efficient:
imagen.png (246×803 px, 59 KB)

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

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

Last Author
ricard
Last Edited
Jun 29 2020, 4:13 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.