3D-визуализация продукта
для кабельного завода
Создали свыше 230 детализированных 3D-моделей кабелей
для Людиновокабель
О клиенте
Кабельный завод «Людиновокабель» — один из лидеров кабельной отрасли в России. Расположен в Калужской области в городе Людиново.
- Производственные площади свыше 22 000 м2;
- Номенклатура производства более 10 000 наименований;
- Число постоянных клиентов порядка 8000 предприятий и организаций;
- Численность работников свыше 500 человек.
Задача
Заказчик обратился к нам с задачей разработать высокоточные 3D-изображения кабелей для каталога на сайте. Изображения кабелей должны быть с прозрачным фоном и в точности соответствовать продукции завода. В качестве вотермарки на все кабели необходимо нанести лого.
Этапы работ
- Тестовое моделирование
- Анализ и оптимизация работы
- Создание рендеров
- Нанесение нумерации
- Создание шоурила
Согласование работ проходило не только с маркетологами, но и с технологами завода.
1 этап. Тестовое моделирование
Так как разработка 3D-моделей в сфере промышленности требует высокой точности, мы договорились с заказчиком сначала сделать тестовые работы. Нам нужно было полностью воспроизвести пример рендера, который он нам выслал.
В качестве софта мы использовали Blender с рендер-движком Cycles. Для этой задачи он подходил идеально: очень быстрый, когда речь заходит о моделировании, и выдает хорошую картинку при правильных настройках света и рендера.
На тесты, моделирование, создание материалов и финальный рендер ушло порядка 6 часов. На этом этапе мы еще не оптимизировали работу, целью было только повторить рендер.
Рендер, который нам выслал заказчик для воспроизведения:
Результат, который у нас получился:
Для того, чтобы финально утвердить вид рендера, положение камеры и материалы, которые будут использоваться на большинстве других продуктов (внешняя изоляция, медные и алюминиевые жилы), клиент попросил нас воссоздать еще один кабель.
Пример от клиента
Рендер, который мы сделали
На этапе согласования заказчик отправлял нам видео с завода и демонстрировал образцы кабелей, а также материалы для брони и корделя. Мы регулировали толщину изоляции и настраивали ракурс, пока не пришли к итоговому варианту. Его мы приняли за мастер-рендер, по аналогии с которым должны были создавать все остальные изображения:
2 этап. Анализ и оптимизация работы
На этом этапе заказчик подготовил для нас таблицу с необходимыми кабелями. В ней были указаны маркировка и количество жил, которые нужно отрендерить для каждого кабеля. Мы приняли решение работать спринтами. Начали проработку первого кабеля и всех вариаций количества жил для него.
Так, например, для кабеля AВБШвнг(А) нам нужно было подготовить 9 рендеров: по 3 для многопроволочных, однопроволочных и секторных типов исполнения.
На этом же этапе мы улучшили освещение и добавили логотип компании:
Поскольку у большинства кабелей были повторяющиеся элементы, сперва мы решили провести анализ. Тщательно изучили все кабели из списка, проанализировали виды изоляции, брони, жил и корделей, а затем определили, какие из них можем переиспользовать.
Нам нужно было сделать библиотеку ассетов для каждой детали кабеля, поскольку у двух абсолютно одинаковых кабелей может отличаться только одна составляющая.
Например, материал жилы может быть не алюминиевым, а медным:
3 этап. Создание рендеров
Когда мы решили основные проблемы с оптимизацией и ассетами, осталась последняя, самая объемная часть: отрендерить все оставшиеся кабели.
Стандартные кабели. Мы продолжили отрисовку тех кабелей из таблицы, где не было новых элементов: соответственно, они не нуждались в согласовании.
Итого на этом этапе вышло 164 изображения.
Кабели с защитой. Потом мы добрались до кабелей с защитой от пожаров и с низким дымовыделением. Они отличались новым материалом, проходящим между изоляцией и жилами кабеля.
Чтобы разобраться в том, какие отличия есть между кабелями с разными типами защиты, мы собрали отдельную таблицу. В нее поместили все маркировки, примеры и расшифровки:
Эта таблица помогла нам разобраться, для каких кабелей понадобится создание новых 3D-моделей, а какие будут дорабатываться на основе уже существующих.
К концу этого этапа мы подготовили еще 49 изображений.
Кабели СИП. Следующими на очереди были кабели СИП. Так как они не были похожи на предыдущие модели, мы создавали их с нуля.
На работу над ними, с учетом согласования и правок, мы потратили около 10 часов. Этот пак содержал в себе 14 изображений.
Контрольные кабели. Последние 4 кабеля – контрольные. Это самые первые кабели из тестового задания. Первоначальная модель не подходила для рендера, поскольку не была оптимизирована и слегка отличалась от остальных моделей по соотношениям размеров. Ее нужно было переделать и нанести нумерацию.
4 этап. Нанесение нумерации на контрольные кабели
Самой трудоемкой и времязатратной частью работы было нанесение нумерации на жилы. Вставлять отдельную текстуру и выравнивать ее на нужной части провода вручную, чтобы она была направлена перпендикулярно центру жилы наружу — очень долго и неточно.
Поэтому мы решили попробовать сделать кабель процедурным, чтобы можно было настраивать в нем количество жил, а нумерация на них расставлялась автоматически.
С этим нам помогли встроенные в Blender геометрические ноды.
Можно создавать модель, последовательно подключая ноды. При этом сохраняется возможность редактирования на любом из прошлых этапов работ. То есть, если на внешнем кольце в кабеле располагается 20 жил, в обычной модели нам бы пришлось потратить очень много времени, чтобы добавить к ним еще одну. А учитывая, что кабели должны быть пронумерованы — все становилось бы еще сложнее.
С геометрическими нодами количество жил — всего лишь параметр. При желании его изменить мы можем просто менять параметр Resolution:
Этот параметр — количество углов в многоугольнике, где на каждой из вершин мы располагаем модель жилы. Потом мы подсоединяем к жиле параметр вращения и делаем так, чтобы жила всегда смотрела строго лицевой стороной наружу. Последним шагом мы присваиваем индекс каждой жиле. Потом в настройках текстур мы сможем использовать это число для нумерации.
В настройках текстуры мы получаем атрибут индекса и проводим с ним несколько математических операций:
Каждому кабелю мы присваиваем текстуру с нумерацией. Но от нее нам нужно отсечь все ненужные числа и оставить только одно. То есть, индекс кабеля мы должны превратить в координаты на текстуре. Для этого, по оси x мы применяем формулу: mod(floor([index]/10)), а по оси y: (floor([index] / 10) — 2) / 10.
Для масштабирования мы делим ширину текстуры на 10, а высоту – на 4, потому что таблица из чисел содержит 10 на 4 ячеек. Потом мы просто накладываем эту текстуру на жилу, а к остальной части изоляции применяем ее белый материал.
Получившийся результат:
5 этап. Создание шоурила
Когда мы практически закончили работу над созданием 3D-моделей кабелей, клиент попросил сделать шоурил с кабельной продукцией для их стенда на выставке.
Основная задача — сделать зацикленное видео с пролетами камеры длительностью 1 минуту.
Поскольку почти все оптимизационные вопросы были решены на предыдущих этапах, кабели рендерились быстро. Они были собраны по ассетам и легко переносились в другой проект. Мы сделали несколько тестовых пролетов: согласовали ракурсы и освещение и определили, какие кабели должны попасть в итоговое видео.
Затем наступил период рендеров. Анимации рендерились сутками на протяжении недели. Для финального ролика использовалось около 2000 кадров: несмотря на такой внушительный объем работы, нам удалось закончить видео в невероятно короткий срок к дедлайну заказчика.
Проблемы в процессе работы
Иногда всплывали, на первый взгляд, незначительные правки: например, изменить цветовые обозначения жил. А в итоге появлялась необходимость вернуться к предыдущим изображениям кабелей и перерендерить целую пачку, в которых также присутствовала ошибка. В остальном процесс проходил плавно. Мы работали по спринтам с определенными паками кабелей, а потом делали их медную вариацию, если она была.
На одном из этапов мы осознали, что итоговое количество рендеров перевалит за 200 изображений. Поэтому в целях экономии времени было необходимо максимально сократить время на сам рендер. Особенно, когда один кабель рендерился 10-12 минут, а на некоторых время могло доходить и до 20 минут.
На время рендера влияет множество факторов: количество источников освещения, разрешение, количество сэмплов при рендере и сложность используемого материала.
Смена освещения или разрешения означала бы внесение изменений во все сделанные рендеры и новое пересогласование. К тому же они были на оптимальном уровне и не сильно сэкономили бы нам время.
А вот снижение числа сэмплов помогло бы выиграть немало времени, но повлияло бы на качество изображения, поэтому от этой идеи мы тоже отказались.
Тогда мы решили разобраться в своих материалах и посмотреть, насколько можно их упростить. Например, в качестве некоторых материалов использовали ассеты из готовых библиотек, в которых были текстуры очень высокого разрешения, displacement-карты, и много сложных для просчета шейдеров.
Мы начали поочередно заменять их на собственные материалы, которые опираются только на стандартный Principled-шейдер, с собственными картами для Bump-текстур и своими настройками, которые были бы близки к тем, что были в согласованных рендерах.
Эти изменения значительно ускорили отрисовку каждого кабеля. С 10-12 минут нам удалось сократить время до 1.5-2 минут на кабель. Стало гораздо удобнее и быстрее вносить правки заказчика. А сами кабели стали больше подходить для записи видео, где скорость прорисовки кадра — один из самых важных факторов.
Результат
Погружаться в тему кабельной продукции было непросто, но интересно. Сперва нужно было разобраться в маркировках и материалах, а затем пройти длительные этапы согласований и повторных рендеров. Решать множество технических задач и постоянно оптимизировать работу.
Мы получили массу опыта и успешно справились с поставленными задачами.
-
230+
3D-моделей кабелей
-
100+
часов работы
-
20
часов на создание видеоролика