Common information

Compatibility

Installation and activation

Release notes

Simple material creation

Generated texture settings

Render nodes

Tile set parameters

Slice editor

Normals workflow

Pattern parameters

Pattern editor

Texture formation mechanism

Polygonal pattern import 

Tile ID

Tile random parameter

Bitmap-in-container

Procedural gap

Tile channels settings

Workflow optimization

Common information

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.


Compatibility

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.

Re-activation

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 (support@quick-tiles.net) and we will try to find a solution to this problem.

Release notes

QuickTiles 1.0.8.3 (25.03.2022)

Improved:
   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

Feature added:
   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

Fixed:
   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


Library:

   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 1.0.8.2 (18.01.2022)

Feature added:

   Interface lock during updating

Fixed:

   Patterns display during window scaling

   The tile randomization mask did not work on render

   Other minor bugs


Library:

   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 1.0.8.0 (7.12.2021)

Feature added:

   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)

Improved:

   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

Small improvements:

   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

Fixed:

   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


Library:

   Brick orange 3997

   Brick red 6922

   Bricks grey 4927

   Geomesh 1549

   Paving red wet 3164

   Paving simple wet 5736

   Travertin yellow 7349

   Stone blocks 6371

   Paving granite 3168

   Brick yellow 1383

   Paving park 1785


QuickTiles 1.0.7.4

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

Fixed:

   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

Small improvements:

   Improved autoslicing

   HSV operation in the slicer has been slightly accelerated

   Small fixes in the slicer when working with nonsquare textures


Library

   Paving park 1785

   Paving orange 8742

   Brick old red 9439

   Paving Tiara 4891

   Paving simple 7468

   Wood decking 5936


QuickTiles 1.0.7.3

Feature added:

   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

Fixed problems:

   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

Library

   Paving modern 4789

   Paving park 4658

   Paving concrete 5891

   Rubber tiles 1978

   Wood planks 8127


QuickTiles 1.0.7.1

Fixed problems:

   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

Library

   Tactile paving 6872

   Bowtie paving 5973

   Bowtie 2 pattern


QuickTiles 1.0.7.0

Features added:

   Slicer zoom

   Slicer HSV

   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

Fixed problems:

   Pattern loss when canceling pattern editor

   Source gap size in all patterns

   Herringbone interactive pattern regeneration

   Minor bugs and crushes

Library

Paving wet 1379

Paving zigzag 6572

Red brick 3761

Red brick 3547

Penrose mosaic pattern

Wind stone 2 pattern


QuickTiles 1.0.6.0

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

Loading accelerated

Fixed edit poly lags in 2021 max

Fixed "Convert all QT to plain textures" same file name issue

Library

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 node

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.

Scene units

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

4. Done!

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.

Slice Editor

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.

Slicing Library

 — 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.

Texture placement

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

Texture scaling

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.

Options

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.