Export Material User Data

From Automation Game Wiki
Revision as of 21:10, 8 January 2023 by Hannah (talk | contribs)

The Export Material User Data is a translation layer for the Exporter. The exporter doesn't have access to the raw HLSL of the material in UE4, nor do most games or applications have a shader path that allows use of custom shaders. BeamNG.Drive, for example, has a static shader path, and as such, it is a constant struggle to get Automation's paints and materials to export nicely.

The Export Material User Data (or EMUD) contains the logic that the exporter can use for adjusting textures and the UVs of the exported meshes, in order to get a close approximation of Automation's materials, for use in other rendering engines.

The layout and structure of the EMUD must be kept in mind at all times during the creation of a Custom Paint or fixture material, as there are certain limitations that cannot be overcome.

The EMUD can create new static (non-moving) UVs in one of two flavours; it can scale the existing UVs, or it can create a new box-unwrapped UV set. The EMUD can also create and edit static textures for the following material channels: Diffuse, Roughness, Metallic, Specular, Normal, and Opacity.

Because the workflows for the different textures are similar but entirely separate, The documentation for each texture is thusly separated.

Export Material User Data Diffuse Parameter Info

The Diffuse EMUD is the only mandatory export parameter. All other parameters have defaults, but a material without a diffuse parameter set in the EMUD will not export correctly or at all.

The diffuse parameters inside the EMUD are capable of a number of dynamic options. You can set it up to use a texture as diffuse, or a texture as a mask between two colours, or a diffuse texture with a single colour overlaid via a mask, or a series of colours blended together via a slider or texture.

The diffuse parameters are split up into several sections that can be used or ignored as required. They are as such:

  • Colour Param
    • [Colour Parameters]
    • Diffuse Texture Param
    • Diffuse Texture To Colour Lerp
  • Colour Secondary Param (Optional)
    • [Secondary Colour Parameters]
    • Colour Secondary Mask Param