Общая информация

Совместимость

Установка и активация

Изменения в версиях

Настройка простого материала

Generated texture settings

Render nodes

Tile set parameters

Slice editor

Работа с нормалями

Pattern parameters

Pattern editor

Механизм образования текстуры

Polygonal pattern import 

Tile ID

Tile random parameter

Bitmap-in-container

Procedural gap

Tile channels settings

Оптимизация скорости работы

Работа с бибилиотекой

Общая информация

QuickTiles это плагин-текстура для 3d max. Он нарезает заданную вами текстуру на отдельные элементы, а потом пересобирает в указанном вами порядке. Он НЕ генерирует текстуры из ничего, по заданным параметрам. Для его использования необходимы исходные наборы текстур.

Существуют два основных варианта работы. Первый — реорганизация готовых плиточных текстур (у которых есть отдельные элементы и швы между ними), вроде кирпичной кладки или брусчатки.

Второй — нарезка и распределение по контейнерам цельных текстур, вроде бетонной, каменной или деревянной поверхности.

В целом весь процесс работы в QuickTiles можно разделить на 3 этапа. Внесение исходной текстуры и нарезка в Slice Editor, выбор или создание рисунка раскладки в Pattern Editor, и настройка деталей и рандомизаций в общем интерфейсе текстуры внутри Material editor.

Одним из основных отличительных моментов работы QT является то что он генерирует бесшовный кусок текстуры определенного размера, который задает сам пользователь. Он не может сгенерировать бесконечную текстуру, вроде процедурного Noise или Gradient.

Для наилучшего восприятия инструкции по использованию QuickTiles, мы рекомендуем читать главы подряд, не пропуская дополнительные материалы и видео инструкции.


Совсместимость

Плагин Quick Tiles полностью совместим и работает в 3d max версии с 2018 по 2024

На данный момент поддерживаются рендер движки: Vray, Corona, Fstorm

Работа с Fstorm

В связи со сложностью и спецификой работы Fstorm и подобных ему GPU рендер движков, первая версия QucikTiles не может работать с ним так же напрямую, как с Vray или Corona. Поэтому в отличии от них при создании материала в Fstorm, QT сохраняет текстуру в виде битмапов на жесткий диск, и потом автоматически подгружает их в Mat.editor в виде FstormBitmap. При этом нода QuickTiles не удаляется. 

Для обновления текстур следует использовать функцию Save to plain texture. К сожалению, из-за ограничений Fstorm битмапы нужно будет обновить в ручную. 

В случае использования функции Create Material, будет создаваться новый материал.

Не пытайтесь встроить QuickTiles на один из каналов материала Fstorm. Вкладывайте его на пустой слот Compact mat.editor или в пустое пространство Slate mat.editor

Установка и активация

1. ВНИМАНИЕ! Для работы плагина требуется активное подключение к интернет.

2. Запустите установку плагина от имени администратора.

3. Выберете версии 3d max, на которые будет установлен плагин (с 2018 по 2024)

4. Библиотека плагина располагается папку текущего пользователя, в подкатегорию QuickTiles. Все файлы скачиваются по указанию пользователя из интерфейса плагина. Библиотеки обновляются раз в неделю автоматически, или в любой момент, в ручную, в секции About.

5. После установки, плагин появится в списке текстур, во вкладке General

6. Бесплатный тестовый период составляет 14 дней. Дополнительная активация или регистрация не требуется.

7. По истечению 14 дней плагин перестанет работать. Значит тестовый период истек и требуется покупка и активация. Так же в секции About появится уведомление Subscription expired

8. При покупке подписки на сайте, ОБЯЗАТЕЛЬНО укажите действующий эл. адрес.

9. После приобретения подписки, нажмите кнопку Activate в секции About


10. В появившемся окне введите тот же эл.адрес, что использовали при покупке и нажмите Ok

11. В течении нескольких минут вам придет письмо со ссылкой на активацию

12. После перехода по этой ссылке произойдет активация плагина.

13. После перезагрузки 3d max, плагин будет корректно работать до окончания подписки.

14. За 30 дней до окончания срока подписки в секции About появится точное количество оставшихся дней 

15. Пока подписка активная, кнопка Активации недоступна.

Переактивация

16. При переустановке плагина на новый компьютер или значительных изменениях в железе текущего, проведите активацию повторно по стандартной процедуре. Плагин установленный на старом компьютере перестанет работать.

17. Таких переактиваций может быть не больше 5 на один год подписки. В случае если у вас закончились активации, обратитесь в техподдержку (support@quick-tiles.net) и мы попробуем найти решение этой проблемы.

Изменения в версиях

QuickTiles 1.2.0.3 (7.03.2024)

   Значительно улучшена стабильность и быстродействие
   Небольшие улучшения в работе инструментов и внутренних процессов
   Алгоритм работы с направлением значительно улучшен
   Библиотека Пресетов оптимизирована под новую версию
   Отключение автообновление превью теперь мгновенное
   Улучшен алгоритм поиска в библиотеках Пресетов, Паттернов и нарезок
   Исправлены все известные вылеты
   Улучшена стабильность работы с круговыми раскладками в младших версиях 3д макс


QuickTiles 1.2.0.2 (12.12.2023)

Слайсер:
   Исправлена проблема с перевернутыми на 180 градусов плитками
   Окно HSV в слайсере теперь масштабируется под разрешение экрана
   Добавлено перекрестье через середину плитки в слайсере
   Доработан алгоритм перемещения выбранной плитки на передний план в слайсере
   Исправлено пропадание и невозможность выделить плитки в слайсере и PE после копирования

Редактор паттернов:
   Добавлена кнопка Set tiling box, которая устанавливает зону повторения внутри PE

Общие исправления и улучшения:
   Глубина генерации краев дисплейса сделана более равномерной 
   Улучшен алгоритм сглаживания формы при генерации дисплейса
   Улучшено открытие старых сцен
   Улучшена работа с направлениями в сложных случаях
   Убрана генерация центра в круговых раскладках
   Масштаб цельной текстуры в плитках больше не зависит от разрешения
   Масштаб эффекта дисторсии края больше не зависит от разрешения
   Доработки по обновлению интерфейса в 24 максе при переключении между нодами

   Исправлено появление артефактов на границах плиток
   Исправлен баг с неверным размером канала маски в Короне
   Мелкие и крупные исправления и повышение стабильности

  

QuickTiles 1.2.0.0 (10.10.2023)

Добавлено общее:

   Загрузка библиотеки прямо из интерфейса плагина
   Размер установочного файла теперь около 50 мб
   Установка теперь через EXE, больше никаких лишних архивов
   Автообновление библиотек внутри плагина

Слайсер:
   Нумерация плиток в слайсере (дебаг)

Редактор паттернов:
   Новый способ импорта Полигонального паттерна

Общие исправления:
   Исправлен баг с зависанием интерфейса ноды в 24 максе
   Мелкие исправления и повышение стабильности


QuickTiles 1.1.0.1 (4.08.2023)

   Добавлена поддержка версия для 3д макс 2018-2022
   Упрощен импорт полигональных паттернов
   Исправлена ошибка создания неровного края
   Новый режим настройки ориентации плиток - Ctrl+Shift+Click - в направлении вертекса
   Мелкие исправления и повышение стабильности


QuickTiles 1.1.0.0 (30.06.2023)

Добавлено общее:

   Версия для 3дмакс 2024
   QuickTiles Lister - общий список всех нод QT в сцене + возможность пакетной обработки
   Добавлена библиотека готовых пресетов со всеми настройками материала. Загрузил - и можно сразу рендерить.
   Дисплейсмент теперь обрабатывается в 16 бит. Это дает возможность работать с объемными гладкими поверхностями без артефактов, даже в отражениях.
   Полностью переделан алгоритм генерации скругления на краях плиток. Появилась возможность процедурно создавать объем плиток любой формы.
   Возможность отключения автоапдейт превью. Это значительно ускоряет настройку материала.
   В большом превью добавлена возможность переключения между каналами и апдейте превью и материала. Функции вызываются правым кликом мыши.
   Добавлены подсказки ко всем параметрам на русском и английском (включается в зоне About)

Добавлено слайсер:

   Значительно ускорена автонарезка (происходит за 1-2 секунды)
   Возможность установить на любой канал простой ровный цвет.
   Значительно упрощен механизм добавления индивидуальных плиток
   Добавлена функция Outline - равномерно изменяет размер выбранных плиток
   Автоудаление мелких мусорных плиток при автослайсе
   Теперь история операций в третьем режиме работает правильно

Добавлено Pattern Editor:

   При экспорте паттерна, плагин распознает заданные плиткам ID от 1 до 40
   Регулировка колесиком мыши размера стрелки при работе с инструментом Orient

Небольшие поправки

   На открытии сцены материалы теперь апдейтятся по очереди. Это ускоряет загрузку и повышает стабильность.
   При редактирование канала дифуза в слайсере (HSV) - цвет иконки в главном интерфейсе тоже поменяется
   Размеры в полях Result size не пропадают и меняются только по нажатию Update или при открытии большого превью
   При переименовании нод QT имя теперь сохраняется после перезагрузки сцены
   В зоне About теперь отображается точный срок лицензии (когда он меньше 30 дней)
   В окно Update добавили совет по включению Store to temp
   Добавлено предупрждение при удалении наборов в слайсере и PE
   Убраны артефактные микрошвы при установке всех швов на 0
   Плагин больше не рушит 3д макс, из-за отсутствия интернета


Библиотека:

   Оптимизирован размер файлов

   Сбалансирован оттенок и яркость некоторых карт

Добавленные текстуры:

   Paving long brown 4317

   Paving tactile 7145

   Wood planks 7543

   Paving rounded 4380

   Brick grey 4717

   Wood planks grey 9351

   Paving rounded 4381

   Paving salmon 4167

   Paving red square 1789

   Paving simple colored 7183

   Paving park wet 4659

   Paving bowtie 5974

   Paving fishscale 5198

   Paving grassy 6623

   Brick red black 7137

   Paving brown 4316

   Paving rounded red 6174

   Paving rounded yellow 6175

   Stone tiles old 2731

   Shinglas brown 3176

   Paving trapeze 9174

   Paving sandstone 3030

   Paving sandstone 7444


QuickTiles 1.0.9.1 (19.09.2022)

Добавлено:

   Возможность задавать ID плиток внутри слайсера
   Возможность выделения всех плиток в заданном ID двойным кликом в слайсере и PatternEditor
   Возможность задавать принудительно направление плиток в слайсере и PatternEditor
   Тилт дисплейсмента следует за направлением плиток
   Иконки в библиотеку слайсера
   Доработан механизм отмены действий в слайсере и PE
   Добавлена возможности перетаскивания текстур между слотами в слайсере
   При потере текстур в слайсере сохраняются их названия
   Упрощено создание полигональных паттернов

Исправлено:

   Контраст в Color correct в слайсере теперь работает аккуратнее
   Проблема выделением плиток в PE при масштабировании окна
   Добавили зум в окно автослайса и сделали его исходный размер небольшим
   Деформация плиток при работе в слайсере с вытянутыми текстурами
   Убрали вылет слайсера при создании новых плиток
   При удалении наборов из библиотеки раньше загружалась самая первая нарезка

   Значительно повышена стабильность плагина
   Повышена скорость работы плагина
   Повышена стабильность при переносе сцены и сохранении в другую версию Макса

Небольшие поправки

   Патчи стали более квадратные
   Добавили окошко статуса во время нарезки плиток в Слайсере
   Убрали вертикальное отзеркаливание средней части при работе алгоритма Crop/center
   Немного изменили параметры плагина по-умолчанию
   Немного изменили настройки базового материала в V-ray и CoronaLegacy
   Генерация плиток в слайсере при нарезке в 1 и 2 режиме стала аккуратнее


Библиотека:

   Оптимизирован размер файлов

   Сбалансирован оттенок и яркость некоторых карт

Добавленные текстуры:

   Paving long brown 4317

   Paving tactile 7145

   Wood planks 7543

   Paving rounded 4380

   Brick grey 4717

   Wood planks grey 9351

   Paving rounded 4381

   Paving salmon 4167

   Paving red square 1789

   Paving simple colored 7183

   Paving park wet 4659

   Paving bowtie 5974

   Paving fishscale 5198

   Paving grassy 6623

   Brick red black 7137

   Paving brown 4316

   Paving rounded red 6174

   Paving rounded yellow 6175

   Stone tiles old 2731

   Shinglas brown 3176

   Paving trapeze 9174

   Paving sandstone 3030

   Paving sandstone 7444


QuickTiles 1.0.8.3 (25.03.2022)

Добавлено:

  Функция Store to temp – после активации материал быстрее загружается и можно рендерить без лицензии
   Функция Store to scene – материал сохраняется в сцену и может быть передан на другой компьютер без дополнительных действий, а также рендерится без лицензии

   В режимах Store теперь всегда отображается Result size
   Возможность перенести библиотеку и темп файлы в другое место при установке
   Функция быстрого уменьшения карт в Слайсере – теперь вы можете использовать исходники меньшего размера, при этом значительно ускоряя работу. Дополнительного места на диске для этих файлов не требуется

   Добавлен поиск исходных текстур в случае потери. Теперь плагин ищет их в папке libs, а так же в папке проекта, рядом с макс файлом и папке maps

Исправлены баги и проблемы:
   Баг с пропадающими при регенерации рядами
   Баг с вылетом при генерации материалов 8K

   Библиотека паттернов – некоторые паттерны пропали в прошлой версии
   Вылет при переключении превью между каналами, если на канале не было исходника
   Вылет при попытке создать материал без выбранного паттерна

Улучшено:
   Значительно повышена стабильность работы
   Значительно повышена скорость генерации материала
   Значительно повышена скорость работы функции Store
   Значительно повышена скорость работы HSV в слайсере (добавлена мультипоточность)

   Нарезка и материал больше не сохраняются в сцене. Теперь QT не влияет на ее размер
   Увеличена точность распознавания, за счет отключения уменьшения карты. Теперь вы сами регулируете размер карт и можете распознавать быстро, или медленнее, но максимально точно


Добавлено в библиотеку:

   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)

Добавлено:

   Блокировка интерфейса во время обновления материала

Исправлены баги и проблемы:

   Отображение паттернов во время масштабирования окна

   Маска рандомизации плиток не работала во время рендера

   Другие мелкие ошибки


Добавлено в библиотеку:

   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)

Добавлено:

   Частичная мультипоточность. Скорость нарезки и апдейта значительно возросла

   Добавлена возможность создавать неквадратные паттерны

   Добавлена функция Save all QT to scene. После активации сцену можно передавать на другой компьютер. Другой пользователь должен иметь установленный плагин. Активная подписка не нужна!

   Добавлена возможность рендерить материалы QT после окончания подписки (для этого должен быть активирован Store)

Улучшено:

   Доработано распределение аспектных групп стало аккуратнее

   В режиме Crop/Center при совпадении аспектных групп плитка переключается на Stretch

   Крупное превью теперь работает без ограничений – можно сделать любой зум и развернуть на весь экран

   Уточнены показатели рандомизации контейнеров

Небольшие доработки:

   Кнопки Delete, Ctrl+C, Ctrl+V теперь работают в 2022 максе как обычно (без Shift)

   Цвет шва на канале Roughness теперь по умолчанию белый

   Убрана кнопка Autoupdate

   Добавлено распознавание названий текстур по шаблону от Polygon

Исправлены баги и проблемы:

   Исправен интерфейс на 4К мониторах

   Исправлено появление «толстых» швов после закрытия/открытия сцены

   В PE и Слайсере при нажатии на пустой зоне, генерировались плитки

   Исправлен вылет при копировании ноды QT

   Исправлено: ноды QT после копирования оставались инстансами

   Исправлены нормали при круговых раскладках

   Исправлен вылет при включении круговой раскладки в полигональных паттернах

   При открытии окон Слайсера, PE и выбора цвета шва большое превью немного уменьшается


Добавлено в библиотеку:

   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

Добавлено слайсер:

   Коррекция контраста в HSV слайсера

   Коррекция направления нормалей в HSV

   У стерки в слайсере добавлена функция включить все плитки

   В 3ds max 2022 в слайсере и PE работа кнопок Delete и копирования организована через Shift

Добавлено общее:

   Изменено положение кнопок в секции Generated texture settings

   В Corona 7 теперь создается CoronaPhysicalMtl

Исправленные проблемы:

   При копировании нод QT, они, в любом случае, оставались инстансами

   В слайсере при нажатии Enter плагин все время предлагал сбросить настройки

   Неправильная генерация нормалей швов

Мелкие доработки:

   Улучшено распознавание

   Немного ускорена работа HSV в слайсере

   Небольшие правки в слайсере при работе с вытянутыми текстурами


Добавлено в библиотеку:

   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

Настройка простого материала

Настройка любого материала в QuickTiles начинается с добавления самой ноды QT. Она доступна из списка текстур General (1-2) в Compact и Slate material editor. Вам не нужно предварительно создавать материал и устанавливать QT на какой-либо канал. Добавьте ее в любой слот компактного мат.эдитора или любое место слейта (3).

После переходим в сам материал. По умолчанию тут заданы параметры удобные для начала работы. Первым шагом в настройке будет добавление набора плиток (1) и открытие Slice Editor (2).

Slice Editor это модуль QuickTiles в котором вы вносите исходные текстуры и указываете границы плиток (либо что текстура бесшовная). Подробнее обо всех параметрах модуля читайте в разделе Slice Editor.

Внесение исходных текстур происходит в зоне Input maps (1). Вам нужно выбрать канал Diffuse, а остальные каналы распознаются и подгрузятся автоматически. После этого вы можете разметить плитки в ручную, или распознать их автоматически (подробнее об этом читайте в разделе Slice editor). Мы пойдем по более удобному пути и сделаем распознавание по каналу Маски. Установим значение Gaps (2) примерно на 0,7 — это укажет модулю распознавания примерную погрешность при склейке швов. И нажмем Autoslice (3). Распознавание по маске происходит почти мгновенно.

Так же, вы можете выбрать и добавить один из уже сохраненных шаблонов из библиотеки (4). После завершения работы, нажимаем кнопку Done (5). В этот момент происходит нарезка текстуры на плитки. Чем больше ваши исходники и количество каналов, тем больше времени займет процесс. 

Следующий шаг — выбор паттерна вашей выкладки. Вы можете взять один из шаблонов (1), из выпадающего списка Preset, или открыть Pattern editor (3) и создать новый паттерн. Так же, для плиток у которых есть исходные швы, установим ширину процедурного шва на 0. Это отключит процедурный шов и включит смешивание исходных швов (2).

Для примера создадим в Pattern editor простейший узор. С помощью инструмента  создадим несколько плиток (1). Не забудьте уменьшить поле, до минимального необходимого размера (2). После создания базового узора, повторяющуюся часть можно заполнить кнопкой Fill gaps (3). Так же вы можете выбрать любой шаблон из библиотеки. После окончания работы нажмите кнопку Done (5). 

Все подробности работы Pattern editor смотрите в соответствующем разделе.

По сути, наша текстура готова. Теперь мы можем произвести различные настройки во внутреннем интерфейсе, задать рандомизации и т.д. Для ориентира мы добавили облегченное превью текстуры. 

Когда все готово, можно задать размер (1) и разрешение (2) выходного куска текстуры. Мы рекомендуем тестировать настройки на небольшом размере (2х2 метра, на 2048 px).

После нажимаем кнопку Update (3). В этот момент происходит построение и запись в temp готовой настроенной текстуры. Все изменения в материале и на рендере будут проявляться только после нажатия кнопки Update. Процесс создания текстуры может занять 2-3 секунды на небольших разрешениях, и 3-7 минут на топовых размерах 16-32К

После завершения процесса, нажимаем кнопку Create material. Плагин автоматически распознает ваш рендер движок (Vray, Corona или Fstorm), и создаст соответственный материал, правильной конфигурации. Каналы текстур будут добавлены в соответствии с исходниками.

Другие рендер движки будут добавлены позже.
Алгоритм работы с Fstorm, отличается от работы с Vray и Corona. См. раздел Совместимость/работа с Fstorm

На этом все! Материал создан и готов к настройке. QuickTiles работает с интерактивным рендером как в Vray, так и в Corona, так что можно смело использовать его в процессе. При повторном нажатии на Create material, будет создан еще один материал, так что будьте осторожны.

Нода Quick Tiles channel

Quick Tiles channel это вспомогательная текстура, указывающая какой канал QuickTiles нужно подавать на материал. Дело в том, что 3д макс не может выдавать из одной текстуры, больше одного выхода. Поэтому, для того чтобы не генерировать и не настраивать каждый канал материала отдельно, мы создали схему, в которой главная текстура QuickTiles подает сразу все каналы, а ноды QuickTiles channel выбирают и передают дальше только нужный. 

Интерфейс самой ноды очень прост:

В структуре материала она располагается между главной нодой QT и материалом. В ее интерфейсе всего два параметра — выпадающий список с названиями каналов на выбор, и слот для подключения главной текстуры QT.

Внимание! При подключении карт нормалей, вам не нужно включать исправление гаммы, так как нода QTC исправляет гамму автоматически.

Generated texture settings

В данной вкладке содержатся технические настройки, отвечающие за размер и разрешение создаваемой текстуры, а так же кнопки сохранения и обновления текстур.

Patch width — ширина создаваемой текстуры в единицах сцены

Patch height — высота создаваемой текстуры в единицах сцены

Initial size — поле для ввода желаемого физического размера создаваемой текстуры

Result size — поле в котором отображается получившийся физический размер текстуры
Работает только при открытом увеличенном превью

В связи со сложностью механизма образования кладки и стремлением создать текстуру в которой плитки будут максимально близки к заданному пользователем размеру, невозможно точно попасть в заданный пользователем размер куска. Для этого были созданы поля желаемого и итогового размера. Подробнее об этом читайте в разделе «Механизм образования текстуры»

Seed — число рандомизации. Меняет вариант рандомизации текущих настроек.

Resolution — разрешение создаваемой текстуры в пикселях.

Update — генерирует текстуры каналов соответственно с настройками ноды QuickTiles

Create material — создает материал на основе загруженных каналов текстуры. Требуемый тип материала определяется автоматически для Vray и Corona. Для FStorm сохраняются отдельные 

Save as plain texture — сохранение получившейся текстуры в обычный Bitmap

битмапы и они подгружаются на материал. При этом нода QuickTiles остается в Mat.editor

Store to temp — сохраняет текстуру QT в специальный темп файл. При следующем открытии сцены текстура не генерируется, а считывается из файла. Это значительно сокращает время открытия. При этом интерфейс блокируется — для разблокировки повторно нажмите кнопку Store. Созданный темп файл будет удален.

Сохраненные таким образом материалы будут рендерится даже без активной подписки.

Store to scene — сохраняет текстуру QT в файл сцену (.max). При следующем открытии сцены текстура не генерируется, а считывается из файла сцены. Это значительно сокращает время открытия. При этом интерфейс блокируется — для разблокировки повторно нажмите кнопку Store. Материал будет удален из файла сцены. Эта операция увеличивает размер сцены.

Сохраненный таким образом материал можно легко передавать со сценой на другой компьютер, и он так же будет рендериться без активной подписки.

Load preset — загрузить полностью готовый материал QuickTiles из библиотеки пресетов

Save preset — сохранить текущие настройки материала QuickTiles в библиотеку пресетов

Единицы измерения

Из-за сложных технических особенностей QuickTiles мы рекомендуем вам работать в нем, как-будто вы используете сантиметры, в качестве сценических единиц. В таком случае, внешний вид быстрого превью будет более правильный.

Например, если вам нужно создать текстуру паркета 2000х2000 мм, с размером доски 600х60 мм, установите значения 200х200 для Initial Patch size, и 60x6 для размера базовой плитки. При наложении на поверхность, установите маппинг 2000х2000 мм.

Для распределенного рендеринга:

1. Установите плагин QuickTiles на все рендер ноды

2. Активация плагина на доп. компьютерах не требуется.

3. Активируйте во всех материалах QuickTiles функцию Store to scene

4. Готово, можно рендерить!

Tile set parameters

В данной вкладке вы можете добавить наборы плиток и отрегулировать параметры их распределения.

Add bitmap tile set — добавляет пустой набор плиток-битмапов

Add color tile set — добавляет пустой набор одноцветных плиток

Noise type — выбор между простым равномерным смешиванием наборов плиток и пользовательской картой. (см. примеры ниже)

Поле None — добавление пользовательской карты смешивания наборов.

Add tiles — открывает редактор нарезки плиток-битмапов (Slice editor, далее SE).

Bitmap set — тут можно задать имя выбранного в SE набора плиток.

Probability — частота появления плиток данного набора в итоговой текстуре. Работает если добавлено более одного набора.

 — меняют положение набора в стеке. От положения зависит позиция плиток при использовании пользовательской карты распределения (см. примеры ниже)

 — удаление набора.

 — дублирование набора.

Tile set id's — открывает окно выбора ID номеров плиток паттерна, в которые будет распределяться данный набор. Можно выбрать один или несколько номеров.


Подробнее об этом смотрите раздел Tile ID

Цветовое поле — открывает настройки каналов одноцветного набора.

Color set  — тут можно задать имя одноцветного набора.


Diffuse, reflect, roughness... — задание цветов каналов набора. Если оставить абсолютно черный цвет, канал не будет генерироваться.

Примеры использования пользовательских карт распределения наборов плиток

Пример 1. Noise type — regular, три набора битмапов.

Пример 2. Noise type — Custom map, Gradient, три набора битмапов.

В качестве пользовательской карты распределения наборов можно использовать любое черно-белое изображение. В итоговой текстуре наборы плиток будут распределяться по диапазону оттенков серого соответственно положению в стеке. Чем ниже находится набор, тем в более темную область изображения он будет распределяться. И наоборот - верхние наборы соответствуют светлым зонам пользовательской карты распределения. На примере вы можете видеть, что желтые кирпичи, расположенные в верхней части стека появились в самой светлой части градиента.

Пример 3. Noise type — Custom map, Radial gradient, три набора битмапов.

Пример 4. Noise type — Custom map, Clouds noise, три набора битмапов.

Slice Editor

Весь процесс работы в QuickTiles можно разделить на три части: первая — внесение исходных текстур, вторая — создание нового рисунка раскладки (паттерна), и третья — настройка деталей и рандомизаций раскладки.

Slice editor (SE) это небольшой дополнительный модуль в котором осуществляется первый этап работы — внесение исходных текстур и их нарезка на отдельные плитки. Тут можно добавить или изменить исходники, сохранить или извлечь наборы из библиотеки, распознать отдельные плитки автоматически или указать их в ручную, а так же отредактировать нарезку. Так же есть возможность импортировать или экспортировать готовую нарезку.

SE состоит из трех секций. Слева, в красной зоне — библиотека нарезок. Тут отображаются все сохраненные и импортированные пользователем нарезки, а так же нарезки поставляемые в комплекте плагина. 

По центру, в желтой зоне — окно вьюпорта, где отображается выбранный канал текстуры и созданная нарезка. 

Справа, в синей зоне — настройки нарезки и исходной текстуры. Разберем состав всех элементов подробнее.

Библиотека нарезок

 — поиск по названию и тегам.

Category — выбор категории нарезок.

Create set from texture — создание новой нарезки из цельной текстуры. Обнуляет интерфейс и все настройки.

Create set from individual tiles — создание нарезки из массива уже нарезанных плиток. 

 Иконка готовой нарезки, сохраненной в библиотеке.

Двойной клик по иконке — загрузит нарезку и все настройки в SE. Клик правой клавишей вызовет контекстное меню.

Duplicate — дублирует набор в библиотеке

Rename — переименование набора в библиотеке

Delete — удаление набора

Save to file — экспорт набора (при экспорте, в файл записываются исходные битмапы, так что передавать их отдельно не нужно)

Set custom preview — установка пользовательской иконки для выбранного набора. Можно устанавливать изображения любого формата, плагин сам уменьшит его, и подрежет до квадрата.

Set default preview — сброс пользовательской иконки до стандартной.

 Настройки нарезки и исходной текстуры

Import tile set — импорт готовой нарезки из файла. При импорте, сохраненные в файле готовой нарезки исходные битмапы распакуются в папку C:\Users\your_user\QuickTiles\libs

Save (to library) — сохранение нарезки с настройками в библиотеку. При сохранении в библиотеку, исходные битмапы не дублируются, и подгружаются из того места, где они были изначально. Поэтому не удаляйте и не перемещайте исходные битмапы, использованные для создания нарезки, иначе нарезка будет загружаться пустой.

Сохранить или изменить исходные файлы библиотеки нельзя.

 — инструменты для создания и редактирования нарезки

 — режимы создания и редактирования нарезки


 — Режим 1, генерация сетки. В этом режиме вы можете создать сетку из линеек по которым будет производиться нарезка и отодвинуть ее от краев. Инструменты и ручное редактирование тут недоступны.

Preset — выбор шаблона сетки — стандартный, елочка или индивидуальные плитки

Vertical — количество вертикальных линеек

Horizontal — количество горизонтальных линеек

Row offset — расстояние на которое смещается ряд

N row offset — количество смещаемых рядов

Обычно нам необходимо нарезать текстуру, где исходные плитки не находятся друг под другом, а смещены на то или иное расстояние. Например кирпичи часто кладут смещая на 50% каждый второй ряд, а ламинат, со смещением каждого второго ряда на 1/3, а каждого третьего, на 2/3. Функции Row offset и N row offset позволяют создавать сетку для подобных раскладок. Если вы зададите смещение 66 и номер ряда - 2, то получите сетку как на примере. Каждый второй ряд от исходного будет смещен на 66%, а каждый первый, на половину этого расстояния.

Cropping — параметры смещения сетки от краев вьюпорта.

Top — отодвигает сетку от верхнего края

Bottom — отодвигает сетку от нижнего края

Left — отодвигает сетку от левого края

Right — отодвигает сетку от правого края

 — Второй режим — режим ручного редактирования сетки. В этом режиме вы можете вручную смещать линии нарезки, подстраиваясь под несовершенства текстуры. Тут доступна часть инструментов.

 — инструмент Move. Смещает горизонтальные линейки по всей длине сетки, а вертикальные в приделах двух ближайших горизонтальных.

 — инструмент Erase. Удаляет линейки. Горизонтальные удаляются по всей длине сетки, оставляя в качестве вертикальных линеек те, что были выше.

 — инструмент Cut. Добавляет новые линейки. Для создания горизонтальной линейки, наведите курсор на ближайшую вертикальную и вы увидите превью. Для создания вертикальной линейки, наведите на существующую горизонтальную.

Функции Preset, Vertical, Horizontal, Row offset, N row offset и Cropping во втором и третьем режиме заблокированы.

Возвращение в предыдущий режим из последующих отменит все сделанные изменения.

 — Третий режим — режим ручного редактирования отдельных плиток. В этом режиме вы можете вручную смещать готовые плитки, вращать их, удалять, разрезать и т.д. Тут доступны все инструменты.

Контекстное меню инструментов

Select smaller — выделение всех плиток значительно меньшего размера. Полезно при чистке после автонарезки.

Select same aspect — выделение всех плиток, с идентичным соотношением сторон

Select same ID — выделит все плитки в том же ID

Mark all — отключить все плитки (только для инструмента стерка)

Unmark all — включить все плитки (только для инструмента стерка)

 — инструмент Move. Смещает плитки. Для выбора нескольких плиток используйте Ctrl. Так же для перемещения можно использовать стрелки клавиатуры.

 — инструмент Rotate. Вращает плитки вокруг центра.

 — инструмент Scale. Растягивает плитку за выбранную сторону. Повернутые плитки будут растягиваться в локальных координатах.

 — инструмент Erase. Выключает плитки, отмечая их черным цветом. Такие плитки не будут использоваться в раскладке, при этом они могут быть включены в любой момент. Erase+Shift — полное удаление плитки. Так же плитку можно удалить клавишей Delete.

 — инструмент Cut. Разрезает плитку вертикально. Cut+Ctrl — разрезает по горизонтали.

 — инструмент Create. Создает новую плитку путем растягивания. 

В этом режиме работает копирование плиток через Ctrl+C/Ctrl+V, а так же шаги назад через Ctrl+Z.

 — инструмент Set orient. Дает возможность задать пользовательскую ориентацию плитки.

По умолчанию, ориентация плиток задается перпендикулярно длинной стороне контейнера. При однократном нажатии на плитку, появится стрелка показывающая направление по умолчанию.

Для изменения направления перемещайте курсор мыши, при нажатой левой кнопке, так же, как если бы хотели вращать саму плитку. При этому, стрелка направления будет вращаться с шагом в 45 градусов.

Для вращения на произвольный угол, зажмите клавишу Shift.

Для выравнивания стрелки перпендикулярно любой грани контейнера — Alt+Click

Для выравнивания стрелки по направлению к указанному вертексы — Ctrl+Shift+Click

Для выравнивания стрелки вертикально вверх — Ctrl+Click

Для сброса направления до дефолтного, и удаления стрелки — двойной Click

Данная функция полезна при размещении плиток сложной, несимметричной формы, а так же в случаях когда необходимо соблюсти определенное направление рисунка. 

Заданное в Слайсере направление, будет соответствовать направлению заданному в Pattern editor.

*При использовании функции, часто необходимо отключить рандомное отражение плиток и переключиться в режим Stretch в секции Bitmap-in-container.

**После использования инструмента Rotate, необходимо повторно задать направление плитки.


В третьем режиме работает выпадающее меню (правый клик мыши)

Copy - копировать выбранные плитки. Копировать можно из одного набора в другой

Paste - вставить скопированные плитки

Outline - расширить или сузить выбранные плитки равномерно со всех сторон

Select all - выбрать все плитки

Invert selected - инвертировать выделение

Select smaller - выделить все плитки, значительно меньшие по размеру чем текущая

Select same ID - выбрать все плитки в том же ID что и текущая (та же функция - двойной клик на плитке)

Select same aspect - выбрать все плитки в том же аспекте, что и текущая

ВАЖНО: создавайте плитки так, чтобы голубая зона перекрывала поверхность плитки и не заходила на шов.

Далее указаны параметры, не зависящие от режима нарезки.

Texture placement

Vertical offset — смещение текстуры по вертикали

Horizontal offset — смещение текстуры по горизонтали

Rotate — вращение текстуры

Plain texture — включите этот параметр если вы хотите рандомно распределить внутри контейнеров текстуру, в которой изначально нет швов, например мраморную или гранитную плиту, бетон, камень, дерево и т.д. Другие настройки нарезки в этом случае не требуются и будут заблокированы.

Tiling vertical — указывает что текстура бесшовная по вертикали

Tiling horizontal — указывает что текстура бесшовная по горизонтали

Setup ID — здесь можно задать ID плиток непосредственно в слайсере. Это удобно для распределения сложных наборов, имеющих плитки различных форм, цветов и размеров, например таких как Оригами, Трапеция или Тиара.

Двойной клик по плитке выделит все плитки в том же ID

Texture scaling

Уменьшает исходную текстуру до 12%, 25% или 50%. 

Зачастую большой размер исходной текстуры не требуется, и только замедляет работу плагина. Эта функция позволяет уменьшить размер исходников в процессе работы, и не требует сохранения и хранения отдельных наборов текстур, меньшего размера.

Options

Gaps — указывает ширину захватываемых швов. Устанавливайте такое значение, чтобы красная зона плитки немного заходила на соседние, или меньше, если хотите уменьшить исходный шов.

В режиме 1 и 2, Gaps регулирует ширину линеек. При переключении в 3 режим, в зоне захваченной линейками появляются промежутки между плитками.

View alpha — настройка прозрачности превью готовых плиток.

Numbering — проставляет порядковый номер на каждой плитке. Помогает найти и модифицировать определенные плитки в итоговой раскладке.

ВАЖНО: Для наилучшего построения итоговой текстуры QuickTiles использует смешивание швов исходника. Параметр Gaps регулирует ширину захватываемого шва, и одновременно глубину наложения плиток друг на друга. Поэтому очень важно установить величину данного параметра правильно. Подробнее об этом см. в описании параметра Gap blend, в секции Pattern parameters.

Кнопка Autoslice — вызывает окно автоматического распознавания плиток. Подробнее об этом ниже.

Кнопка Clear grid — сбрасывает настройки сетки в 1 и 2 режимах нарезки.

Input maps — слоты для добавления исходных текстур (работает копирование перетягиванием)

Diffuse — слот для добавления текстуры цвета.

Reflect — слот для текстуры отражений.

Roughness — слот для текстур глянцевости (Glossiness) или шероховатости (Roughness) отражений.

Displacement — слот для текстуры высоты.

Текстуры 32bit exr или tif распознаются, но на выходе плагин в любом случае выдает 8bit. При этом работа может замедляться. Лучше используйте исходные текстуры 8bit. В дальнейших версиях скорее всего появится опция включающая 32-битный процесс для dipsplacement'а.

Bump — слот для черно-белых текстур мелких шероховатостей.

Normal — слот для текстуры Normal bump. В этот слот не следует устанавливать что либо, кроме карт нормалей, так как для работы с нормалями плагин задействует специфический алгоритм.

Mask — слот для канала черно-белой маски. Плитки всегда должны быть белыми, швы — черными. Текстура из этого слота не передается напрямую в материал, а используется для автоматического распознавания плиток, а так же для правильной рандомизации плиток внутри QuickTiles или для замены текстуры шва.

Для удаления текстуры из слота нажмите на правую клавишу мыши над слотом и выберете Clear

 

В цветовом окне справа от названия текстуры вы можете выбрать любой ровный цвет, если на данном канале вам не требуется текстура, а нужен только цвет. 

Глаз, символ отображаемого во вьюпорте канала, 

а при нажатии на карандаш, откроется окно редактирования цвета текстуры.

При нажатии на карандаш, в канале Normal, можно отрегулировать угол поворота нормалей, а так же инвертировать каналы.

Например: вам потребуется инвертировать зеленый канал, если исходные нормали выполнены в формате OpenGL. Подробнее смотрите в разделе Работа с нормалями.

Примечание 1. При внесении текстуры в слот Diffuse, плагин распознает и автоматически подгрузит остальные каналы, если текстуры будут лежать в той же папке, и иметь то же название что и diffuse, и соответствующую маркировку канала. Например: brick137_diffuse, brick137_glossiness, brick137_heigth.

Примечание 2. После первичного распознавания каналов, вы можете удалить или заменить любую из текстур (даже diffuse), повторное распознавание не произойдет. Для повторного распознавания каналов, очистите все слоты кроме diffuse в ручную и снова добавьте текстуру на diffuse

Search — параметры поиска нарезки в библиотеке

Category — категория материала

Tags — любые слова, связанные с сохраняемой нарезкой

Кнопка Done — принятие результата нарезки и закрытие окна slice editor БЕЗ сохранения нарезки в библиотеку. Нарезка будет сохранена локально в данном материале. Вернутся к ее редактированию можно в любой момент, повторно нажав на ее иконку в секции Tile set parameters.

После нажатия кнопки Done происходит нарезка исходной текстуры, и сохранение плиток в RAM. Чем больше исходные текстуры, тем больше времени это может занимать. Если вы изменили исходные текстуры (например цвет, или яркость), чтобы изменения проявились в QuickTiles вам нужно снова открыть настройки данного набора в Slice editor и нажать Done.

Кнопка Cancel — отменяет произведенные настройки. Если вы случайно открыли SE и не вносили изменений в настройки нарезки — нажмите кнопку Cancel. Тогда окно закроется и прежняя нарезка останется без изменений. Это будет гораздо быстрее, чем если нажать кнопку Done.

Автораспознавание плиток

Если в наборе текстур есть канал маски, то при нажатии на кнопку Autoslice плагин автоматически нарежет текстуру, без лишних вопросов.

По умолчанию, он попытается распознать поворот отдельных плиток. Однако с квадратными плитками это получается плохо.

Если вам не нравится результат нарезки, нажмите на кнопку Autoslice, при это зажав Shift. Текстура нарежется без учета поворот плиток.

Если в наборе нет канала маски, плагин попытается создать его из канала во вьюпорте. В этом случае он предложит вам дополнительное окно.

*Для склеивания плиток выходящих за края используется коэффициент погрешности. Он устанавливается в спинере Gaps. Чем крупнее текстура и швы, тем больше должно быть значение. Все настройки автораспознавания сохраняются, поэтому если крайние плитки неправильно склеились с первого раза, измените коэффициент и попробуйте снова. После распознавания, настройте параметр Gaps в соответствии с шириной исходного шва.

В данном окне, на основе выбранного канала генерируется черно-белая маска. Плитки должны быть белыми, швы черными. Маска должна быть максимально аккуратная в зоне швов, но внутри плиток могут встречаться отдельные черные пятна, это не повлияет на качество. В итоге, задача пользователя привести маску максимально близко к показанному на изображении состоянию.

Details — степень сглаживания деталей текстуры. Чем меньше значение, тем меньше сглаживание, тем больше остается исходных деталей.

Threshold — яркость точки серого светлее которой все оттенки исходной текстуры станут белыми, а темнее — черными. 

H offset и V offset - подрезка края. Если край на изображении цельный белый, без швов, это может вызвать значительное увеличение времени автораспознавания. В этом случае рекомендуется подрезать границы до швов.

Invert — инвертирование белого и черного. Если плитки будут черными, а швы белыми, распознавание не произойдет. Плитки всегда должны быть белыми, а швы черными.

R, G, B, RGB — при попытки распознавания цветной текстуры, можно выбрать отдельный канал Red, Green или Blue, или композит RGB. При попытке распознавания из канала Normal Bump лучше всего выбирать канал Blue

Find rotate — экспериментальная функция, заставляющая распознавание учитывать угол наклона плитки. Пока находится в процессе разработки. Представлена в интерфейсе для тестов.

ВАЖНО: пересекающиеся плитки в данной версии плагина не распознаются.

Совет: для максимально качественного распознавания, сдвиньте текстуру так, чтобы на краях не было слишком мелких кусочков плиток. В приведенном примере у текстуры слева видно небольшие части кирпичей, торчащие в левой части вьюпорта. Для улучшения распознавания сдвиньте текстуру правее, чтобы кирпичи разделились примерно пополам.

Добавление отдельных плиток

В версии QuickTiles 1.1.0.0 функция добавления наборов заранее нарезанных плиток значительно упрощена. Она будет особенно актуальна для интерьерной визуализации, где часто используются наборы индивидуальных досок напольных покрытий.

Для добавления набора плиток выполните три простых шага:
1. Нажмите на кнопку Create set from individual tiles или переключите Preset на Individual tiles
2. Добавьте на канал Diffuse первую плитку вашего набора
3. Добавьте или перетяните на остальные каналы первые плитки соответствующих каналов

Внимание! Для правильного распознавания плиток набора, необходимо соблюдать два условия.

Во-первых: файлы каждого канала должны быть сложены в отдельную папку. Плагин будет раскладывать в одном канале все файлы, которые найдет в указанной папке.

Во-вторых: начала названий файлов каналов одной плитки должны совпадать, а номер стоять в конце, например BrickRed_dif_1 и BrickRed_bump_1, и т.д.

Окно вьюпорта

1 — поле задания названия нарезки. Если вы вызываете нарезку из библиотеки, тут появится имя нарезки с другим порядковым номером. Это сделано для того чтобы случайно не перезаписать сохраненные в библиотеку нарезки. Если вы хотите сохранить нарезку поверх имеющейся в библиотеке, просто задайте идентичное имя.

2 — количество созданных плиток

3 — количество получившихся аспектных групп

4 — колличество выделеныз плиток

5 — размер текстуры

6 — параметры битмапа

7 — границы плитки, в которых она будет помещена в контейнер, ID1

8 — границы плитки, в которых она будет помещена в контейнер, ID2

9 — выключенные плитки обозначаются черным

Работа с нормалями

Исторически так сложилось, что существуют два основных вида карт нормалей: DirectX и OpenGL. На первый взгляд они очень похожи, но есть одна существенная разница - инвертированный вертикальный канал (Green). Сравните два варианта выпуклого кирпича:

Разные варианты нормалей используются в разных программах и рендер движках. Так как 3Dmax, Vray и Corona всегда используют DirectX вариант, то и QuickTiles адаптирован под них. 

И это очень важный момент! Плагин в процессе работы совершает большое количество преобразований нормалей, и они будут неправильные, если не откорректировать исходник. Вот что получится, если использовать поворот и рандомное отражение с нормалями в QuickTiles.

Как видите, правый вариант с исходником DirectX выглядит правильно, а в левом (OpenGL) часть плиток кажутся вывернутыми наизнанку. Для решения этой проблемы мы добавили в Слайсер возможность инвертировать каналы или даже повернуть нормали на произвольный угол (в диалоге HSV). Поэтому если столкнетесь с проблемой неправильной генерации нормалей в плагине, первым делом попробуйте инвертировать зеленый канал в исходной текстуре.

Pattern parameters

В данной вкладке вы можете выбрать шаблон рисунка выкладки и настроить его параметры.


Главным элементом данной вкладки является превью итоговой кладки. По умолчанию отображается канал Diffuse. Для ускорения работы, превью сделано в низком разрешении и может выдавать артефакты или небольшие ошибки, которых не будет в итоговой текстуре. Красным обозначена базовая плитка.

 - выбор канала для превью

 - выключение автоматического обновления превью

Выключение автообновления превью ЗНАЧИТЕЛЬНО ускоряет настройку материала.

 - кнопка ручного обновления превью

 — переключение каналов превью

 — открывает крупное превью

 — выбор одного из простых пресетов

Кнопка Pattern editor — открывает окно дополнительного модуля для создания и редактирования паттернов (см. раздел Pattern editor)

Base tile size H — ширина базовой плитки

Base tile size V — высота базовой плитки

Gap width H — ширина процедурного шва по горизонтали 

Gap width V — ширина процедурного шва по вертикали

Для сохранения исходного шва, установите размер процедурного шва но 0.

При работе с полигональными паттернами, работает только параметр Gap width H, который в этом случае отвечает за ширину всех швов.

Важнейшим моментом работы в Quick Tiles является понимание формирования размера паттерна. Выкладка кирпичей может быть абсолютно любой, и задать размер каждого кирпича совершенно невозможно. Задавать размер сразу всего паттерна тоже крайне неудобно, так как мы обычно знаем размеры отдельных плиток. Поэтому в QT размер всех кирпичей вычисляется исходя из размера Базовой плитки. В Паттерн эдиторе вы можете самостоятельно назначить Базовую плитку, а плагин автоматически вычислит размер всех остальных плиток исходя из ее размера и ширины шва.

 и  — включает пропорциональное изменение размера плитки и шва

Gap blend — глубина смешивания исходных швов

Для сохранения максимального качества создаваемых текстур, QuickTiles не только захватывает исходные швы (см. Slice editor), но и смешивает их с помощью небольшого градиента. Для включения смешивания, размер процедурного шва должен быть равен 0.

При слишком больших значениях Gap Blend, из-за исходных швов может проступать подложка. Чтобы это исправить, либо уменьшите силу Gap Blend, либо установите цвет/текстуру подложки близкую к цвету шва. Это необходимо сделать на всех генерируемых каналах.

Wave length — длинна эффекта волны паттерна

Amount — сила эффекта волны паттерна

Плитка часто не лежит идеально ровно, особенно это касается напольных покрытий. Данный эффект добавляет крупную волну, общую для всех элементов.

Circular — включение круговой раскладки. Плагин разложит плитки по кругу, максимально соблюдая выбранный паттерн. Однако из-за разной длинны линий, все равно произойдет смещение.

Deform Gaps — плагин попытается разложить плитки по кругу, деформируя швы и сохраняя плитки прямоугольными, как в реальной жизни.

Deform Tile — плагин попытается разложить плитки по кругу, деформируя сами плитки, как будто они резиновые. Данная функция экспериментальная, и не всегда работает идеально.

Center — размер центральной области раскладки, где будет использоваться обычная выкладка

Pattern Editor

Pattern editor (PE) это небольшой дополнительный модуль в котором осуществляется второй этап работы в QuickTiles — задание и редактирование рисунка раскладки плитки.

PE состоит из трех секций. Слева, в красной зоне — библиотека паттернов. Тут отображаются все сохраненные и импортированные пользователем паттерны, а так же поставляемые в комплекте плагина. 

По центру, в желтой зоне — окно вьюпорта, где отображается текущий паттерн и его настройки. 

Справа, в синей зоне — настройки паттерна и вспомогательные функции. Разберем состав всех элементов подробнее.

Библиотека паттернов

 — поиск по названию и тегам.

Category — выбор категории нарезок.

Create rectangular pattern — очищает рабочее поле для создания нового прямоугольного паттерна

Import polygonal pattern — импортирование полигонального паттерна (подробнее в одноименном разделе)

 Иконка готового паттерна, сохраненная в библиотеке.

Двойной клик по иконке — загрузит паттерн и все его настройки в PE. Клик правой клавишей вызовет контекстное меню.

Duplicate — дублирует паттерн в библиотеке

Rename — переименование паттерна в библиотеке

Delete — удаление паттерна

Паттерны идущие в комплекте с плагином удалить нельзя

 Настройки паттерна

New from bitmap — не активная в первой версии. Эта функция будет реализована позже

Save (to library) — сохраняет созданный паттерн в библиотеку

Сохранить или изменить исходные файлы библиотеки нельзя

 Инструмент Move — перемещает выбранную во вьюпорте плитку. Наложение плиток друг на друга невозможно.

 Инструмент Create — создает новую плитку путем растягивания. Плитка создается в выбранном ID. По умолчанию — ID1

 Инструмент Set orient. Дает возможность задать пользовательскую ориентацию плитки.

По умолчанию, ориентация плиток задается перпендикулярно длинной стороне контейнера. При однократном нажатии на плитку, появится стрелка показывающая направление по умолчанию.

Для изменения направления перемещайте курсор мыши, при нажатой левой кнопке, так же, как если бы хотели вращать саму плитку. При этому, стрелка направления будет вращаться с шагом в 45 градусов.

Для вращения на произвольный угол, зажмите клавишу Shift.

Для выравнивания стрелки перпендикулярно любой грани контейнера — Alt+Click

Для выравнивания стрелки по направлению к указанному вертексы — Ctrl+Shift+Click

Для выравнивания стрелки вертикально вверх — Ctrl+Click

Для сброса направления до дефолтного, и удаления стрелки — двойной Click

Данная функция полезна при размещении плиток сложной, несимметричной формы, а так же в случаях когда необходимо соблюсти определенное направление рисунка. 

Заданное в Слайсере направление, будет соответствовать направлению заданному в Pattern editor.

*Использование данного инструмента особенно полезно при работе с полигональными паттернами сложной формы, где плагин может ошибочно определять «направление» плиток.

Extract aspect groups — открывает библиотеку нарезок (Slice Editor) и создает несколько плиток, такого же аспекта (с тем же соотношением сторон), как и плитки в выбранной нарезке

Эта функция очень полезна, когда вам нужно создать текстуру дикого камня из какого-то конкретного исходника, где соотношения сторон плиток очень разнятся

Fill gaps — плагин заполняет пустую область вьюпорта копируя уже созданный шаблон. Все не кратные зоны заполняются плитками 1х1 клетку

Select base tile — назначает базовую плитку, по которой рассчитывается размер паттерна. 

Size H и Size V — количество клеток вьюпорта (паттерн может быть не квадратным)

Set tiling box — установить точку тайлинга для полигонального паттерна. Она находится на пересечении линий горизонтального и вертикального повторения узора (см. видео в разделе Poligonal pattern import)

Tile ID

 Назначение ID плиток (подробнее в разделе Tile ID)

Двойной клик на любой плитке выделит все плитки в данном ID.

Search — параметры поиска паттерна в библиотеке

Category — категория паттерна

Tags — любые слова, связанные с сохраняемой нарезкой

Кнопка Done — принятие результата и закрытие окна pattern editor БЕЗ сохранения паттерна в библиотеку. Паттерн будет сохранен локально в данном материале. Вернутся к его редактированию можно в любой момент, повторно нажав на кнопку Pattern editor. Будьте осторожны. При выборе любого из простых шаблонов паттерна в Mat.editor, созданный паттерн будет удален.

Кнопка Cancel — отменяет произведенные настройки.

Окно вьюпорта

1 — поле задания названия паттерна. Если вы вызываете паттерн из библиотеки, тут появится имя с другим порядковым номером. Это сделано для того чтобы случайно не перезаписать сохраненные в библиотеку паттерны. Если вы хотите сохранить паттерн поверх имеющейся в библиотеке, просто задайте идентичное имя.

2 — количество ID плиток в паттерне

3 — количество получившихся аспектных групп

4 — количество плиток в паттерне

5 — базовая плитка отмечается штриховкой

Механизм образования текстуры

В данном разделе мы рассказываем о внутренних механизмах образования текстуры в QuickTiles, и почему она часто бывает не квадратной.

Как вы уже знаете, образование текстуры в QT происходит на основании размера базового патча (1), рисунка паттерна (2), ширины базовой плитки текстуры (3) и швов (4). 

Однако из-за того что плитки в паттерне могут иметь любые размеры, а швы везде должны быть одинаковые, а так же необходимо соотнести размер базовой плитки (3), шва (4) и патча (1), получается что невозможно попасть точно в заданный размер и при этом сгенерировать бесшовную текстуру. Придется либо делать меньше базовую плитку, либо менять финальный размер куска текстуры.

И так как точный размер кирпича и шва кажется нам более важным, мы добавили графу «Результирующий размер», в котором QT показывает, какой размер куска текстуры получится при соответствующем паттерне, а так же размерах шва и базовой плитки. Итоговый размер всегда стремится к заданному, а так же к квадратной форме. Однако это не всегда получается. 

Почему текстура не квадратная

При образовании текстуры, QT работает в следующей последовательности. 

1. Первым делом он берет заданный паттерн. Паттерн всегда берется цельным куском, тем что задан в Pattern Editor.

2. После этого плагин вычисляет размер паттерна по горизонтали и вертикали, с учетом размера базовой плитки, швов и всех заданных рандомизаций.

3. В последнюю очередь, QuickTiles сравнивает получившийся размер паттерна и заданный изначально размер, и повторяет целый паттерн столько раз, сколько он может поместиться в заданный размер. 

Важно понимать, изначально любой паттерн - квадратный. Но он может менять свою форму на прямоугольную, если соотношение сторон базовой плитки паттерна и базовой плитки заданной в Mat.editor отличаются. 

Например: имеем простой паттерн с размером базовой плитки 1:2. При таком же соотношении сторон в базовой плитке текстуры, итоговый патч будет квадратным.

Однако если мы зададим в mat.editor размер базовой плитки более широкий, например 1:5, вместе с базовой плиткой, растянется и весь паттерн, и станет шире в 2,5 раза. 

В случае если подобные искажения являются незначительными, QT без проблем выдаст качественный результат. Однако, если базовая плитка паттерна например вертикальная, в соотношении сторон 3:1, а базовая плитка текстуры горизонтальная, 1:6, итоговый паттерн получится слишком вытянутый, и появятся ошибки. Поэтому в подобных случаях мы рекомендуем сделать более подходящий паттерн.

Ну и в итоге, из-за того что сам паттерн повторяется в патче только целиком, и часто имеет не квадратную форму, итоговый патч так же перестает быть квадратным.

Предположим размер паттерна получился 123х87 см, а желаемый размер патча, 500х500 см. По ширине целый паттерн поместится (500/123 = 4,065) 4 раза, а по высоте (500/87 = 5,74) 6 раз. Поэтому размер итогового патча будет 492х522 см (123*4 = 492 и 87*6 = 522).

Polygonal pattern import

C помощью плагина Quick Tiles вы можете распределять наборы плиток в паттерны абсолютно любой формы. Вы можете создавать прямоугольные узоры непосредственно в Pattern editor, а узоры более сложной формы импортировать.

Мы не стали создавать редактор полигональных паттернов в плагине, так как все равно не смогли бы дать вам всей мощи инструментов самого 3d max, или любого векторного редактора.

В этом небольшом видео показан способ импорта в версии 1.1.0.1.

Старый способ экспорта/импорта подходит для более сложных паттернов, где Точка тайлинга не совпадает с краями одной из плиток. 

Старый алгоритм импорта (описан ниже) доступен через Click+Shift.

1. Создайте небольшой участок нужного вам паттерна. Это должен быть плоский Editable Poly, без внутренней сетки.

2. Найдите бесшовную часть вашего паттерна, которая устроит вас по количеству плиток. Эта область должна быть приближена по форме к квадрату. На примере я выделил ее красным прямоугольником. Мне будет достаточно четырех гексагонов по высоте и ширине.

3. Удалите все лишнее, не разрезая цельные фигуры, а позволяя им выходить за границы области.

4. Получившийся паттерн должен быть бесшовным.

5. Теперь создайте Plain, без дополнительных ребер, и выровняйте его по левому, верхнему краю вашего паттерна. Он должен перекрывать зону повторения узора, как на примере.

6. Приаттачте к этому плейну ваш паттерн.

7. Все готово! Экспортируйте паттерн — File/Export/Export selected. Имя файла не имеет значение. Save as type: QuickTiles pattern (*.qtp)

8. Откройте Pattern editor и нажмите кнопку Import polygonal pattern. В открывшемся окне выберете ваш паттерн. 

9. В итоге вы получите полностью бесшовный паттерн произвольной формы. Настроить необходимые вам опции вы сможете в меню справа.

Tile ID

Tile ID это технология для встраивания наборов плиток в конкретные контейнеры паттерна.

У каждой плитки в паттерне и у каждого набора плиток в секции Tile set parameters есть номер плитки  Tile ID. По умолчанию в паттерне назначается ID0, а набор по умолчанию распределяется сразу во все ID. Для задания точного соответствия просто установите нужные ID у плиток в паттерне, а потом у наборов. Всего доступно 40 ID.

Кроме того, назначить ID для каждой плитки отдельно можно внутри набора прямо в слайсере. Это значительно упрощает работу, если на исходной текстуре у вас есть несколько разных по размеру или цвету плиток.

Общий ID набора при этом является главенствующим, и при назначении, будет переписывать ID всех плиток назначенные в слайсере.

Один набор может распределяться сразу в несколько разных ID. А у одной плитки в паттерне может быть только один ID.

ID0 — белая плитка — универсальный ID. В него будет распределяться любой другой ID.

Tile random parameters

В данном разделе представлены параметры рандомизации формы контейнеров.

Tile width min — минимальная ширина плитки (в процентах)

Tile width max — максимальная ширина плитки (в процентах)

Tile height min — минимальная высота плитки (в процентах)

Tile height max — максимальная высота плитки (в процентах)

Height randomization By tile — рандомная высота задается каждой плитке

Height randomization By row — рандомная высота задается каждому ряду

Рандомизация высоты ряда работает только с линейными паттернами. Это значит что в паттерне все плитки в одном ряду изначально одной высоты.

Rotation — рандомное вращение плиток

Position — сдвиг плиток на рандомное расстояние на рандомный угол

Corner offset — рандомный сдвиг вершин плиток. При использовании полигональных паттернов, будет сдвинут каждый вертекс, использованный при генерации шаблона

Corner fillet — скругление углов. При использовании полигональных паттернов, будет скруглен каждый вертекс, использованный при генерации шаблона. Если некоторые вертексы расположены слишком близко друг к другу, эффект пропадет на всех вершинах

Tilt parameters

Параметры из группы Tilt наклоняют плитку в горизонтальной плоскости. Они действуют только на карту Displacement

Tilt left min — наклон левой стороны плитки

Tilt right min — наклон правой стороны плитки

Tilt rotation — поворот наклона плитки

Tilt randomization — включает рандомизацию наклона и поворота наклона плиток

Tilt left min + randomization — минимальный наклон левой стороны плитки

Tilt left max + randomization — максимальный наклон левой стороны плитки

Tilt right min + randomization— минимальный наклон правой стороны плитки

Tilt right max + randomization — максимальный наклон правой стороны плитки

*Значения наклона находятся в диапазоне от 0 до 100 единиц, где 0 — абсолютно черный цвет, а 100 — абсолютно белый. Если вы применяете наклон к существующей карте displace, рекомендуется использовать в качестве исходного значения 50, и добиваться усиления наклона за счет отклонения от этого значения. Например для небольшого рандомного наклона плиток следует задавать значения в диапазоне от 40 до 60.

*На существующую карту displace наклон накладывается более мягко, с полупрозрачностью. Поэтому степень влияния очень зависит от яркости исходной карты.

*Эффект полностью отсутствует, если все параметры группы установлены на 0. Если любой из параметров больше 0, то эффект включается, и остальные параметры со значением 0 будут выдавать черный цвет.

В некоторых случаях, создавая плитки с ровной поверхностью, и включая на них наклон (tilt), вы можете увидеть артефакты, в виде лесенки. Этот нежелательный эффект появляется из-за недостаточной битности битмапов. Для ровного плавного перехода требуется градиент с 32-мя битами глубины цвета. К сожалению, в первой версии такую технологию реализовать не удалось (из-за ограничений 3д макс). Чтобы избежать подобной ситуации, или значительно снизить ее заметность, используйте максимальный диапазон Tilt. На приведенных примерах на первом изображение диапазон Tilt — от 40 до 60, а на втором — от 5 до 95.

Edge distortion

В данной секции расположены настройки эффекта неровного края. 

Strength — сила неравномерности

Size — размер неравномерностей

Будьте осторожны с данным эффектом, очень маленький размер неровностей может сильно снизить производительность системы.

Bitmap-in-container 

В этом разделе содержатся настройки поведения битмапов внутри контейнеров.

Position Stretch — плагин встраивает плитку в контейнер путем растягивания

Position Crop + Cropping Side — плагин встраивает плитку в контейнер по короткой стороне с подрезая края, выступающие за границу контейнера

Position Crop + Cropping Center— плагин встраивает плитку в контейнер по короткой стороне с сохранением швов, вырезая центр плитки (установлено по умолчанию)

Если исходные плитки и контейнеры близки по соотношению сторон, необходимо переключить настройку в режим Stretch. Иначе возможно появление артефактов.

Use aspect groups — включает распределение плиток исходного набора в паттерн, в соответствии с аспектными группами (соотношением сторон). 

Аспектные группы — условные группы плиток объединенные по схожему соотношению длинны горизонтальной и вертикальной стороны. Аспектные группы по умолчанию вычисляются для паттернов и наборов плиток битмапов.

Random mirror H — рандомное отражение битмапов по горизонтали

Random mirror V — рандомное отражение битмапов по вертикали

Random rotation — рандомное вращение битмапов в контейнере

Scale — масштаб битмапа в контейнере

Procedural gap

В секции Maps & colors вы можете загрузить битмап или установить цвет, который будет отображаться на процедурных швах и промежутках между плитками.

1. Название канала, на который загружается подложка

2. Выбор цвета канала

3. Загрузка битмапа

4. Прозрачность битмапа относительно цвета канала 

Use mask — применяет маску плиток, удаляя исходные швы

Scale — масштаб битмапа подложки

Gap shape — параметры регулировки формы процедурного шва

Side height — высота шва у краев плиток

Center height — высота шва в центре

Pinch/Bubble — изменение формы кривой шва

Форма процедурного шва накладывается на каналы Displacement, Bump и Normal.

При включении параметров формы процедурного шва, он перекрывает подложку.

При разной ширине горизонтального и вертикального швов, форма процедурного шва будет генерироваться исходя из минимальной ширины

При низком разрешении или слишком маленьком размере шва возможно возникновение артефактов.

При итоговом размере шва меньше 5 px генерация формы не производится

Параметры высоты краев и центра являются относительными, поэтому рекомендуется настраивать их с включенным на соответствующем канале укрупненным превью.

Tile channel settings

Данная секция отвечает за настройки рандомизации и редакцию цвета текстуры плиток.

Настройки идентичные для всех каналов:

Level — общее изменение уровня всех плиток канала

Random — рандомизация плиток канала

Value — яркость

Hue — оттенок

Saturation — насыщенность

Mask — включение использования маски. Когда параметр включен, QuickTiles будет менять или рандомизировать только белые области маски (т.е. зону плиток, без шва)

Настройки уникальные для каналов Bump (Grey) и Displacement:

Texture blur — размытие текстуры

Edge size — глубина генерации скошенной кромки

Smooth — размытие скошенной кромки

Height — высота скошенной кромки

Pinch/Bubble — форма кромки:
1 — плоская кромка
меньше 1 — выпуклая кромка
больше 1 — вогнутая кромка

Edge size = 50

Edge size = 50, smooth = 5

Edge size = 50, height = 50

Edge size = 50, pinch/bubble = 2

Edge size = 50, pinch/bubble = 0,5

Edge size = 50, pinch/bubble = 0,5, smooth = 5

Оптимизация скорости работы

Все операции выполняемые к QuickTiles отличаются по сложности и ресурсам процессора которые требуются на их выполнение. Чем больше параллельных настроек включено в плагине, тем дольше будут обрабатывать новые команды.

Для оптимизации скорости работы мы рекомендуем учитывать следующие моменты:

1. В процессе настройки тестового материала используйте небольшой заданный размер куска текстуры. По умолчанию он установлен на 200х200см, но можно использовать и меньший размер.

2. Чем меньше исходная текстура и чем меньше у нее каналов, тем быстрее будет работать плагин. Не используйте крупные текстуры в разрешении 4K и больше, без необходимости. 

3. При совершении настроек не держите окно крупного превью открытым без нужды. Оно создает текстуру в большом размере, и поэтому дополнительно замедляет работу. 

Наилучшим вариантом будет выключение автообновления превью, и обновление его в ручную по необходимости.

4. При работе с дисплейсментом, вне зависимости от того какие данные вы передаете на плагин, он конвертирует их в 16 бит. Это требуется для более высокого качества и плавных градиентов формы. Однако желательно чтобы карта была довольно контрастной, но с сохранением деталей. Если это не так, отредактируйте исходник в фотошопе или с помощью HSV в слайсере.


5. Так же при работе с дисплейсом в CoronaRender рекомендуем добавлять модификатор CoronaDisplacement и повышать качество до 2 пикселей.

6. Настройки Corner fillet и Tile edge distortion size усложняют форму плитки и могут приводить к замедлению скорости работу плагина.

7. Рандомизация битмапов — довольно трудоемкая операция. Добавляйте ее в конце настройки материала.

8. После окончания настройки материала, сделайте тесты на низом разрешении 2K — если вам потребуется вносить изменения, то перегенерация текстуры в 2K будет значительно быстрее. После окончания настроек установите рабочий размер и разрешение. 

9. Учитывайте что для проработки смешивания исходных швов, или генерации формы процедурного шва, на шов должно приходиться достаточное количество пикселей финальной текстуры. Если вы недовольны внешним видом швов, увеличьте выходное разрешение.

10. При установке финального разрешения текстуры, рекомендуем ориентироваться на следующие соотношения физического размера текстуры и ее разрешения:

200х200 см — 2K — нормальное качество, 4K — превосходное качество.

400х400 см — 4K — нормальное качество, 8K — превосходное качество.

1000x1000 см — 8K — нормальное качество, 16K — превосходное качество.

11. После окончания работы над текстурой обязательно включите Store to temp (для хранения и работы локально) или Store to scene (для передачи сцены на другой компьютер). QuickTiles обновит текстуру и сохранит ее на жесткий диск, в специальный файл, из которого она загрузится при следующем открытии 3d max. В противном случае, при каждом открытии программы будет происходит перегенерация текстуры, что может занимать значительное время.