This seamless 3D texture showcases a richly detailed dark velvet fabric base, meticulously crafted to emulate the luxurious yet eerie surface ideal for Halloween or horror-themed projects. The fabric’s organic textile substrate features tightly woven velvet fibers with a subtle pile, enhanced by a complex interplay of blood red stains that appear deeply absorbed into the material. The dark velvet's natural pigments and dye layers are represented in the BaseColor/Albedo channel, capturing the intense contrast between the saturated crimson splashes and the muted blackish fabric. The photorealistic surface finish simulates a slightly worn, matte velvet with delicate faded and tattered cloth details, conveying a sense of age and decay through subtle wear, tear, and minute cracks that add texture depth and visual interest.
In the PBR workflow, the Normal map accurately reproduces the velvet’s fine fiber orientation and the irregularities caused by the blood splatter and fabric distressing. The Roughness channel balances smooth, velvety softness with rougher patches where the stains and fabric damage have altered the surface finish, while the Metallic channel remains near zero, reflecting the organic, non-metallic nature of the textile. Ambient Occlusion enhances shadowing around fabric folds and tattered edges, intensifying the worn, spooky ambiance. The Height or Displacement map introduces subtle surface relief, emphasizing the depth of the blood red stains and the fabric’s weathered texture, creating a tactile realism that holds up at close inspection, especially at the 8K resolution level.
Designed for seamless tiling, this 8K resolution texture is fully optimized and ready for integration into Unreal Engine, Blender, and Unity, ensuring high fidelity and performance across diverse 3D environments. Its high detail level allows for large-scale close-ups without loss of clarity, perfect for atmospheric props, gothic costumes, and horror-themed decorative elements. For practical use, adjusting the UV scale to slightly enlarge the texture can emphasize the dramatic blood stain details, while fine-tuning the Roughness parameter in your material settings can enhance the realistic velvet sheen or accentuate the worn fabric appearance, depending on the desired visual effect.
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.
