Collect preview pictures for multilayered materials here
@jato on the Cyberpunk 2077 Modding Community Discord server has created 3D rendered previews as .jpeg
files of all the .mlsetups
in the game. Original post can be found here. The following list has been generated from these previews. A .zip
is also hosted on this Wiki.
More accurate previews rendered in-game (check below) can be created with the Material Preview AMM Prop.
ToDo: These need to be grouped (one picture per type), and then they need to be linked with nice headers. But I'd rather put them on here before they rot away on my disk for a few more months
aluminium_annodised | aluminium_bare_01_300 | aluminium_brushed_01_300 |
---|---|---|
aluminium_old_01_300 | aluminium_polished_01_300 | aluminium_rolled_annodised |
---|---|---|
aluminium_rolled_bare_01_300 | aluminium_rolled_rough_01_300 | aluminium_rough_01_300 |
---|---|---|
asphalt_old_01_300 | asphalt_old_fractured_01_300 | asphalt_old_patches_01_300 |
---|---|---|
asphalt_paint_01_300 | asphalt_road_01_300 | asphalt_road_damaged_01_300 |
---|---|---|
asphalt_road_new_01_300 | asphalt_road_old_01_300 | asphalt_tires_01_300 |
---|---|---|
blood_smooth_1_30 | brass_bare_01_300 | brass_brushed_01_300 |
---|---|---|
brass_old_01_300 | brass_polished_01_300 | brass_rolled_bare_01_300 |
---|---|---|
brass_rolled_rough_01_300 | brass_rough_01_300 | bricks_old_damaged_01_200 |
---|---|---|
bricks_old_painted_01_200 | bricks_old_rough_01_200 | bronze_bare_01_300 |
---|---|---|
bronze_old_01_300 | bronze_polished_01_300 | bronze_roof_tile_bare_01_300 |
---|---|---|
bronze_rough_01_300 | canvas_clean_01_30 | car_paint_metallic_01 |
---|---|---|
carbon_fiber_01_30 | carpet_office_felt_clean_01_300 | carpet_ribbed_clean_01_300 |
---|---|---|
carpet_thick_clean_01_300 | carpet_underlay_old_01_300 | ceramic_6x6_01_300 |
---|---|---|
ceramic_6x6_damaged_01_300 | ceramic_6x12_01_300 | ceramic_6x12_damaged_01_300 |
---|---|---|
ceramic_16x16_01_300 | ceramic_16x16_01_metal_300 | ceramic_16x16_dirty_01_300 |
---|---|---|
ceramic_16x16_missing_01_300 | cinderblock_01_300 | cinderblock_painted_01_300 |
---|---|---|
circuit_board_01_30 | cliff_rock_01 | cliff_rock_02 |
---|---|---|
cliff_rock_03 | colour_checker_plastic_tech | concrete_cast_rough_01_300 |
---|---|---|
concrete_cast_rough_dyed_01_300 | concrete_new_clean_01_300 | concrete_new_clean_dyed_01_300 |
---|---|---|
concrete_new_cracked_01_300 | concrete_new_dirty_01_300 | concrete_new_painted_01_300 |
---|---|---|
concrete_new_painted_matte_01_300 | concrete_new_rough_01_300 | concrete_new_rough_dyed_01_300 |
---|---|---|
concrete_old_damage_01_300 | concrete_old_damage_rebar_01_300 | concrete_old_panels_01_300 |
---|---|---|
concrete_old_panels_cracks_01_300 | concrete_old_panels_horizontal_01_300 | concrete_old_panels_horizontal_cracks_01_300 |
---|---|---|
concrete_old_panels_leaks_01_300 | concrete_old_shuttered_01_300 | concrete_old_shuttered_cracks_01_300 |
---|---|---|
concrete_old_shuttered_leaks_01_300 | concrete_old_shuttered_painted_01_300 | concrete_road_01_300 |
---|---|---|
concrete_road_cracked_01_300 | concrete_road_fractured_01_300 | concrete_road_painted_01_300 |
---|---|---|
concrete_road_tires_01_300 | concrete_rough_01_300 | concrete_rough_cracked_01_300 |
---|---|---|
concrete_rough_damaged_01_300 | concrete_rough_damaged_rebar_01_300 | concrete_rough_leaks_01_300 |
---|---|---|
concrete_smooth_01_300 | concrete_smooth_cracked_01_300 | concrete_smooth_dyed_01_300 |
---|---|---|
concrete_smooth_dyed_polished_01_300 | concrete_smooth_old_01_300 | concrete_smooth_polished_01_300 |
---|---|---|
concrete_smooth_tile_hex_5x6_01_300 | concrete_smooth_tile_hex_foil_5x6_01_300 | concrete_smooth_tile_hex_foil_5x6_02_300 |
---|---|---|
copper_bare_01_300 | copper_brushed_01_300 | copper_old_01_300 |
---|---|---|
copper_polished_01_300 | copper_rolled_bare_01_300 | copper_rolled_rough_01_300 |
---|---|---|
copper_roof_tile_bare_01_300 | copper_rough_01_300 | corduroy_clean_01_30 |
---|---|---|
cotton_shirt_clean_01_30 | cotton_shirt_clean_02_30 | cotton_shirt_neon_02_30 |
---|---|---|
cotton_twill_clean_01_30 | debug_outdated | debug_parity_test |
---|---|---|
debug_uv_testing | default_gray | denim_camo_01_30 |
---|---|---|
denim_clean_01_30 | denim_clean_02 | denim_neon_01_30 |
---|---|---|
dirt_universal_01_300 | duct_tape_characters_01_10 | duct_tape_clean_01_10 |
---|---|---|
dust_light_01_50 | ebony_irregular_bare_01_300 | ebony_irregular_bare_02_300 |
---|---|---|
ebony_irregular_bare_02_hrz_300 | ebony_irregular_polished_01_300 | ebony_irregular_polished_02_300 |
---|---|---|
ebony_straight_bare_01_300 | ebony_straight_bare_02_300 | ebony_straight_polished_01_300 |
---|---|---|
ebony_straight_polished_02_300 | ebony_straight_polished_02_hrz_300 | ebony_straight_polished_floor_01_300 |
---|---|---|
ebony_straight_polished_floor_02_300 | elastic_clean_01_30 | elastic_ribbed_clean_01_30 |
---|---|---|
enameled_hq_01_30 | enameled_metal_clean_01_30 | enameled_metal_weathered_01_30 |
---|---|---|
factory_floor_cracked_01_300 | factory_floor_cracked_dyed_01_300 | factory_floor_old_01_300 |
---|---|---|
factory_floor_painted_01_300 | factory_floor_painted_old_01_300 | factory_floor_rough_01_300 |
---|---|---|
felt_clean_01_30 | foam_01_100 | foam_pyramid_01_100 |
---|---|---|
gold_bare_01_300 | gold_brushed_01_300 | gold_old_01_300 |
---|---|---|
gold_polished_01_300 | gold_rough_01_300 | graffiti_01_100 |
---|---|---|
graphics_logos_001 | graphics_logos_002 | graphics_logos_003 |
---|---|---|
grass_dry_01 | grass_green_01 | grass_scrub_01 |
---|---|---|
gravel_01 | grime_film_01_300 | houndstooth_clean_01_30 |
---|---|---|
insulation_quilted_01_200 | iron_bare_01_300 | iron_brushed_01_300 |
---|---|---|
iron_cast_01_300 | iron_cast_painted_01_300 | iron_cast_painted_studs_01_300 |
---|---|---|
iron_cast_polished_01_300 | iron_cast_studs_01_300 | iron_old_01_100 |
---|---|---|
iron_old_rusted_01_100 | iron_polished_01_300 | iron_rolled_bare_01_300 |
---|---|---|
iron_rolled_rough_01_300 | iron_rough_01_300 | jersey_clean_01_30 |
---|---|---|
latex_01_30 | latex_neon_01_30 | leather_bull_01_30 |
---|---|---|
leather_croc_01_30 | leather_holes_01_30 | leather_old_01_30 |
---|---|---|
leather_old_02_30 | leather_rough_01_30 | leather_standard_clean_01_30 |
---|---|---|
led_matrix_16x16_01_16 | linen_burlap_01_30 | linen_clean_01_30 |
---|---|---|
linoleum_floor_6x6_01_300 | linoleum_floor_6x6_worn_01_300 | linoleum_floor_strip_eggshell_01 |
---|---|---|
marble_plain_01 | marble_plain_polished_01 | marble_plain_raw_01 |
---|---|---|
metal_floor_dirty_01_100 | metal_floor_painted_dirty_01_100 | metal_generic_cast_hq_01_30 |
---|---|---|
metal_generic_hq_01_30 | mirror_01_100 | mud_01 |
---|---|---|
multilayer_debug | multilayer_default | mylar_clean_01_30 |
---|---|---|
mylar_insulation_crumpled_01_200 | mylar_insulation_quilted_01_200 | nylon_01_30 |
---|---|---|
nylon_metallic_01_30 | nylon_strap_01_10 | nylon_strap_02_10 |
---|---|---|
oxford_clean_01_30 | paint_fine_clean_01_300 | paint_fine_clean_matte_01_300 |
---|---|---|
paint_fine_old_01_300 | paint_thick_01_300 | paint_thick_chequer_01_300 |
---|---|---|
paint_thick_hazard_01_300 | paint_thick_old_01_300 | paint_thick_peeling_01_300 |
---|---|---|
patina_01_300 | patina_roof_tile_01_300 | pebbles_smooth_01_200 |
---|---|---|
photovoltaic_cells_01_200 | plaid_clean_01_30 | plaid_clean_02_30 |
---|---|---|
plaid_clean_03_30 | plaid_clean_04_30 | plaster_exterior_01_300 |
---|---|---|
plaster_exterior_damp_01_300 | plaster_exterior_damp_neutral_01_300 | plaster_exterior_neutral_01_300 |
---|---|---|
plaster_exterior_patched_01_300 | plaster_exterior_patched_neutral_01_300 | plaster_exterior_rough_01_300 |
---|---|---|
plaster_exterior_rough_neutral_01_300_copy | plastic_camo_01_30 | plastic_hard_scratches |
---|---|---|
plastic_hard_smooth | plastic_lightcover_01_50 | plastic_pattern_bubble_01_30 |
---|---|---|
plastic_pattern_diamond_01_30 | plastic_pattern_smooth_01_30 | plastic_pattern_square_01_30 |
---|---|---|
plastic_pattern_squiggle_01_30 | plastic_scraped_01_300 | plastic_scraped_matte_01_300 |
---|---|---|
plastic_scraped_matte_leopard_01_300 | plastic_scraped_matte_zebra_01_300 | plastic_scraped_old_01_300 |
---|---|---|
plastic_hard_smooth | plastic_lightcover_01_50 | plastic_pattern_bubble_01_30 |
---|---|---|
plastic_pattern_diamond_01_30 | plastic_pattern_smooth_01_30 | plastic_pattern_square_01_30 |
---|---|---|
plastic_pattern_squiggle_01_30 | plastic_scraped_01_300 | plastic_scraped_matte_01_300 |
---|---|---|
plastic_scraped_matte_leopard_01_300 | plastic_scraped_matte_zebra_01_300 | plastic_scraped_old_01_300 |
---|---|---|
plastic_scraped_textured_01_300 | plastic_scraped_textured_hq_01_300 | plastic_scraped_tread1_01_300 |
---|---|---|
plastic_tarp_01_200 | plastic_tech_01_300 | plastic_tech_dirty_01_300 |
---|---|---|
plastic_tech_glossy_01_300 | plastic_tech_hq_01_30 | plastic_tech_neon_01_300 |
---|---|---|
plastic_tech_threadplate_01_300 | plastic_tech_worn_01_300 | player_wa_shirt_01 |
---|---|---|
polyester_knit_clean_01_30 | polyester_knit_clean_02_30 | polyester_knit_clean_03_30 |
---|---|---|
polyester_knit_metallic_01_30 | polythene_sheet_01_200 | polythene_sheet_leaks_01_200 |
---|---|---|
polythene_sheet_moisture_01_200 | rock_debris_01 | rubber_bumper_01_300 |
---|---|---|
rubber_bumper_damaged_01_300 | rubber_clean_hq_01_30 | rubber_simple_clean_01_30 |
---|---|---|
rubber_simple_weathered_01_30 | rust_thick_flaky_01_300 | rust_thick_rough_01_300 |
---|---|---|
rust_thick_smooth_01_300 | rust_thick_spots_01_300 | sand_compressed_01 |
---|---|---|
sand_dry_cracked_01 | sand_loose_01 | sequin_clean_01_30 |
---|---|---|
silk_clean_01_30 | silver_bare_01_300 | silver_brushed_01_300 |
---|---|---|
silver_old_01_300 | silver_polished_01_300 | silver_rough_01_300 |
---|---|---|
soil_peat_coarse_01_100 | soil_peat_fine_01_100 | soil_rocky_01 |
---|---|---|
soil_rocky_01 | soil_sandy_01 | spandex_clean_01_30 |
---|---|---|
spandex_clean_02_30 | stains_oil_01_100 | steel_bare_01_300 |
---|---|---|
steel_bare_annodised_01_300 | steel_bare_threadplate_01_300 | steel_brushed_01_30 |
---|---|---|
steel_brushed_01_300 | steel_dented_01_100 | steel_dented_annodised_01_100 |
---|---|---|
steel_dented_coroded_01_100 | steel_dented_coroded_01_100 | steel_galvanized_01_300 |
---|---|---|
steel_galvanized_corrugated_01_300 | steel_galvanized_corrugated_02_300 | steel_galvanized_corrugated_painted_01_300 |
---|---|---|
steel_galvanized_corrugated_painted_02_300 | steel_galvanized_corrugated_rust_01_300 | steel_galvanized_corrugated_rust_02_300 |
---|---|---|
steel_hq_brushed_01_10 | steel_hq_milled_01_10 | steel_hq_milled_02_10 |
---|---|---|
steel_hq_noise_01_10 | steel_old_01_300 | steel_old_rusty_01_300 |
---|---|---|
steel_old_rusty_threadplate_01_300 | steel_old_scraped_01_300 | steel_old_threadplate_01_300 |
---|---|---|
steel_perforated_01_100 | steel_polished_01_300 | steel_rebar_01_30 |
---|---|---|
steel_rolled_bare_01_300 | steel_rolled_bare_annodised_01_300 | steel_rolled_rough_01_300 |
---|---|---|
steel_rough_01_300 | steel_rough_threadplate_01_300 | steel_tempered_large_01_30 |
---|---|---|
steel_tempered_large_02_30 | steel_tempered_medium_01_30 | steel_tempered_small_01_30 |
---|---|---|
sticker_bomb_01 | terrain_asphalt_old_01 | terrain_asphalt_old_fractured_01 |
---|---|---|
terrain_cliff_rock_01 | terrain_cliff_rock_02 | terrain_cliff_rock_03 |
---|---|---|
terrain_concrete_road_01 | terrain_concrete_road_cracked_01 | terrain_grass_dry_01 |
---|---|---|
terrain_grass_green_01 | terrain_grass_scrub_01 | terrain_gravel_01 |
---|---|---|
terrain_mud_01 | terrain_rock_debris_01 | terrain_sand_compressed_01 |
---|---|---|
terrain_sand_dry_cracked_01 | terrain_sand_loose_01 | terrain_soil_rocky_01 |
---|---|---|
terrain_soil_sandy_01 | terrain_trash_01 | titanium_bare_01_300 |
---|---|---|
titanium_brushed_01_300 | titanium_old_01_300 | titanium_polished_01_300 |
---|---|---|
titanium_rolled_bare_01_300 | titanium_rolled_rough_01_300 | titanium_rough_01_300 |
---|---|---|
trash_01 | unused | velvet_clean_01_30 |
---|---|---|
wallpaper_pattern_a_old_01_300 | wallpaper_plain_01_300 | wallpaper_plain_damp_01_300 |
---|---|---|
water_puddle_01_150 | windows_opaque_01_200 | windows_opaque_foil_01_200 |
---|---|---|
windows_opaque_foil_streaky_01_200 | windows_opaque_streaky_01_200 | wood_hq_burl_01_30 |
---|---|---|
wood_plain_beech_01_300 | wood_plain_beech_stained_01_300 | wood_plain_oak_01_300 |
---|---|---|
wood_plain_pine_01_300 | wood_plain_pine_polished_01_300 | wood_plain_plywood_01_300 |
---|---|---|
wool_crossknit_clean_01_30 | wool_knit_clean_01_30 | wool_knit_clean_02_30 |
---|---|---|
wool_knit_clean_03_30 | wool_knit_clean_04_30 |
---|---|
Substance Designer 2077: How it works and why it's actually super
Everyone asks this question in the beginning, but you're only a single epiphany away from a change of mind. The multilayered shader can pack up to 20 layers of texture into a single file! Read on to find out how it works.
A significant portion of assets for Cyberpunk 2077 leverage the complex multilayered.mt supershader. The supershader has several different component files which are used to create masks to blend procedural textures without baking them. You can read more about this technique in this documentation by CDPR Technical Art Director Krzysztof Krzyścin.
While the multilayered supershader is very common, there are hundreds of other non Substance-style shaders, some with traditional baked PBR textures.
For a list of shader properties in multilayered.mt, see Multilayered Material: Properties
This wiki contains multiple guides about editing multilayered materials, such as:
For editing .mlmask files: Textures: Custom MultilayerMask
For editing .mlsetup files:
The multilayered shader is composed of three distinct parts:
Layer Masks | Mask textures that control where each surface is visible .mlmask files
Layer Definitions | Controls procedural effects such as tiling or color for each layer .mlsetup files
Layer Surfaces | Links PBR textures to create numerous pre-defined visual surfaces .mltemplate files
For editing mlsetup files, you'll want to use the MlSetupBuilder (download)
MLMASK files are the core element of the substance-style integration. These files contain an array of up to 20 textures which are used to control the blending between pre-defined surfaces called mltemplates. These mask textures are more-or-less 1:1 with substance-style layer masks.
As shown above, each mesh using the multilayer shader uses a unique mlmask file that is hand authored by CDPR artists. To take effect in game, each mask file is linked by the mlsetup file.
MLSETUP files are fairly self-explanatory when considering the name, multilayer setup. These files correspond with an mlmask file and are responsible for setting up parameters for each layer from the mlmask. Each layer within an mlsetup contains information very similar to materials or shaders.
To edit .mlsetup files, it's recommended that you use the MLSETUP Builder software.
For a definition of the properties, see Multilayered Material: Properties.
For a guide on how to edit one, check R&R: Colour Editing.
MLTEMPLATE files are the actual visible surfaces that appear on meshes using the multilayered.mt supershader. The multilayer templates include a wide variety of surfaces such as steel, iron, aluminum, plastic, nylon, linoleum, carpet, soil, grass, rubber, concreate, and everything else imaginable. Each template can use a unique color, normal, roughness, and metallic PBR texture. The mltemplate files are selected from within each layer definition of an mlsetup file. Meshes can blend up to 20 mltemplate surfaces into a single material by masking them with the mlmask.
multilayered
Multilayered Shaders |
---|
Texture Channels | Red | Green | Blue | Alpha |
---|---|---|---|---|
Name | Description |
---|---|
engine\materials\multilayered.mt
base\materials\multilayered_clear_coat.mt | Adds clearcoat effect
base\materials\vehicle_destr_blendshape.mt | Adds procedural vehicle damage
base\materials\cloth_mov_multilayered.mt
base\materials\multilayered_terrain.mt
base\materials\ver_mov_multilayered.mt
GlobalNormal
Normal R
Normal G
?
?
MaskAtlas
?
?
?
?
MultilayerMask
See mlmask
MultilayerSetup
See mlsetup
GlobalNormalIntensity
Sets visual intensity of normal map texture
GlobalNormalUVScale
?
GlobalNormalUVBias
?
MaskAtlas
?
MaskTiles
?
Layers
?
LayersStartIndex
?
SurfaceTexAspectRatio
Sets number of mlmask layers to be used
MaskToTileScale
?
MaskTileSize
?
MaskAtlasDims
?
MaskBaseResolution
?
SetupLayerMask
?
NormalsTextureDDXYMultiplier
?
MicroblendsTextureDDXYMultiplier
?