Many of you asked for more insight on how-to use the procedural texture plugin – MightyTiles by Mighty Instruments, the procedural texture tiling plugin for 3d Studio Max. Peter Guthrie has been using it for some time now, with great success and kindly explains the process of creating a relatively simple material but also one that would be much more difficult to do without using a plugin such as MightyTiles. This isn’t intended as a complete tutorial, but it does cover some of the harder to grasp aspects of MightyTiles. Enjoy!
Peter Guthrie is a well-known freelance visualization artist currently based in London, UK. He studied Architecture at Edinburgh College of Art from 1995-2000, then worked for a number of Architect’s Practices including Richard Murphy Architects. He now specialize in 3D graphic arts and work freelance producing visuals for a wide range of project types.
The success in a mosaic tile material lies in the subtle variation in the reflections and position of each tile. To do this manually in Photoshop would involve a lot of painting and masking and the process becomes very laborious when dealing with large areas where you don’t want to see any repetition.
Setting Up Your Material for MightyTiles
Add a MightyTiles Map to the diffuse slot of your material.
Add a MightyTiles Slave Map to the reflection slot, and then instance the previous MightyTiles Map in there. You should then change the drop down menu to reflection. You can optionally nest this slave map inside an output map or color correction map for more control.
Instance the main MightyTiles Map to your bump map slot if needed. (For some materials displacement by itself is sufficient). Do the same for displacement. I normally use 2d displacement so in that case instance it to your VRayDisplacementMod modifier.
See a screenshot showing my finished material set up below. Note that I have instanced the displacement slot to a VRayDisplacementMod modifier as I want to use 2d displacement rather than 3d displacement.
You can of course do the same as for the reflection map in the reflection glossiness slot, maybe with an output map to alter it as needed.
Preparing Texture Maps
For this simple material, I am only going to use one tile texture, along with its corresponding reflection, alpha, and displacement maps.
In this case I just made the diffuse map from scratch, normally I take photos of the actual material I am trying to recreate. The alpha map works best if there is a sharp line between black and white (I think!), and the displacement map is just a copy of the alpha map with a bit of gaussian blur to round the edges of the tile. When making reflection, displacement and bump maps, try to think logically about what the different grayscale values are doing to the material. It makes sense to get the first tile material correct before doing the rest of them! For most materials I make between 5 and 15 unique tile maps, depending on the quality of the base photography. You can easily test the material with just a few and then add more until it looks good enough.
Loading the Texture Maps into MightyTiles
In the tiles roll up you can specify one or more tile ‘set’. I haven’t used more than one yet, but it’s potentially useful. To edit your tile set, click tile overview to bring up the tile editor (image below). This is where you load in all the maps you have prepared in Photoshop. The group rollout on the right might be closed by default.
A lot of the options in the tile designer are redundant, but one to take note of is the frequency value… very useful if you have some tiles that you only want them to appear occasionally.
Remember that I’m deliberately using just one tile for this mosaic material, normally the tile designer would look more like this
UVW Mapping / No. of Rows
I generally set the UVW mapping to cover the wall or object you are texturing so that you don’t see any repetition (MightyTiles <strong>does</strong> repeat out with the bounds of the UVW mapping), and then set your number of rows from there. The aspect ratio in MightyTiles is affected by the UVW mapping, so I find it easiest to keep the mapping to a strict box (see below) so that I can control the aspect ratio in MightyTiles.
Say if you have a 6m high brick wall, you would set your UVW mapping to 6m x 6m x 6m and then divide the height of the wall by the brick course height, so 6/0.075 as the normal course height for bricks is 75mm (65mm brick height plus 10mm mortar joint). 6/0.075 is 80 so you put 80 into the number of rows in the common section of the MightyTiles interface.
Mortar / Gaps and Randomization
It’s important to understand the relationship between the original mortar and the procedural mortar.
The procedural mortar, toned blue in the examples below, pads out the map to each side of the original tile by the amount you specify in the common mortar section (horizontal and vertical can be set individually). It is only when you have those values greater than 0 that the random movement and rotation become effective so I usually only include a small amount of mortar when preparing the bitmaps (ie I crop them quite tightly).
a : tile with a small amount of original mortar, and procedural mortar toned blue for clarity.
b : tile slightly rotated (all rotation happens within the bounds of the procedural mortar.
c : the effect of the ‘blend mortars’ value, at 0.5
d : the effect of the ‘blend mortars’ value, at 1.0, effectively removing the original mortar completely back to the alpha mask.
Once you have your mortar set up correctly, you can get on with the fun part of adding variation to your material. There are lots of ways of doing this firstly in the Randomization rollout:
- Randomizing the rotation, position and scale.
- Randomizing the hue, saturation and value (brightness).
- You can even add image based color control although I find the functionality a bit lacking here. (Would be great if the image could affect the material in different ways e.g. with blending modes).
and secondly in the Surface rollout:
- Each tile can have a different amount of displacement (& bump), and you can even tilt the tile in a random direction.
- Differing amounts of reflection can be really useful for certain materials
Something I find very useful when adjusting the various parameters in MightyTiles is to make a MightyTiles Slave Map in the diffuse slot of an empty material in the material editor and then instance your MightyTiles Map in there. You can then change the drop down to displace or reflection etc. (see image below) and get visual feedback on what is actually happening to that map when you adjust the various parameters. If you have a lot of rows you can temporarily lower it while you work on the material so that you can see what is happening.
In the image below I have changed the number of rows to 5 so that the mortar shows up more clearly, and am experimenting with the procedural mortar displacement amount. As you can see from the follow on images, changing the amount from 0.5 to 1 effectively brings the mortar closer to the surface of the tiles.
Mortar displacement amount 0.5
Mortar displacement amount 1.0
Completed mosaic tile image
Same material, but with half the number of rows, and a dark grey mortar.
Feel free to ask questions, I’ll do my best to answer them here. A reminder also that the best place to leave feedback and get help with MightyTiles is on Ronens Forum MightyTiles Information & Help thread.