GEOPATTERN

What is GeoPattern?

In most cases textures look flat even with bump mapping.
flatpebble

GeoPattern uses geometry patch in the same way as texture.
3dpebble

What is geometry patch?
Geometry patch is just a mesh object which user wants to use as texture. It can be created in any way depending what it is.
Here is a pebble patch created with a scattering tool.
pebblegeometrypatch

Geopattern can bend the patch geometry over a surface:
pebblebending

Geopattern can cut the patch geometry along surfaces border:
pebblecutting

Geopattern can tile/repeat the patch geometry infinitive amount of times without any extra memory usage:
pebbletiling

GeoPattern is a modifier applied to a surface where geomety patch should placed on.
geopatternmodifier

GeoPattern settings
geopatternsettings

geometry - geometry patch which should be placed on surface.
crop box - works in the same way as bitmap crop. It sets which geometry patch volume should be used. Crop box can be adjusted via crop box transoformation and crop box size. Any patch geometry located inside crop box will be used for GeoPattern distribution.
geopatterncropbox
It is important to place crop box properly.
Crop box height (z size) has to be a bit bigger than geometry patch height. The smaller or the same height may cause geometry gaps or rendering artifacts.
geopatterncropboxheightcorrect
geopatterncropboxheightincorrect

In case of periodic pattern crop box should be placed to cover geometry patch period.
geopatternperiodcorrect1
geopatternperiodincorrect1

In case of nonperiodic pattern crop box should cover most important area and avoid unnesessary areas like path edges.
geopatternnonperiodcorrect
geopatternnonperiodincorrect

Pattern height sets result GeoPattern height based on crop box z size. 100% means using original crop box height.
geopatternheight

Pattern offset sets GeoPattern geometry offset along surface normals based on crop box z size.  50% means GeoPattern geometry place in the middle.
geopatternoffset

Material id: if active, GeoPattern is applied only to polygons with specified material id.
geopatternmaterialid

UVW space: because GeoPattern uses 2 geometry sources - surface geometry and pattern geometry, it is necessary to specify which geometry to use for UVW mapping.
There are two UVW spaces: surface and pattern.
geopatternuvwspace

Polygons ids: the same as uvw coordinates, it is necessary to specify which polygons ids (materials ids and elements ids) to use for shading.
There are two ids sources: surface and pattern.
geopatternpolygonsids

Next parameters set works in the same way as texture one:

UVW channel sets which texture coordinates channel to use for pattern orientation.

Real world option sets real world mapping. In this case crop box size acts as real world texture size and tiling u/v work as tiling multiplier.

Offset U/V sets pattern offset in UVW space.
geopatternoffsetuv

Tiling U/V sets pattern tiling in UVW space.
geopatterntilinguv

Random offset U/V shift crop box randomly left-rigth and back-forth for every uv tile square.  It gives some kind of randomization for non periodic patterns like grass to avoid visible tiling. Because of random crop box offset  it is recomended to make crop box smaller than geometry patch, otherwise empty spaces apear.
geopatternrandomoffset

Random rotation rotates crop box randomly in XY plane.  Random rotation sets rotation steps.
Value 1 means no random rotation.
Value 2 gives random rotation values 0 or 180.
Value 3 gives random rotation values 0, 120 or 240.
Value 4 gives random rotation values 0, 90, 180 or 270
geopatternrandomrotation