Unreal Engine Texture Generator
Unreal Engine rewards well-structured texture sets. The engine's standard is a packed Mask Map that combines ambient occlusion, roughness and metalness into one texture, so a single sample feeds three material inputs. This generator produces that packed map alongside the individual channels, and every texture is seamless enough to survive a Lumen global illumination pass on a large floor.
- Built for Unreal Engine
- 4 maps in engine format
- No watermark
- Commercial license
- 1024px default
Manually packing three grayscale maps into an R/G/B Mask Map is tedious and easy to get wrong. Get the channel order wrong and your material renders with wildly wrong roughness - and in Lumen, the error shows up in the indirect lighting.
- ✓Mask Map 已打包 R=AO G=Roughness B=Metallic
- ✓同时提供 ORM 变体应对既有管线
- ✓预设区分 Landscape 与静态网格用途
- ✓附 Editor Utility Python 导入脚本
Generator
Unreal presetEngine material: Landscape / Road material
1024px is the UE5 baseline. Use 2048px for hero surfaces and close-up cinematics; landscapes usually pair a 1024 tile with macro variation.
Runs 100% in your browser. Nothing is uploaded, commercial use allowed.
Unreal Engine-ready textures appear here
4 maps in Unreal Engine's exact structure — BaseColor, Normal, Mask, ORM.
Technical artists and environment artists building UE5 environments, props and landscape materials.
Manually packing three grayscale maps into an R/G/B Mask Map is tedious and easy to get wrong. Get the channel order wrong and your material renders with wildly wrong roughness - and in Lumen, the error shows up in the indirect lighting.
How to use these textures in Unreal Engine
- 1
Generate the texture
默认 1024px,这是 UE5 的基准尺寸。上方预设按引擎用途组织:Landscape 用的沥青、岩石、草、沙、雪,与静态网格用的混凝土、金属、砖墙分开。
- 2
Download the export pack
You get BaseColor, Normal, the packed Mask map and an ORM variant. The Mask channel order follows the UE5 standard - R for AO, G for Roughness, B for Metallic.
- 3
Import and set compression
BaseColor keeps sRGB on with default compression. Normal turns sRGB off with Normalmap compression. Mask turns sRGB off with Masks compression. Wrong compression is the most common source of UE5 material bugs.
- 4
Set the address mode
Set Address X and Address Y to Wrap. Clamp stretches the edge pixels across the surface, which looks worse than not tiling at all.
- 5
Wire the parent material
Split the Mask channels into Roughness, AO and Metallic. Use TextureSampleParameter2D rather than a plain sample node so material instances can override the texture.
- 6
Control density from the instance
Keep Tiling on a Vector4 parameter of the material instance, not in the texture import settings. One texture can then serve both a 2m and an 8m surface.
What's in the Unreal Engine export pack
| File suffix | What it controls |
|---|---|
BaseColor | Albedo, sRGB on. |
Normal | Tangent-space normal, sRGB off, Compression = Normalmap. |
Maskpacked | Packed: R = AO, G = Roughness, B = Metallic. UE5's standard single-sample layout. |
ORMpacked | R = AO, G = Roughness, B = Metallic with AO inverted, for engines expecting the ORM convention. |
Mask Map 是 UE5 材质的标准做法
UE5 的材质里同时采样 AO、Roughness、Metallic 三张灰度图会占三次纹理采样。把它们打包进一张 Mask 图的 R/G/B 三个通道,一次采样就能喂三个输入,同时省下两个纹理槽。
通道顺序必须一致:R 是 Ambient Occlusion,G 是 Roughness,B 是 Metallic。这里的导出已经按这个约定打包好。如果你要接入已有管线,先确认对方用的是 UE 约定还是 ORM 约定 —— 导出包里两种都给了。
Lumen 会放大贴图上的每一个问题
Lumen 求解全局光照,材质上的每一点差异都会通过反弹光被放大。一个整体亮度不均的贴图,会在地面上照出一格一格的明暗方块 —— 这就是所谓的棋盘格。
这里的贴图在瓦片周期内平均亮度是一致的,所以即使 Lumen 把间接光来回反射,表面依然读作一个连续的材质。
Landscape 的图层混合策略
单一贴图铺满地形,在低角度视角下几乎一定会露出网格。UE5 的标准解法是 Landscape Layer Blend:准备两到三个同材质的变体,用绘制好的顶点权重混合。
配合一张低频的 detail normal,网格感会基本消失。这里的四个 Landscape 预设(沥青、岩石、草、沙、雪)就是按这个思路准备的 —— 生成三个变体做混合,比生成一张然后硬铺效果好得多。
压缩设置比分辨率更值得花时间
很多项目把 Normal 贴图留成默认压缩,结果法线被当成颜色压缩,高频细节直接糊掉。压缩设置应该逐张检查:Normal 必须 TC_NORMALMAP,Mask 必须 TC_MASKS。
另外别忘了关掉不需要的 sRGB。颜色图开、遮罩类关 —— 这个开关留错会让整个材质偏暗或偏亮。
Prompt to Unreal Engine material mapping
Start from the left column, and the generated texture will match what the engine expects on the right.
| Prompt | Unreal Engine material |
|---|---|
| asphalt road surface, aggregate grit | Landscape - Road Layer |
| rough granite rock face, cracked | Landscape - Rock Layer |
| green grass turf, dense blades | Landscape - Grass Layer |
| desert sand, fine grain ripples | Landscape - Sand Layer |
| packed snow surface, subtle drifts | Landscape - Snow Layer |
| raw concrete wall, subtle pores | Static Mesh - Concrete |
| brushed steel metal panel | Static Mesh - Metal |
| weathered red brick wall | Static Mesh - Brick |
Unreal Engine texture generator FAQ
What is a Mask Map in Unreal Engine?
A single texture that packs three grayscale maps into the RGB channels: R for ambient occlusion, G for roughness, B for metalness. UE5 samples it once and splits the channels, saving two texture samples and two texture slots.
How do I import these textures into Unreal Engine 5?
Drop the PNGs into your content folder, then set the compression settings per map: BaseColor sRGB on with default compression, Normal sRGB off with Normalmap compression, Mask sRGB off with Masks compression. Also set Address X and Y to Wrap on each texture asset.
Should I use the Mask map or the ORM map?
Use the Mask map for native UE5 pipelines where R is AO. Use the ORM map if your project or a marketplace asset expects the ORM convention, where AO is inverted. Both are in the download - the difference is only the AO channel.
Will these look right with Lumen global illumination?
Yes. Lumen amplifies any low-frequency brightness variation in a texture into a visible grid on large surfaces. These textures maintain uniform average brightness across the tile, so the indirect light stays even.
How do I stop the tiling showing on a large landscape?
Use a Landscape Layer Blend with two or three variants of the same material, blended by painted vertex weights, plus a low-frequency detail normal. Generate multiple variants of one of the landscape presets and blend between them.
Can I use these textures in a commercial Unreal project?
Yes, including in shipped games. Commercial license, no attribution, no watermark.