ATAITexture

Blender Texture Generator

Blender gives you total control over how a material is built, which also means the wiring work. This generator ships a Python script that constructs the Principled BSDF node tree, wires all five maps and sets the colour space correctly - so you spend your time on the look, not on dragging nodes.

  • Built for Blender
  • 5 maps in engine format
  • No watermark
  • Commercial license
  • 1024px default
Blender workflow5 maps · 1024px

Colour space mistakes are the classic Blender texture trap. A normal map imported as sRGB looks subtly wrong and nobody can say why. Rebuilding the same five-node tree for every new material is also a waste of an afternoon.

  • ✓完整五通道,AO 与 Height 都可用
  • ✓附一键构建节点树的 Python 脚本
  • ✓自动处理 sRGB / Non-Color 色彩空间
  • ✓预设对应 Principled 参数组合
BBase ColorNNormalRRoughnessAAOHHeight

Generator

Blender preset
55/280
Blender presets

Engine material: Principled BSDF - Base Color

1024px suits most Blender work. Use 2048px for hero surfaces and close-up renders; 512px is fine for background props.

Runs 100% in your browser. Nothing is uploaded, commercial use allowed.

Tiling
◧

Blender-ready textures appear here

5 maps in Blender's exact structure — BaseColor, Normal, Roughness, AO, Height.

Who this is for

3D artists, technical artists and hobbyists who build materials in the Shader Editor.

The real pain point

Colour space mistakes are the classic Blender texture trap. A normal map imported as sRGB looks subtly wrong and nobody can say why. Rebuilding the same five-node tree for every new material is also a waste of an afternoon.

How to use these textures in Blender

  1. 1

    Generate the texture

    默认 1024px。上方预设按 Blender 的着色器参数分组:抛光大理石对应 Roughness 0.15,金属对应 Metallic 1.0,织物对应 Sheen 0.3。

  2. 2

    Download the five maps

    Base Color, Normal, Roughness, AO and Height. This is the complete PBR channel set - the two extra maps over a game engine both have real uses in Blender.

  3. 3

    Run the Python script

    Open a new text block in the Scripting workspace, paste the script and point ASSET_DIR at your texture folder. It builds the node tree and wires everything up.

  4. 4

    Fix the colour spaces

    Keep Base Color as sRGB and set Normal, Roughness, AO and Height to Non-Color. Get this wrong and the material renders darker for no obvious reason.

  5. 5

    Set the wrap mode

    Set Extension to Repeat on every Image Texture node. The default of Extend stretches the edge pixels outward.

  6. 6

    Tune the mapping scale

    The Mapping node Scale sets the physical density. A 1024px texture at scale 4 covers roughly 4 metres - adjust to your scene.

What's in the Blender export pack

File suffixWhat it controls
BaseColorAlbedo. Colour space sRGB.
NormalTangent-space normal. Colour space Non-Color, and the Normal Map node needs UV Map selected.
RoughnessRoughness. Colour space Non-Color.
AOAmbient occlusion. Colour space Non-Color.
HeightHeight. Colour space Non-Color. Feeds a Displacement modifier or a Bump node.

Blender 4.x 的 Principled BSDF 改名了

4.0 版本重命名了一批输入插槽:Specular 变成 Specular IOR Level,Subsurface 变成 Subsurface Weight,Transmission 变成 Transmission Weight,Sheen 变成 Sheen Weight,Emission 变成 Emission Color 和 Emission Strength。

如果网上抄来的节点教程连不上,很可能就是撞上了这个改名。老版本的节点名在 4.x 里仍然可用,但新建物体默认是新的插槽名。

法线贴图必须配 UV Map 节点

这是 Blender 里最常见的静默错误。Normal Map 节点默认使用活动 UV 地图,如果场景里有多个 UV 地图,它可能取到错误的那一个,结果就是法线看起来方向错乱或者完全没效果。

永远显式添加一个 UV Map 节点接到 Normal Map 的 UV 输入上,选对 UV 地图。这个脚本已经这么做了。

真位移与凹凸不是一回事

把 Height 图接到 Bump 节点是最省事也最通用的做法,它只改变着色法线,不需要额外几何体。

真位移需要给网格加 Subdivision Surface 修改器,再挂 Displacement 修改器并指定 Height 贴图,同时在渲染属性里把 Displacement 设为 Displacement(默认是 Bump)。真位移会真正改变轮廓线,代价是几何量暴增。

色彩管理与输出

Blender 4.x 默认使用 AgX 色彩管理,它对高光的处理比 Filmic 更克制。这会让同样的贴图在 Blender 里看起来比在游戏引擎里暗一些 —— 这不是贴图的问题,是色彩管理的问题。

如果要和引擎里的结果对齐,可以把视图变换临时切到 Standard 做对比,或者在导出时把视图变换烘焙进图像。

Prompt to Blender material mapping

Start from the left column, and the generated texture will match what the engine expects on the right.

PromptBlender material
oak wood planks, visible grainBase Color + Roughness 0.6
polished white marble with grey veinsRoughness 0.15, Specular IOR Level 0.5
brushed steel metal plateMetallic 1.0, Roughness 0.35
woven linen fabric, textile weaveSheen Weight 0.3, Roughness 0.9
brown leather hide, pebbled grainRoughness 0.6, Specular IOR Level 0.4
packed snow, subtle driftsSubsurface Weight 0.1, Roughness 0.55
raw concrete surface, subtle poresRoughness 0.85, Base Color grey
rough granite stone slabRoughness 0.78, Height -> Bump 0.4

Blender texture generator FAQ

How do I set up a PBR material in Blender?

Use the Principled BSDF: Base Color to the albedo, Normal to a Normal Map node, Roughness and AO to their matching inputs, and Height to a Bump node. Set Normal, Roughness, AO and Height images to Non-Color colour space, and set every Image Texture node's Extension to Repeat.

Why does my normal map look wrong in Blender?

Two usual causes. First, the image is set to sRGB instead of Non-Color - normal maps must be Non-Color. Second, the Normal Map node is picking up the wrong UV map. Add an explicit UV Map node and connect it to the Normal Map node's UV input.

How do I use the height map for real displacement?

Add a Subdivision Surface modifier, then a Displacement modifier with the height texture, and set the render Displacement method to Displacement rather than Bump. Bump shading is much cheaper and usually enough for most surfaces.

Does Blender use Filmic or AgX?

Blender 4.x defaults to AgX. It handles highlights more conservatively than Filmic, so a material can look darker in Blender than in a game engine without the texture being wrong. Switch the view transform to Standard temporarily to compare.

How do I stop the texture looking stretched on a sphere?

Use spherical or box projection from the Texture Coordinate node instead of the UV layout. For irregular geometry, triplanar projection avoids stretching entirely by projecting from three axes and blending by the surface normal.

Can I export these to other engines from Blender?

Yes. The maps are standard PNG with no engine-specific packing, so glTF or FBX export carries them across. Note that the AO and height maps are not used by most game engines, so check your target's channel expectations before importing.

Other engine workflows