Material Editor
Introduction
The Material Editor can be accessed at the following addresses:
- Developer Mode: http://localhost:5397/materialeditor/index.html#/
- Scene Viewer: http://localhost:5396/materialeditor/index.html#/
Note the port can be configured in the appropriate configuration file. Look for UI port or similar.
You will be initially greeted with a list of all materials currently loaded. You can click on any material to be taken to the dedicated page to configure a material.
Please note at present materials are not grouped by the track or car, however they are sorted in load order which means that track materials should appear first, then usually the safety car, then any other cars.
Once onto the dedicated material page you can easily change the shader, maps and a range of parameters. These will update in live time on the simulation.
Important
- The Material Editor will work with both the Scene Viewer and Dev Mode. However only one can be open at a time for it to work.
- For Materials to list, the GMT files must not be packed in MAS files
Editing Materials
Material JSON files
Materials editing in the Material Editor are saved in a series of JSON files. These overwrite any settings saved in the GMT mesh files.
Along the top of the screen on a Material page there are a few buttons which help you manage these files.
- Home - This takes you back to the list of all materials.
- Download - This downloads an individual json file for this material with the current settings.
- Upload File - This allows you to upload a json file to apply on this material.
- Apply - This re-applies the current settings. Generally all settings are set live though so this has limited use.
- Save to /ModDev - This saves the current settings to the track, and they will be automatically loaded next time.
- JSON files are saved in the "MaterialPath" specified in the SCN file. This is usually just a Materials folder.
Materials are automatically applied, but they are not automatically saved! Make sure you do save them!
Shader Selection
Shader selection is quite simple. Just choose the shader you wish to use from the drop down list. All PBR shaders start with "L2IBL", and you can see more details at the shader definition pages.
Mapper is for the Specular probe assigned to this material. You can leave it blank by default and it will assign to the default probe. If you wish to assign a custom probe then you can do so here. (For example the interior of a garage).
Source tells you where the JSON will be saved when you press "Save To /ModDev"
Shader Configuration
Shader Configuration allows you to change fundamentally how the shader works. When you make changes here, the Shader recompiles with the options you have selected. This allows for a great deal of customisation.
Generally you can enable and disable various maps here, and choose which UV data they use. As well as some more general parameters.
Be sure to hover over check boxes for Tool Tips which help explain the options available.
Shader Parameters
The Parameters section allows the setup of various parameters for each Material. There are some common sections here, and then various unique sections for each shader.
Typically there will be the following options available:
- Base_Material - This allows the configuration of default values for the material when you disable the maps. For example if you disable the albedo map, you can setup a static colour.
- UV_Scale - This allows you to scale up or down the UV data used on each map present in the shader.
- Material_Adjust - This parameters adjust the overall look of the material after all blending is carried out. Such as adjusting the final albedo, specular, roughness or metallic values. You can also adjust the strength of the normal perturbing of shadows and the reflection at 0 angle value for calculating specular output.
The settings unique for each shader are explained on the shader configuration pages and also through tool tips.
Map Configuration
The final section allows the configuration of Maps assigned to each slot. At present only the selecting of file and setting default functionality works. The advanced flags, misc and animation settings do not work yet.
You can also click on a thumbnail of the texture to view it at full size.
Known Issues / Important Notes
Beneath are some of the known issues with the Material Editor.
- For Materials to list, the GMT files must not be packed in MAS files
- You must save each material after modifying it to store it to JSON.
- At present it is not possible to modify transparency settings. If you are having issues here see the note beneath.
- At present it is not possible to modify advanced texture settings such as animation or mip mapping settings.
- If you re-export a mesh with different material settings, you need to delete any saved JSON files to see those changes.
- When changing shaders, material and texture flags do not get set. For most shaders this will not cause any issues. But for some it is necessary to set them in Max to get the appropriate flags assigned.
- There is no grouping of materials in the main list, cars are displayed after track materials with the safety car being the first car.
How to set Transparency Settings manually.
If you have problems saving transparency for now you just need to save the settings manually by editing the json file when you do not have the track loaded.
You can enable Alpha Test by adding "CUBETF_CHROMAKEY" flag to the albedo texture.
You can enable Alpha Blend by setting
- "dstBlend":"CUBEAB_INVSRCALPHA"
- "srcBlend":"CUBEAB_SRCALPHA"
- and adding "CUBEMAT_ALPHACHANNEL" to the Material Flags
Attached are examples of this.