Profile Pic

Документация

Конфигуратор

Моделирование

Как называть меши

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

Стол

столешницаdesk-top
Ножки столаdesk-gable
Перекладина/опораdesk-modesty
Противоскользящие ножкиdesk-glide
Кабельное отверстиеgrommet

Шкаф

Основаниеcabinet-body
Дверцаcabinet-door
Петли дверейdoor-hinge
Верхcabinet-top
Противоскользящие ножкиcabinet-glide
Полкаshelf

Размеры

Loading video...

Морфинг (изменение/растяжение) — способ плавно менять одну форму объекта в другую. Shape Keys (или «ключи формы») — это инструмент в Blender, который позволяет сохранять и анимировать разные формы одного и того же объекта. По сути, создается "основная" форма (Basis) и потом вариации — например, по высоте, ширине или глубине. Итак, у нас есть подготовленная модель.

Object Data Properties → Shape Keys → Add Shape Key. Оставляем Basic. Это будет базовый морфинг модели. Добавляем первый изменяемый ключ. Название ключа должно быть в формате: Если необходимо сохранить UV-координаты при изменении размера:

javascript
1model-name-morph-height, model-name-morph-width, model-name-morph-depth
Если не сохранять UV-координаты при изменении размера:
javascript
1model-name-001, model-name-002, model-name-003
Меняем Value: 0 — минимальный показатель размера модели, 1 — максимальный показатель размера меша (больше максимума модели). Для редактирования самого меша, воспользуемся Kartoteka Addon "Morph". Сначала нужно просчитать в режиме объектов размеры всех мешей модели. Выбираем ключ, например, ширины. В режиме редактирования выделяем вершины меша. Целевой размер по умолчанию оставляем равной 10, выбираем направление (если меняем ширину, то Влево/Вправо), указываем пропорционально ли. В режиме без пропорционального растяжения точки смещаются на одинаковое расстояние, что может быть полезно для сдвига всего меша. Иначе, точки смещаются с определенным коэффициентом, что применяется при сохранении изгибов изделия. Также, для сохранения UV-координат текстур, нужно сделать измененные клоны модели и распределить их по группам.

Стили

Переключение стилей заключается в показе/скрытии нужных мешей. В названии таких объектов в конце прописываем слово, по которому будет искаться меш для показа, остальные будут скрываться. В одном месте может несколько разных ручек двери, перекладин стола и т.д. На время работы мешающие объекты можно скрыть. Но при экспорте в glb все меши должны быть включены.

Заполнение Базы Данных

1. Компания:

У каждой компании с конфигурируемыми моделями есть два параметра: материалы (configMaterials), стили (configStyles).

configMaterials = name_аспект_глянец,нормали,отражения где

  • name - название материала, отображаемое в интерфейсе
  • аспект - тайлинг записывается через дефис
  • глянец, нормали и отражения - присутствует или нет (1, 0)

Пример заполнения:

javascript
1Дуб темный_8-8_0,1,0;Сосна светлая_8-8_1,1,1;Мрамор белый_8-8_0,0,0;Красное дерево_8-8_1,0,1

configStyles = name_slug,name_slug;name_slug,name_slug где

  • name - название материала, отображаемое в интерфейсе
  • slug - имя меша, по которому ищется стиль

Пример заполнения:

javascript
112_desk-modesty-12m,18_desk-modesty-18m,28_desk-modesty-28m;NG_grommet-ng,COG_grommet-cog

ВАЖНО!

  • наборы(группы) стилей друг от друга разделяются ';', а сами стили через ','
  • название можно писать через пробел, а slug через дефис

2. Товары:

У каждой модели есть три настраиваемых параметра: размеры (sizes), материалы (matParts), стили (styles).

Размеры

sizes = старт;height,width,depth где

  • старт - стартовый размер по ширине, при морфинге равном 0
  • height, width, depth - габариты модели (мин-макс значение в см)

Примеры заполнения:

javascript
1107;72,150-275,90-125 или 152;150-305,91-152,38-61

ВАЖНО!

  • в размере через '-' записывается значение от минимального до максимального (установленного производителем)
  • В случае, если модель не изменяется по какому-то из размеров, пишем не диапазон, а только фиксированное значение.

Материалы

matParts = name_slug_matIDs;name_slug_matIDs;... где

  • name - название части, к которой применяется материал
  • slug - имя меша, к которому применятся материал
  • matIDs - перечисление применяемых материалов

Пример заполнения:

javascript
1Столешница_desk-top_1,2,3,4,5;Перекладина_desk-modesty_1,2,3,4,5;Ножки_desk-gable_1,2,3,4,5

Стили

styles = name_slug_номер где

  • name - название части, к которой применяется стиль
  • slug - имя меша, к которому применяется стиль
  • номер - порядковый номер набора стилей

Пример заполнения:

javascript
1Перекладина_modesty_1;Отверстие_grommet_3

Файловая система

В папке компании создаем папку "Config_materials". В нее загружаем текстуры по порядку. Например: 1.jpg, 2.jpg, 3.jpg...

Пока что карты не работают.