This photorealistic seamless 3D texture presents an 8K resolution PBR depiction of a chainmail shirt meticulously constructed from interlinked riveted rings, crafted entirely from weathered metal. The base substrate is a durable ferrous metal alloy, exhibiting a naturally aged, scratched metal surface finish that reveals signs of heavy use and battle wear. The riveted joints between the rings add structural integrity and complexity, emphasizing the painstaking craftsmanship of traditional chainmail fabric. The metal’s surface features a subtle metallic sheen with a slightly roughened, brushed texture, punctuated by fine abrasions and scuff marks that enhance realism and convey authentic wear patterns over time. Coloration arises mainly from the natural patina and oxide layers on the metal, with subtle variations in tone reflecting oxidation and surface corrosion typical of aged armor.
In terms of PBR channel mapping, the BaseColor/Albedo map captures the nuanced color variations from darkened steel to faint rust hues, while the Normal map conveys the intricate geometry of the riveted rings and their interlocking joints, adding depth and tactile detail. The Roughness map controls the surface reflectivity, balancing the metallic sheen with areas of dullness where scratches and abrasions have diffused light. The Metallic map uniformly defines the entire texture as metal, reinforcing its inherent shininess and reflectivity. Ambient Occlusion enhances the shadowing within the ring intersections, emphasizing their three-dimensional structure. Height/Displacement maps provide subtle relief to the rivets and surface imperfections, improving visual depth when applied with parallax or tessellation techniques.
This seamless chainmail shirt texture is specifically optimized for use in high-fidelity 3D character armor and historical costume design within popular engines like Unreal, Blender, and Unity. The extreme 8K resolution ensures exceptional detail even in close-up renders, making it ideal for cinematic projects and game assets that demand photorealism. For practical application, it is recommended to carefully adjust the UV scale to maintain consistent ring proportions and to fine-tune the roughness settings to match the desired level of armor wear, from polished to battle-worn finishes. Incorporating the height map with parallax occlusion mapping can greatly enhance the perception of depth and the tactile feel of the riveted metal rings, adding to the immersive realism of the final model.
How to Use These Seamless PBR Textures in Blender
This guide shows how to connect a full PBR texture set to Principled BSDF in Blender (Cycles or Eevee). Works with any of our seamless textures free download, including PBR PNG materials for Blender / Unreal / Unity.
What’s inside the download
*_albedo.png
— Base Color (sRGB)
*_normal.png
— Normal map (Non-Color)
*_roughness.png
— Roughness (Non-Color)
*_metallic.png
— Metallic (Non-Color)
*_ao.png
— Ambient Occlusion (Non-Color)
*_height.png
— Height / Displacement (Non-Color)
*_ORM.png
— Packed map (R=AO, G=Roughness, B=Metallic, Non-Color)
Quick start (Node Wrangler, 30 seconds)
- Enable the addon: Edit → Preferences → Add-ons → Node Wrangler.
- Create a material and select the Principled BSDF node.
- Press Ctrl + Shift + T and select the maps
albedo, normal, roughness, metallic (skip height and ORM for now) → Open.
The addon wires Base Color, Normal (with a Normal Map node), Roughness, and Metallic automatically.
- Add AO and Height using the “Manual wiring” steps below (5 and 6).
Manual wiring (full control)
- Create a material (Material Properties → New) and open the Shader Editor.
- Add an Image Texture node for each map. Set Color Space:
- Albedo → sRGB
- AO, Roughness, Metallic, Normal, Height, ORM → Non-Color
- Connect to Principled BSDF:
albedo
→ Base Color
roughness
→ Roughness
metallic
→ Metallic (for wood this often stays near 0)
normal
→ Normal Map node (Type: Tangent Space) → Normal of Principled.
If details look “inverted”, enable Invert Y on the Normal Map node.
- Ambient Occlusion (AO):
- Add a MixRGB (or Mix Color) node in mode Multiply.
- Input A =
albedo
, Input B = ao
, Factor = 1.0.
- Output of Mix → Base Color of Principled (replaces the direct albedo connection).
- Height / Displacement:
Cycles — true displacement
- Material Properties → Settings → Displacement: Displacement and Bump.
- Add a Displacement node: connect
height
→ Height, set Midlevel = 0.5, Scale = 0.02–0.08 (tune to taste).
- Output of Displacement → Material Output → Displacement.
- Add geometry density (e.g., Subdivision Surface) so displacement has polygons to work with.
Eevee (or lightweight Cycles) — bump only
- Add a Bump node:
height
→ Height.
- Set Strength = 0.2–0.5, Distance = 0.05–0.1, and connect Normal output to Principled’s Normal.
Using the packed ORM
texture (optional)
Instead of separate AO/Roughness/Metallic maps you can use the single *_ORM.png
:
- Add one Image Texture (Non-Color) → Separate RGB (or Separate Color).
- R (red) → AO (use it in the Multiply node with albedo as above).
- G (green) → Roughness of Principled.
- B (blue) → Metallic of Principled.
UVs & seamless tiling
- These textures are seamless. If your mesh has no UVs, go to UV Editing → Smart UV Project.
- For scale/repeat, add Texture Coordinate (UV) → Mapping and plug it into all texture nodes.
Increase Mapping → Scale (e.g., 2/2/2) to tile more densely.
Recommended starter values
- Normal Map Strength: 0.5–1.0
- Bump Strength: ~0.3
- Displacement Scale (Cycles): ~0.03
Common pitfalls
- Wrong Color Space (normals/roughness/etc. must be Non-Color).
- “Inverted” details → enable Invert Y on the Normal Map node.
- Over-strong relief → lower Displacement Scale or Bump Strength.
Example: Download Wood Textures and instantly apply parquet or rustic planks inside Blender for architectural visualization.
To add the downloaded texture, go to Add — Texture — Image Texture.

Add a node and click the Open button.

Select the required texture on your hard drive and connect Color to Base Color.
