Ground textures

Seamless grass texture in a soft cartoon look

In short

Cozy Grass is a free CC0 lawn that repeats without a visible edge. A single repeat measures 2 × 2 m, and the 2K and 1K downloads each bundle colour, OpenGL and DirectX normals, roughness, occlusion and a 16 bit heightfield.

Tile size
1 tile = 2 × 2 m
Maps
Base color, normal (GL and DX), roughness, AO, height
Resolutions
2K (2048 px), 1K (1024 px)
Format
PNG, metallic 0
License
CC0 1.0

CC0 1.0 · six maps, README and license in every ZIP

preview.jpg
Preview render: Cozy Grass lawn wrapped around test shapes on a green floor

01Six PBR maps

  • Cozy Grass, Base color
    Base colorcozy-grass_<res>_basecolor.pngsRGB · 8 bit RGB
  • Cozy Grass, Normal OpenGL (Y+)
    Normal OpenGL (Y+)cozy-grass_<res>_normal_gl.pnglinear · 8 bit RGB
  • Cozy Grass, Normal DirectX (Y−)
    Normal DirectX (Y−)cozy-grass_<res>_normal_dx.pnggreen channel inverted
  • Cozy Grass, Roughness
    Roughnesscozy-grass_<res>_roughness.pnglinear · 8 bit grey
  • Cozy Grass, Ambient occlusion
    Ambient occlusioncozy-grass_<res>_ao.pnglinear · 8 bit grey
  • Cozy Grass, Height
    Heightcozy-grass_<res>_height.pnglinear · 16 bit · 0 … 1 = 12 mm
ResolutionMapsUnpackedZIP
2K · 2048 × 2048 px6 PNG10 MB10 MB
1K · 1024 × 1024 px6 PNG3.5 MB3.7 MB
Cozy Grass, base color repeated 2 × 2 without visible seams
basecolor 1K · 2 × 2 = 4 × 4 m

02Seamless tiling and scale

One tile
2 × 2 m
Scale 1
stylized leaf strokes about 3 to 6 cm
Scale 2
soft colour patches about 40 cm
Height range
0 … 1 = 12 mm
UV repeat
size in m ÷ 2 (4 m: 2×)
Displacement
0.012 m, midlevel 0

Step by step for Blender, Godot, Unity, Unreal and three.js: texture setup guide.

03Example scene

Free 3D models in this render:

Cozy Grass, example scene
scene.jpg

04About this texture

Instead of photographed blades the lawn is built from small painted leaf strokes, 3 to 6 cm long, on top of soft colour patches around 40 cm wide. That keeps the surface calm from a top-down camera and still lively up close. The height range is only 12 mm, enough for a gentle bump in the normal map without turning the ground into noise. It suits gardens, village greens, golf prototypes and any low poly terrain that needs a friendly base layer.

Good for

  • Lawns, parks and village greens
  • Base layer for terrain splat maps
  • Football pitches and sports fields in cozy style

Questions and answers

Does the grass texture show a pattern on large terrain?

The soft colour patches hide most of the repetition. On very wide fields, blend the 2 × 2 m tile with Cozy Flower Meadow or rotate the UVs of neighbouring terrain chunks.

Can the grass be used for a top-down 2D game?

Yes. The base colour map alone works as a flat ground tile. At 1,024 px per metre in 2K it scales down well to tile sizes like 64 or 128 px.