Installation and activation
Simple material creation
Generated texture settings
Tile set parameters
Texture formation mechanism
Polygonal pattern import
Tile random parameter
Tile channels settings
QuickTiles is a texture plugin for 3d max. It cuts the texture you set into individual elements, and then reassembles it in the order you specify. It does NOT generate textures from thin air, according to the specified parameters. To use it, you need the original texture sets.
There are two main ways to work. The first is the reorganization of finished tile textures (which have separate elements and seams between them), such as brickwork or paving stones.
The second method is to cut and distribute solid textures, such as concrete, stone, or wood surfaces, into containers.
The entire working process in the QuickTiles can be divided into 3 stages. Adding the original texture and slicing in the Slice Editor, selecting or creating a layout pattern in the Pattern Editor, and setting up details and randomizations in the general texture interface inside the Material editor.
One of the main distinguishing features of QT is that it generates a seamless piece of texture of a certain size, which is set by the user himself. It can't generate an infinite texture, like the procedural Noise or Gradient.
For the best understanding of the instructions for using QuickTiles, we recommend reading the chapters in a row, without skipping additional materials and video instructions.
The Quick Tiles plugin is fully compatible and works in the 3d max version from 2018 to 2023
Currently supported render engines: Vray, Corona, Fstorm*
Working with Fstorm
Due to the complexity and specifics of Fstorm and similar GPU rendering engines, the first version of QucikTiles cannot work with it as directly as with Vray or Corona. Therefore, unlike them, when creating material in Fstorm, QT saves the texture as bitmaps to the hard disk, and then automatically loads them into Mat. editor as FstormBitmap. In this case, the QuickTiles node is not deleted.
To update the textures you should use "Save to plain texture" function. Unfortunately, due to the limitations of Fstorm, the bitmaps will need to be updated manually.
If you use the "Create Material" function, another new material will be created.
Don't try to connect Quick Tiles on one of the FStorm material channels. Put it on an empty Compact mat.editor slot or in an empty Slate mat.editor space
Installation and activation
1. ATTENTION! The plugin requires an active internet connection to work.
2. Run the plugin installation as administrator. The included archive must be located next to the file QuickTiles.exe at the time of installation, to install a new version, or update the libraries
3. Select the versions of 3d max that the plugin will be installed on (from 2018 to 2023)
4. The plugin library is installed in the current user's folder, in the QuickTiles subcategory
5. After installation, the plugin will appear in the list of textures, in the General tab
6. The free trial period is 14 days. No additional activation or registration is required
7. After 14 days, the plugin will stop working. This means that the test period (or paid subscription period) has expired and requires purchase and activation. Also in About section you can see "Subscription expired" notification
8. When purchasing a subscription on the site, BE SURE to provide a valid email address
9. After purchasing a subscription, click Activate in the About section
10. In the window that appears, enter the same email address that you used for the purchase and click Ok
11. Within a few minutes you will receive an email with a link to activate it
12. After clicking on this link, the plugin will be activated.
13. After restarting 3d max, the plugin will work correctly until the subscription ends.
14. 5 days before the end of the subscription period, "Subsription: 5 days left" notification will appear in About section
15. While the subscription is active, the Activation button is unavailable.
16. If you reinstall the plugin on a new computer or make significant changes to the hardware of the current one, perform the activation again according to the standard procedure. The plugin installed on the old computer will stop working.
17. There can be no more than 5 such re-activations for one year of subscription. If you have run out of activations, contact technical support (firstname.lastname@example.org) and we will try to find a solution to this problem.
QuickTiles 126.96.36.199 (25.03.2022)
Significantly improved operation stability
Significantly increased the speed of material generation
Significantly increased the speed of the Store function
Significantly increased the speed of HSV in the slicer (added multithreading)
Sliced tiles and material are no longer saved in the scene. Now QT does not affect its size
Increased recognition accuracy by disabling map reduction. Now you adjust the size of the bitmaps yourself and can slice them quickly, or slower, but as accurately as possible
Store to temp function – after activation, the material loads faster and can be rendered without a license
Store to scene function – the material is saved to the scene and can be transferred to another computer without additional actions, as well as rendered without a license
Result size is now always displayed in Store modes
Ability to move the library and temp files to another location during installation
Function of quickly reducing maps in the Slicer – now you can use smaller sources, while significantly speeding up the work. No additional disk space is required for these files
Search for source textures in case of loss. Now the plugin searches for them in the libs folder, as well as in the project folder, next to the max file and the maps folder
Bug with rows disappearing during regeneration
Bug with a crash when generating 8K materials
Pattern library – some patterns disappeared in the previous version
Crash when switching previews between channels. If there was no source bitmaps on the channel, there was a crash
Crash when trying to create a material without a selected pattern
Paving moorish 8179
Paving terrazzo 6178
Paving square 6287
Paving broken 7341
Paving snowy 3387
Paving snowy 3215
Paving grainy flat 3180
Roofing corrida 8762
QuickTiles 188.8.131.52 (18.01.2022)
Interface lock during updating
Patterns display during window scaling
The tile randomization mask did not work on render
Other minor bugs
Paving old city 5811
Wood ash 6871
Paving origami 6931
Paving antique 7375
Paving rounded 4379
Paving colour 1547
Paving modern 3177
Paving old city 1987
Paving hexagon 1834
Paving grained 1563
Paving rounded 6173
QuickTiles 184.108.40.206 (7.12.2021)
Partial multithreading. The speed of slicing and updating has increased significantly
Added the ability to create non-square patterns
Added the Save all QT to scene function. After activation, the scene can be transferred to another computer. The other user must have the plugin installed. No active subscription require!
Added the ability to render QT materials after the subscription ends (Store must be activated for this)
The distribution of aspect groups has been improved and has become neater
In Crop/Center mode, when aspect groups match, the tile switches to Stretch
Large preview works without any restrictions – you can make any zoom and expand to full screen
Updated indicators of container randomization
The Delete, Ctrl+C, Ctrl+V buttons now work in 2022 max as usual (without Shift)
The gap color on the Roughness channel is now white by default
Removed the Autoupdate button
Added recognition of texture names based on a template from Polygon
The interface on 4K monitors is working properly
Fixed the "thick" seams bug after closing/opening the scene
In PE and Slicer, when clicking on an empty zone, tiles were generated
Fixed crash when copying a QT node
Fixed: QT nodes remained instances after copying
Fixed normals for circular layouts
Fixed crash when enabling circular layout in polygonal patterns
When opening the Slicer, PE and gap color selection windows, the large preview is slightly reduced
Brick orange 3997
Brick red 6922
Bricks grey 4927
Paving red wet 3164
Paving simple wet 5736
Travertin yellow 7349
Stone blocks 6371
Paving granite 3168
Brick yellow 1383
Paving park 1785
Feature added to slicer:
Contrast correction in HSV
Direction of normals correction
Mark all & Unmark all functions added to Eraser
In the Slicer and PE, shortcuts (Ctrl+C, Ctrl+V & Delete) now works with Shift
Feature added common:
Position of the buttons in Generated texture settings section has been changed
CoronaPhysicalMtl is creates in Corona 7 now
When copying, the QT nodes in any case remained instances
In the slicer, when you press Enter, the plugin offered to reset the settings
Incorrect generation of the gaps normals
HSV operation in the slicer has been slightly accelerated
Small fixes in the slicer when working with nonsquare textures
Paving park 1785
Paving orange 8742
Brick old red 9439
Paving Tiara 4891
Paving simple 7468
Wood decking 5936
3d max 2022 support
Individual tiles sets loading
Subscription expiration notification. It will appear in the About section 5 days before the subscription end
Improved layout algorithm. Now the plugin tries to take unique source tiles and place same tiles far from each other
New Crop/Center algorithm. Now, for lengthening, the tile can be duplicated 2 or 3 times, and does not scale in height
Slicing was not saved to the library if Plain texture was checked
3d max crush when set zero dimensions of base tile or some other parameters. Now generation is disabled is this case
3d max crash when working with QT in the compact editor mode, on the diffuse of the standard material in the Corona render
The plugin didn't work on the last day of the subscription
When saving QT to the bitmap, the texture was generated reflected
Due to the new Crop/Center algorithm, vertical stripes appeared
When copying tiles in the slicer, new tiles appears highlighted now
Paving modern 4789
Paving park 4658
Paving concrete 5891
Rubber tiles 1978
Wood planks 8127
No warning message when trying to install plugin with working 3d max
Convert all QT to textures didn't work with non-latin characters
3dmax crush when trying to copy QuickTiles node
Offset tiles appears in slicer when container cross the border line
Copied QT nodes worked as instances
Other minor bugs
Tactile paving 6872
Bowtie paving 5973
Bowtie 2 pattern
Save generated mask to file
Slicer non-square preview
Overlapping tiles autoslice
Non-tiled tiles excluded from autoslice
Select smaller tiles in slicer
Select same aspect tiles in slicer
Group disabling in slicer
Full size texture preview in slicer
Slicer tools hotkeys (Ctrl+1 - Ctrl+6)
Procedural gap channels drag'n'drop
"Update" button hotkey — ctrl+space
Mask creation speed up
Some icons changed
False activating message changed
Pattern loss when canceling pattern editor
Source gap size in all patterns
Herringbone interactive pattern regeneration
Minor bugs and crushes
Paving wet 1379
Paving zigzag 6572
Red brick 3761
Red brick 3547
Penrose mosaic pattern
Wind stone 2 pattern
Fixed crush on empty texture viewport show
Fixed 3max 2018 tiles offset with 4K testures
Fixed vertical sliced elements excessive overlap
Fixed slicer second mode now called "Lines"
Fixed crush on mat.editor close/open
Fixed edit poly lags in 2021 max
Fixed "Convert all QT to plain textures" same file name issue
Paving simple 3184 texture
Shingles Hex 8174 texture
Wood planks 5102 texture
Simple material creation
Setting up any material in QuickTiles starts with adding the QT node itself. It is available from the list of General textures (1-2) in the Compact and Slate material editor. You don't need to create the material and connect QT on any channel. Add it to any slot in the compact editor or any place in the slate (3).
Then we go to the QT itself. By default, the bets start parameters that are set. The first step in the setup is to add a set of tiles (1) and open the Slice Editor (2).
Slice Editor is a QuickTiles module in which you enter the original textures and specify the borders of the tiles (or that the texture is seamless). For more information about all the module parameters, see the Help section Slice Editor
The input textures are entered in the Input maps zone (1). You need to select the Diffuse channel, and the other channels are recognized and loaded automatically. After that, you can mark up the tiles manually, or recognize them automatically (for more information, see the section Slice editor). We will show a more convenient path now and make recognition based on the Mask channel. Set the value of Gaps (2) to about 0.7 — this will indicate to the recognition module the approximate error when gluing the seams. And click Autoslice (3). Recognition by mask is almost instantaneous.
Also, you can select and add one of the already saved templates from the library (4). After completing the work, click Done (5). At this point, the texture is cut into tiles. The larger your sources and the number of channels, the longer the process will take.
The next step is to select the pattern. You can take one of the templates (1) from the Preset drop-down list, or open the Pattern editor (3) and create a new pattern. Also, for tiles that have original seams, set the width of the procedural seam to 0. This will disable the procedural seam and enable mixing of the original seams (2).
For example, let's create a simple pattern in the Pattern editor. Use the tool to create several tiles (1). Do not forget to reduce the field to the minimum required size (2). After creating the base pattern, you can fill the repeating part with the Fill gaps button (3). You can also select any template from the library. When you finish, click Done (5).
For more the details of the Pattern editor, see the corresponding section.
In fact, our texture is ready. Now we can make various settings in the internal interface, set randomizations, etc. For reference, we have added a light preview of the texture.
When everything is ready, you can set the size (1) and resolution (2) of the output texture piece. We recommend testing the settings on a small size (2x2 meters, 2048 px).
After that, click the Update button (3). At this point, the finished texture is built and written to temp. All changes in the material and on the render will appear only after clicking the Update button. The process of creating a texture can take 2-3 seconds on small resolutions, and 3-7 minutes on top sizes of 16-32K
After completing the process, click the Create material button. The plugin automatically recognizes your render engine (Vray, Corona, or Fstorm), and creates the appropriate material, with the correct configuration. Texture channels will be added according to the source texture.
Other render engines will be added later.
The algorithm for working with Fstorm is different from working with Vray and Corona. See Compatibility/ working with Fstorm
На этом все! Материал создан и готов к настройке. QuickTiles работает с интерактивным рендером как в Vray, так и в Corona, так что можно смело использовать его в процессе. При повторном нажатии на Create material, будет создан еще один материал, так что будьте осторожны.
That's it! The material is created and ready for customization. QuickTiles works with interactive rendering in both Vray and Corona, so you can safely use it in the process. Be careful, if you click on Create material again, another material will be created.
Quick Tiles channel is an auxiliary texture that specifies which QuickTiles channel to feed to the material slot. The fact is that 3d max can't produce more than one output from a single texture. Therefore, in order not to generate and configure each channel of the material separately, we created a scheme in which the main QuickTiles texture feeds all the channels at once, and the QuickTiles channel nodes select and pass on only the necessary one.
The interface of the node itself is very simple:
In the material structure, it is located between the main QT node and the material. In its interface, there are only two parameters — a drop-down list with the names of channels to choose from, and a slot for connecting the main QT texture.
Attention! When connecting normal maps, you do not need to enable gamma correction, since QTC node automatically corrects the gamma.
Generated texture settings
This tab contains technical settings that are responsible for the size and resolution of the created texture, as well as buttons for saving and updating textures.
Patch width — width of the created texture in scene units
Patch height — height of the created texture in scene units
Initial size — input for the desired physical size of the created texture
Result size — displays the resulting physical size of the texture. Works only when the enlarged preview is open.
Due to the complexity of the tiled texture formation mechanism and the desire to create a texture in which the tiles will be as close as possible to the size set by the user, it is impossible to accurately get into the size of the patch set by the user. For this purpose, fields of the desired and final size were created. Read more about this in the section "Texture formation mechanism»
Seed — randomization number. Changes the randomization version for the current settings.
Resolution — the resolution of the created texture in pixels.
Update — generates channel textures according to the QuickTiles settings
Create material — creates a material based on the loaded texture channels. The required material type is determined automatically for Vray and Corona.
For FStorm, separate bitmaps are saved and loaded onto the material. At the same time, the QuickTiles node remains in Mat. editor
Save as plain texture — saving the resulting texture to a regular bitmap
Store to temp — saves the QT texture to a special temp file. The next time you open the scene, the texture is not generated, but is read from the file. This significantly reduces the opening time. In this case, the interface is locked — to unlock it, click the Store button again. The created temp file will be deleted.
The materials saved in this way will be rendered even without an active subscription.
Store to scene — saves the QT texture to a scene file (.max). The next time you open the scene, the texture is not generated, but is read from the .max file. This significantly reduces the opening time. This operation increases the size of the scene. In this case, the interface is locked — to unlock it, click the Store button again. The material will be deleted from .max file.
The material saved in this way can be easily transferred from the scene to another computer, and it will also be rendered without an active subscription.
Due to the complex technical features of Quick Tiles, we recommend that you work in it as if you are using centimeters as scene units. In this case, the appearance of the quick preview will be more correct.
For example, if you need to create a 2000x2000 mm parquet texture with a board size of 600x60 mm, set the values 200x200 for the Initial Patch size, and 60x6 for the base tile size. When applying to the surface, set the mapping to 2000x2000 mm.
For distributed rendering:
1. Install the Quick Tiles plugin on all render nodes
2. Activation of the plugin on additional computers is not required.
3. Activate the Store to scene function in all QuickTiles materials
Tile set parameters
In this tab, you can add sets of tiles and adjust the parameters of their distribution.
Add bitmap tile set — adds an empty set of bitmap tiles
Add color tile set — adds an empty set of single-color tiles
Noise type — choose between a simple uniform mix of tile sets and a custom map. (see examples below)
None field —adding a custom map for mixing sets.
Add tiles — opens the bitmap tile slicing editor (Slice editor, SE).
Bitmap set name — the name of the tile set selected in SE is displayed here.
Probability — the frequency of appearance of tiles of this set in the final texture. Works if more than one set is added.
— change the order of the set in the stack. The order depends on the position when using a custom distribution map (see the examples below)
— deleting a set.
— duplicate the set.
Tile set id's — opens a window for selecting the ID numbers of the pattern tiles to which this set will be distributed. You can select one or more numbers.
For more information, see the section Tile ID
Color Field — opens the channel settings for a single-color set.
New color set (main interface) - the name specified in the channel settings of the single-color set is displayed here.
New color set (window) — here you can set the name of a single-color set
Diffuse, reflect, roughness... — setting the colors of the set channels. If you leave the color completely black, the channel will not be generated.
Examples of how to use custom maps of the distribution of a set of tiles
Example 1. Noise type — regular, three sets of bitmaps.
Example 2. Noise type — Custom map, Gradient, three sets of bitmaps.
You can use any black and white image as a custom map of the sets distribution. In the final texture, the tile sets will be distributed over a range of grayscale colors according to their position on the stack. The lower the set correspond to the darker image area. And vice versa - the upper sets correspond to the light zones of the user distribution map. In the example, you can see that the yellow bricks located at the top of the stack appeared in the lightest part of the gradient.
Example 3. Noise type — Custom map, Radial gradient, three sets of bitmaps.
Example 4. Noise type — Custom map, Clouds noise, three sets of bitmaps.
The entire process of working in QuickTiles can be divided into three parts: the first — adding the original textures, the second — creating a new layout pattern, and the third — setting up the details and randomizations of the layout.
Slice editor (SE) is a small additional module in which the first stage of work is carried out — adding the original textures and cutting them into separate tiles. Here you can add or change sources, save or extract sets from the library, recognize individual tiles automatically or specify them manually, as well as edit the cutting. It is also possible to import or export the finished slicing
The SE consists of three sections. On the left, in the red zone, there is a library of cuts. Here you can see all the saved and imported cuts by the user, as well as the cuts supplied with the plugin.
In the center, in the yellow zone, is the viewport window, where the selected texture channel and the created slicing are displayed.
On the right, in the blue area, there are settings for slicing and the source texture displayed. Let's see the composition of all the elements in more detail.
— search by name and tags
Category — select the cut category
Create set from texture — create a new slicing from a solid texture. Resets the interface and all settings.
Create set from individual tiles — creating the cutting of already pre-cut tiles. In the first version of the plugin, this feature is disabled.
Icon of the finished cut saved in the library.
Double-click on the icon - loads the slicing and all settings to SE. A right-click will open the context menu.
Duplicate — duplicates a set in the library
Rename — rename a set in a library
Delete — deleting a set
Save to file — export set (when you exporting the slice, the source bitmaps are written to the file, so you do not need to transfer them separately)
Slicing and source texture settings
Import tile set — import the ready slicing from a file. When importing, the source bitmaps saved in the slicing file will be unzipped into a folder C:\Users\your_user\QuickTiles\libs
Save (to library) — saving the slicing with the settings to the library. When saving to the library, the original bitmaps are not duplicated, and are loaded from the place where they were originally. Therefore, do not delete or move the original bitmaps used to create the slicing, otherwise the slicing will load empty.
You cannot save or change the source files of the library.
— tools for creating and editing slicing
— slicing creation and editing modes
— Mode 1, the generation of the grid. In this mode, you can create a grid of lines that will be slice a texture and move it away from the edges. Tools and manual editing are not available here.
Preset — choosing a grid pattern — standard or herringbone
Vertical — количество вертикальных линеек
Horizontal — number of vertical lines
Row offset — the distance by which the row is shifted
N row offset — number of offset rows
Usually we need to slice a texture where the original tiles are not under each other, but are offset by a certain distance. For example, bricks are often laid off by 50% every second row, and laminate, with an offset of every second row by 1/3, and every third row by 2/3. The Row offset and N row offset functions allow you to create a grid for such layouts. If you set the offset to 66 and the row number to 2, you will get a grid like in the example. Every second row from the original row will be shifted by 66%, and every first row will be shifted by half of this distance.
Cropping — grid offset from the edges
Top — top edge offset
Bottom — bottom edge offset
Left — left edge offset
Right — right edge offset
— The second mode is manual editing mode of the grid. In this mode, you can manually shift the slicing lines, adjusting to the imperfections of the texture. Some of the tools are available here.
— Move tool. Shifts the horizontal rulers along the entire length of the grid, and the vertical ones in the limits of the two closest horizontal ones.
— Erase tool. Deletes rulers. The horizontal lines are removed along the entire length of the grid, leaving the ones above as vertical lines.
— Cut tool. Adds a new line. To create a horizontal slice, hover over the nearest vertical ruler and you will see a preview. To create a vertical slice, hover over the existing horizontal one.
Functions Preset, Vertical, Horizontal, Row offset, N row offset and Cropping are blocked in the second and third mode.
Returning to the previous mode from the previous ones will cancel all the changes made.
— In the third mode you can edit individual tiles manually. Move the finished tiles, rotate them, remove , cut , etc. All the tools are available here.
— Move tool. Offset the tiles. To select multiple tiles, use Ctrl. You can also use the keyboard arrows to move tiles.
— Rotate tool. Rotates the tiles around the center.
— Scale tool. Stretches the tile by the selected side. The rotated tiles will stretch in local coordinates.
— Erase tool. Turns off the tiles by marking them yellow. These tiles will not be used in the layout. They can be turned on at any time. Erase+Shift — complete removal of tiles. You can also delete a tile by pressing Delete.
— Cut tool. Cuts the tile vertically. Cut+Ctrl - cuts horizontally.
— Create tool. Creates a new tile.
In this mode, copying tiles via Ctrl+C/Ctrl+V works, as well as steps back via Ctrl+Z.
IMPORTANT: create tiles so that the blue area overlaps the tile surface and does not go into the seam.
The following parameters are not dependent on the slicing mode.
Vertical offset — vertical offset of the texture
Horizontal offset — horizontal offset of the texture
Rotate — texture rotation
Plain texture — enable this option if you want to randomly distribute a texture inside the containers that initially has no seams, such as marble or granite slabs, concrete, stone, wood, etc.Other slicing settings are not required in this case and will be blocked.
Tiling vertical — indicates that the texture is seamless vertically
Tiling horizontal — indicates that the texture is seamless horizontally
Reduces the original texture to 12%, 25% or 50%.
Often, a large size of the original texture is not required, and only slows down the plugin. This function allows you to reduce the size of the source files in the process of work, and does not require saving and storing separate sets of smaller textures.
Gaps — specifies the width of the gripped seams. Set this value so that the red area of the tile slightly overlap the neighboring one, or less if you want to reduce the original seam.