Material Operators

Falloff     Gem    Glass    MultiID    Tiling Override    Triplanar Mapping    Template Override

Falloff

🎱 Falloff properties have been added to Physical Materials as an Operator.
fall-off-b-a

Add the new Falloff operator:
falloff-op

 

 

Gem

The Gem operator overrides the physical material and any operators below. It can be thought of as a custom Gem material shader.

Index of Refraction The index of refraction or IOR describes the change in direction of a light ray traveling. A higher IOR looks like a more intense reflection. It is a standard property in PBR materials. Lists of accurate IOR values can be found online.

The Gem operator’s default values are equivalent to a basic diamond:

Default Value: 2.417

Default Abbe Number: 55

Abbe Number Increases or decreases the dispersion effect.

Numeric Range:
  • 10 - 100 = The larger the number is the larger the dispersion effect. A larger dispersion means a less intense reflection and longer wavelength on the Gem material.
Color Defines the color of the gem’s reflection. We use a color picker that can use RGB, HSV or HEX inputs.

 

The meshes must be separate nodes for the effect to work, and having a large number of nodes in the scene will hinder performance. However, as long as the gems' meshes are not unique, the shader can optimize them quite heavily. A common scenario when uploading a model into the platform is that the meshes are not instanced/linked despite appearing the same, and thus can't be optimized by the shader. One way to guarantee they are correctly instanced is the following:

1. Import the model
2. Open the model asset
3. Delete all but one of the gems
4. Duplicate one of the gems as many times as needed to replace the missing gems

Ensure there are no operators added to the 'Polymesh' or 'Null' (model) nodes representing the gems

 

Glass

🥃 Glass can be represented in WebGL using the new Transmission properties in Physical Materials.

glass

Under Transparency, turn on Full Transmission:
full-transmission

Transmission properties will be displayed:
full-transmission-options

 

 

MultiID

The MultiID operator lets you assign different materials on a single mesh. This works by associating mesh faces to different “IDs” or “groups”. You can set up your model’s MultiID values in another software or add a Material IDs operator in the model asset.

To use this feature apply a material with a MultiID operator to a model that has been setup with material id values. Then the corresponding Material ID Asset of the MultiID operator is applied to the model asset.

Default Color Defines the default color when no material asset is assigned to the Material ID group. We use a color picker that can use RGB, HSV or HEX inputs.
Material ID 0 - Material ID 29 This is where a user applies which material asset is applied to the corresponding Material ID number. You need a model asset with Material IDs in order for this to work correctly.
Is MultiID MultiID when checked enables having multiple materials on a single mesh.

 

Tiling Override

Tiling Overrides are useful for adjusting multiple textures at once. It leaves the tiling attributes of the texture asset unmodified and only adjusts it in the material asset.

UV Transform

The UV Transform section adjusts placement and size of the Texture Asset linked in the Image Asset slot of the material.

Texture assets have their own texture coordinates, U and V. These are used to describe width and height of texture assets. Texture coordinates are measured in scale of 0 to 1, with 0 and 1 at opposite sides of the texture.

U Offset Control from where texture is placed in U direction or horizontally.

 

Numeric Range:

  • Input = 0 = Defaulted value.
  • Input > 0 = Moves texture asset right.
V Offset Control from where texture is placed in V direction or vertically.

 

Numeric Range:

  • Input = 0 = Defaulted value.
  • Input > 0 = Moves texture asset right.
Scale Mode
Tiling The UV Tiling values determine amount of texture repeat in 0 to 1 space
Scale The UV Tiling values multiples texture asset starting from bottom left corner
U Tiling or U Scale Tile Value input for Scale Mode that determines Left/Right or Horizontal Tiling
V Tiling or V Scale Tile Value input for Scale Mode that determines Top/Bottom or Vertical Tiling

Maps

Enables UV Transform settings for texture asset linked in the material slot.

Anisotropy Overrides tiling values of Anisotropy Image Asset texture from the material.
Ambient Occlusion Overrides tiling values of Ambient Occlusion Image Asset texture from the material.
Base Overrides tiling values of Base Image Asset texture from the material.
Bump Overrides tiling values of Bump Image Asset texture from the material.
Clear Coat Normal Overrides tiling values of Clear Coat Normal Image Asset texture from the material.
Emissive Overrides tiling values of Emissive Image Asset texture from the material.
Light Overrides tiling values of Light Image Asset texture from the material.
Metallic Overrides tiling values of Metallic Image Asset texture from the material.
Normal Overrides tiling values of Normal Image Asset texture from the material.
Opacity Overrides tiling values of Opacity Image Asset texture from the material.
Roughness Overrides tiling values of Roughness Image Asset texture from the material.
Specular Overrides tiling values of Specular Image Asset texture from the material.
Specular Intensity Overrides tiling values of Specular Intensity Image Asset texture from the material.
Transparency Overrides tiling values of Transparency Image Asset texture from the material.

 

Triplanar Mapping

Triplanar Mapping

Triplanar mapping is a Material Operator that is a useful tool for when needing to map textures on a material which is being applied to an asset that doesn’t require the use of UVs. Under the Material Property you must select ‘Add Operator’ in order to activate this operator. Once added you will be able to apply the operator to various sections of a material, such as the Base Image or Normal Image. It works by projecting the same texture on the X,Y,Z axis simultaneously and allows the user to control various elements such as the amount of blending between the 3 Axes as well as scale and rotation. These projections work in either World Space or Local.

PROPERTY DESCRIPTION
Projection Allows user to select the type of projection space:
World The coordinate system for the entire scene. This mode is useful when several objects need to be mapped with the same triplanar texture and to show consistent mapping.
Local The projection is done in local object space. When the object is moved/rotated/scaled, the texture moves with it.
Blending Control the blending of the projected textures on the X,Y,Z axis using a slider. Slider range is from 0.01 - 1.00. A value of 1 denoting 100% blending of the textures and 0.01 denoting 0%. The Triplanar operator default blending value is 0.5.
Translation Allows the user to position the texture on the X,Y,Z axis. Values for translating the texture depend on whether using Local or World space.
Rotation Allows the user to rotate the texture on the X,Y,Z axis.
Scale Scale values will depend on whether using Local or World space. A scale of 1.0 XYZ in World Space would be a scale of 100XYZ in Local.
Image Selection Use the checkboxes for the items below to inform the operator which input to apply the Triplanar mapping
  • Base Image
  • Opacity Image
  • Transparency Image
  • Metallic Image
  • Roughness Image
  • Anisotropy Image
  • Anisotropy Rotation Image
  • Specular Map Image
  • Specular Intensity Map Image
  • ClearCoat Normal Image
  • Bump Image
  • Normal Image
  • Emissive Image
  • AO Image
  • Light Image

 

Template Override

Plug

  • Material

Role

Override a single template property with a new value.

Properties

  • Property Name: name of the property to replace
    • Must start with TK_ and must be an existing property in a template material
  • Property TypeMapColor, or Number
  • Map: Texture asset used to replace the original map value
    • Only available if the property type is set to Map
  • Color: Color value used to replace the original color value
    • Only available if the property type is set to Color
  • Number: Number value used to replace the original number value
    • Only available if the property type is set to Number

Limitations

  • Can only be applied on a template material
  • If the wrong Property type is selected, based on the original type of the property in the template material, it's undefined behavior
  • The number value doesn't have any validation or limits, this might cause undefined behavior depending on the role of the TK_ property in the material definition

 

 

Share this