It is common in real-time graphics to use tiling textures to represent large surface area however repetition is noticeable as can be seen here on the left.

Using hex-tiling allows us to hide the repetition but requires a solution to hide the seams between adjacent hex tiles.

This is what we have in factures for years. Not Hexagon, but more irregular figure for better tile-killing. (Andrew)

Factures provide an easy and powerful way to achieve surface detailing of practically unlimited levels.
This is the way to apply a texture without the actual UV assignment. It works similarly to vertex painting; however, you paint with texture, not just the color.

The main rule is that you can assign a texture and a color to each vertex. Each vertex on every layer has only ONE texture. So, if you paint with texture over another texture on the current layer, the texture will be replaced, not blended.

But you can apply many textures to each vertex using multiple layers with opacity. If neighboring vertices have different textures, the textures will be blended between the vertices and no seam will appear.

Pay attention to the Roads tool - it paints strips of textures, just like building roads.

If you want to use the Conditions drop list, first use Calculate menu to create or update cavity or occlusion layers.

Factures are sort of big “easter egg” in 3DCoat. Actually it is very powerful way to make super-detailed objects. For example you have landscape and want to cover it with grass, rock, sand, etc… textures.

Of course direct painting over uv-ed mesh is bad idea there, huge textures will be required. Putting tiled texture is bad idea as well, tiling is well visible, edge between different textures is visible too. Factures is good solution for this.

It is per-vertex texturing. UV coordinate assigned to vertex, textures are assigned per-vertex as well, if different vertices has different textures - they will be blended between each other and no seams will appear.

But there are several problems:

1) Export. Engine/3d-package should support per-vertex color/alpha channel to use FBX exported from Coat. Usually need to setup nodes to use exported result correctly.

2) Still unfinished a bit. No good textures, no default library of textures. No shaders included. I will include shaders in next build.

Add facture, select it. In Paint room → paint with brush. Use RMB for facture properties.

You also have possibility to import Quixel materials as Vertex Textures for Factures.

Paint: Paint VerTexture over the mesh.
Erase: Erase the VerTexture.
Fill: Fill with the VerTexture.
Roads: RoadsTool.
FactureSpot: FactureSpot.

Transform: Transform object as a entire. Click on object to transform.
Pose: Pose object using partial object selection.
Bend: Bend the object around the axis.
Move: Move a surface area. Press and drag LMB to move the surface within the cursor, relative to the screen view. Use CTRL to move surface along the normal. Different Alphas give different results.
Freeze: Freeze parts of the surface. Use CTRL+D to clear frozen parts, CTRL+SHIFT+I to invert freeze.
Surface Hide: Brush or use Stroke Draw mode to hide portions of the selected VoxTree object. To unhide, chose that option from the Geometry Menu.
Res+: Increase resolution of the current object.

In the upper right corner you will see an arrow that when pressing shows the creation options of new folders to create different new categories of Vertextures for Factures.

You will be able to create new folders and define the size of visualization of the Vertextures icons.

The settings corresponding to each VerTexture created can be viewed and modified in the Vertexture Settings window.

. Apply VerTexture immediately: Apply the VerTexture properties changes to the whole current layer.
. Color texture:
. Gloss texture:
. Roughness texture:
. Metallness texture:
. Normalmap texture:

. Default mapping:

  • Uniform cubemapping: Uniform cubemapping allows to eliminate tiling due to randomization of pieces rotation. Pay attention that textures should be noisy and relatively uniform.
  • Plain cubemapping: Usual cubemaping without randomisation.
  • Cylindric cubemapping: Cubemapping with the low priory of the top side.
  • Flat projection:
  • Lay along the trajectory:


Flip T: Flip T vector for the normalmap.
Flip B: Flip B vector for the normalmap.
Swap TB: Swap T & B vectors for the normalmap.
U - Shift
V - Shift

  • general/factures_workspace.txt
  • Last modified: 2022/08/08 11:39
  • by carlosan