4/5 Very Good
- Creates randomised tile patterns of unlimited size
- Unlimited render nodes
- Loading bitmaps is laborious
- Some redundant UI elements
By Paul Roberts, October 24, 2012
Covering large areas with tile materials can be a headache. We’re pattern spotting machines and recurring details can quickly give away a repeating texture.
One workaround is to create maps that lack distinguishing marks, but this can take away realism and visual interest. Alternatively, huge textures can be created that cover geometry with no need for repetition, but these substantially increase memory usage and seldom have the resolution to render well at close range.
Enter MightyTiles, a texturing plugin that creates varied tile patterns by randomly selecting bitmaps from a library, shifting HSVs, jiggling transforms and much more. The result: textures with no size restriction, no visible repetition and lots of interesting variety.
Despite its 1.02 suffix and release earlier this year, MightyTiles is not a completely new plugin. Its predecessor was originally released in 2010 by MaterialWerk under the name Brix.
Let’s see what MightyTiles has to offer.
What it Does
MightyTiles takes a number of bitmaps, such as images of single bricks, and randomly distributes them according to one of fifteen built-in tile patterns. Each bitmap is instanced and once loaded can be used unlimited times with no additional memory overhead. Because the resolution of each brick texture can be very large, the resulting material can be used for close up renders as well as from afar.
MightyTiles is much more than a simple tiling map. Further variety is added by randomising the position, rotation, colour, bump and displacement value of each tile. Bricks can take their colour from another map to create mosaic effects. Mortar has its own set of controls to customize tinting, displacement, and can be generated procedurally to blend with the mortar in the bitmaps or even replace it.
In addition to a diffuse map, each individual brick or tile uses a separate bitmap for alpha, bump, displacement, and reflection. These are all controlled from a single MightyTiles map making for a very simple and efficient shader network.
Interface and Workflow
After installing MightyTiles two new maps are available, Mighty Tiles itself and the MightyTiles Slave map.
The first of these is used to create materials using either the small library that comes with the plugin or by creating your own custom sets using the Tile Designer.
Working in conjunction with this is the slave map that takes the output from the MightyTiles master and allows for the extraction of a single channel, either the diffuse, bump, displace, reflection or specular.
MightyTiles is smart, and will automatically detect if it’s in the diffuse, bump or displace channel of a material. But as Max only supports these 3 outputs, to use the reflection and specular maps the Slave Material is required. A typical shader set-up may comprise a MightyTiles map with a single slave to use the reflection map (as shown on the accompanying image).
The slave map is also useful if you wish to isolate a particular map channel to render it to a texture. Handy if you need to bake down a map for further modification or use in another application.
The MightyTiles interface remains largely unchanged from Brix. In addition to rollouts for settings, updates, help and an information panel that displays statistics, there are 6 other panels. These can be broadly categorised into 3 sections that set the pattern, determine the textures used, and randomise parameters
Each section is well laid out and easy to understand. I personally would have preferred the tiles rollout nearer the top since you can’t see the effects of any other setting until you have chosen a brick set from the library, but this small niggle aside the workflow is straightforward and intuitive: pick a tile set, choose your bond, set the aspect ratio, mortar, and add desired variations. One of the great benefits of MightyTiles is its ease to set up and use.