description |
---|
Overview and introduction |
This is the landing page for materials in Cyberpunk 2077. It contains a definition and a rough overview.
{% hint style="info" %} Check the section's sub pages in the wiki's navigation tree for more detailed information about the different kinds of materials. Additional material-related information can be found here: {% endhint %}
- Handy list of references: cheat-sheet-materials.md
- Re-using materials as templates: re-using-materials-.mi.md
- How it works in the example: 3d-objects-.mesh-files
- General information: multilayered
- Properties and definition: multilayered-material-properties-1.md
- Preview images: multilayered-previews.md
In its original state, a 3d-objects-.mesh-files is a collection of vertices (pixels). The space between those vertices is filled by faces, which form the 3d object's surface.
The shader is the thing that goes on top of the surface, rendering a material such as glass, skin, concrete, steel…
{% hint style="info" %} Without a shader, objects would be invisible in the game, the surface simply being transparent. In Cyberpunk, a default shader will be assigned in such cases (such as debug_coloring.mt). {% endhint %}
In Cyberpunk 2077, REDEngine shaders are implemented as .mt
/.remt
files.
If you have ever messed with an item's materials, then you already have.
To use a shader, you create a Material Instance, where you can configure the parameters.
Not every parameter of a shader can be configured: since skin always has subsurface scattering, it makes no sense to tweak this. But since skin color already varies dramatically if you don't throw exotic chrome into the mix, you can change them easily via tint.
{% hint style="info" %} For details how materials are used on a mesh, see the 3d-objects-.mesh-files, or learn how materials can be defined in a mesh via #materialinstance-the-local-material or loaded externally from {% endhint %}
In the context of Cyberpunk, a material is the thing that lets the shader define the surface properties of a 3d-objects-.mesh-files. Typically, you create a local instance, which will then pull in a shader via baseMaterial
.
The property baseMaterial
can point at a .mt
/ .remt
file directly, or to an intermediary .mi
file:
{% hint style="info" %} Each part of a mesh (submesh) can have a different material assigned.
Do you want to know more? ( =>#chunkmaterials) {% endhint %}
{% hint style="success" %} For a hands-on guide and something to play around/experiment with, check textured-items-and-cyberpunk-materials.md. {% endhint %}
If you have modded other games, you're used to PBR materials with a bunch of textures like diffuse, normal, metalness etc.
See cheat-sheet-materials.md -> #pbr-material for a list.
{% hint style="success" %} To change a textured material, see changing-materials-colors-and-textures.md -> #step-2-finding-the-correct-appearance {% endhint %}
{% hint style="info" %} Did you know? You can make Cyberpunk's default textured material glow. {% endhint %}
This is specific to Cyberpunk, and it is incredibly cool. If you're used to textured materials, you're probably going to hate it at first, but it has incredible versatility and re-usability.
{% hint style="success" %}
- What is a multilayered material and how does multilayered work?
- What are these properties, how do I use them?
- Changing the colours
- Changing the mask {% endhint %}
A decal material is applied to a decal (sub)mesh, which is located on the surface of another mesh like a sticker.
There are various kinds of emissive materials. See cheat-sheet-materials.md -> #emissive-materials for a list.