Installation and Compatibility
The pattern generator nodes each focus on one particular pattern type and include a range of parameters for generating different variants of the pattern. For example, MT VT Bricks includes parameters for controlling the size and direction of offsets, as well as the number of rows or columns that are grouped together for offsetting. MT VT Herringbone has parameters for generating single, double, triple etc variants of the herringbone pattern.
MT VT Brick offset sizes and directions.
MT VT Brick Tiles per Offset parameter with 1/2 offset in both row and column offsets.
MT VT Herringbone with a Tile Length Ratio of 6 and Tiles per Offset parameter used to create single, double and triple herringbone variants.
In addition to the pattern specific parameters there are a number of parameters common to all VersaTile pattern generator nodes. For more detailed information about these parameters you can check out the pattern generator documentation pages in the panel to the left, but I’ll list the most noteworthy functionality here:
The scale of the pattern is defined by a Target Texture Scale parameter, a Guarantee Multiples Of parameter, the tile measurements, and the actual specific settings that define the patterns layout. All measurement parameters are in scene units, which can be thought of as any metric you want but default values are consistent with centimeters. Target Texture Scale is the square size that the pattern algorithm attempts to fit your pattern into while respecting the other parameters. The tile measurements and layout parameters take priority over this value, so the actual resulting Texture Dimensions will likely differ but will be as close as possible while maintaining tileability.
Another couple of features that are common to all the pattern generators are the ability to rotate the whole pattern in multiples of 45° using the Orientation parameter, and the option to enable or disable Non-Square Expansion for working with non-square texture sizes. Furthermore, the nodes have been built to ensure that index values are continuous beyond the initial square texture space, meaning that material variations can be unique across the entire non-square texture, as opposed to just repeating the data for every square section.
Example showing tiling and uniqueness at different orientation and texture size ratios.
Regardless of whether the patterns are more commonly associated with bricks or tiles that have mortar or grout joints, or wooden parquet boards that are flush to each other, all patterns include an optional Joint Width parameter. This adjusts the spacing between tiles to allow for things like mortar joints.
One drawback to over-reliance on the Flood Fill nodes to generate tile patterns is that it is impossible to create a pattern with completely flush tiles due to the fact that the Flood Fill node requires shapes that are separated by at least 1 pixel. With the VersaTile nodes this isn’t the case.
All of the patterns in this system can be thought of as groups of tiles called Modules that are copied and arranged in a grid formation. These module are often also offset by rows or columns in order achieve full tessellation of the texture space. The tiles within each module are referred to as Sub-Module tiles, and in some cases are also arranged in a grid (or grid-like) formation. In order to create a standardized index structure that supports grid index types, any pattern that can’t have its Sub-Module tiles arranged in a grid have them all included in either a single row or a single column. Because of this, it is possible to combine Modules and Sub-Modules to create a unique Grid Index for all tiles in the pattern.
MT VT Basket Weave Module and its Sub-Module tiles highlighted in yellow.
MT VT Herringbone Module and its Sub-Module tiles highlighted in yellow.
MT VT Hex Weave Module and its Sub-Module tiles highlighted in yellow.
The following index types are supported and all begin at 1:
Due to the fact that all patterns are structured in a grid (or grid-like) formation, it’s possible to factor in a specified number of columns and rows we want our pattern to be a multiple of. The Guarantee Multiles Of parameter can be used to do just this. This is very important if you’re wanting to, for example, apply a color pattern to your modular wall or flooring pattern and you need the size of this color pattern to be factored into the final tile count in order to maintain tileabilty. Then the actual pattern itself can be applied to the tiles using either MT VT Index Sequencer or MT VT Sampler.
<aside> 💡
Note: For all panel-based patterns, such as Arenburg, Chantilly and Versailles, the Guarantee Multiples Of parameter works on the number of panel columns and rows instead of individual tiles. This is because the individual tile counts within each panel are pre-defined by the rules of the pattern itself. The parameter is still included in case of situations where it is desirable to apply different colors to different panels.
</aside>
MT VT Brick with square tiles at 45° orientation. The Oxford pattern is achieved by setting Guarantee Multiples Of to 2 columns and 2 rows, then MT VT Sampler is used to sample a 2x2 grid of colors.
MT VT Herringbone with a Tile Length Ratio of 2. The 3 colour stripe pattern is achieved by setting Guarantee Multiples Of to 1 column and 3 rows, then MT VT Index Sequencer is used with Index Source set to Grid Index, Apply Pattern To set to Rows, and Number of Colors set to 3.
MT VT Basket Weave with a Weave Number of 2. This an example of a standard biaxial weave pattern. Notice the continuation of color values on all tiles that are aligned along the same axis.
MT VT Hex Weave with a Weave Number of 2. This an example of a standard triaxial weave pattern. In this example different colors are used for each of the three axes, as well as the “yarn” indices.
Many different tile shapes are used throughout the various patterns, each with their own parameters for adjusting their measurements. When it comes to things like the tiles’ edges and corners though there are a number of parameters that come as standard throughout all pattern generators for controlling the specifics of the tile shape. The amount of filleting or chamfering applied to the shape’s corners is one such parameter, along with various options for controlling the bevel size, depth and profile curve.
Corner shapes. Sharp, fillet and chamfer.
Bevel profile curves. Linear, circular ease out, sine ease in ease out.
A custom bevel profile gradient.