Beginning with LCv4.2, Automation supports the creation of custom paint materials which can be applied to cars, fixtures, and engine parts. These materials also support the Exporter, including exporting to BeamNG.
Overview
A Custom Paint mod is a collection of files, of which a Custom Paint
file is the parent.
The Custom Paint
file contains the settings and applicable options for the Custom Paint, as well as a reference to the paint material.
The custom paint material itself is a Material in UE4, which is set up in a specific way. Material variables can have an editable_
prefix in the name if you want the player to have access to it in the custom paint settings in-game. Variables and parameters also need to be input into the export user data
, contained within the material, for them to export correctly. Materials will not export correctly at all without this export user data
.
Workflow
- In UE4:
- Set up a mod.
- Create and fill out a
Custom Paint
file. - Create your Custom Paint material.
- Assign variables to the export user data.
- In the Automation Workshop Publishing Tool:
- Set up a workshop item.
- Share your mod.
Create your Custom Paint mod
Create A New Mod
After setting up the modding SDK from Here, create a new blank mod: alt=|frameless
Create A Custom Paint File
In your mod content folder, right-click and add a new Custom Paint
file. This is the file the game uses to load the paint into the UI.
frameless
Open the Custom Paint file. It has a few parameters:
- Name - This will be the name of the paint as it will appear in-game.
- Material Instance - This is the actual paint itself. The material instance defines how the paint looks, what parameters are available, and how it looks when exported.
- GUID - This is an unique identifier for this custom paint. It is a random value. This is how the paint is stored and saved by the game.
- Family GUID - As above, this is an unique identifier. This one is currently un-used, but could in the future be used for storing what paints are part of the same family, if you decide to make several.
Create A Material
Right-click the content browser again, and create a new Material.
This is the actual shader: it defines how the paint looks.
frameless|352x352px
Open the material. UE4 uses standard PBR Metallic-Roughness workflows. What this means is you define a material by giving it:
- a colour (0,0,0 - 1,1,1)
- telling it how rough it is (0 - 1, 0 being shiny)
- how metallic it is (0 - 1, 0 being plastic)
as well as a few additional things that help optimise parts of the rendering process, such as:
- a Normal map (this defines surface detail that would be too fine or complicated to be geometry)
- an Ambient Occlusion map (this helps darken and reduce reflections and specular highlighting on parts of the geometry that should be darker than usual, and which the lighting model cannot properly calculate)
- Opacity/Opacity Mask