К статье
Практический материал

Бильярдное оборудование · 10 мин

Как сделать бильярдный стол в Blender

Подробное руководство по 3D-моделированию бильярдного стола в Blender: от настройки сцены до рендера. Создание сукна, шаров, кия и освещения.

Создание реалистичной 3D-модели бильярдного стола в Blender — задача, которая требует аккуратной работы с пропорциями, материалами и освещением. В этом руководстве вы научитесь моделировать стол с нуля, используя стандартные инструменты Blender, без сторонних аддонов. Вы получите готовую сцену, которую можно рендерить в Cycles или Eevee, а также узнаете, как избежать типичных ошибок новичков.

Мы разберём полный цикл: от настройки единиц измерения и создания корпуса до текстурирования сукна и расстановки шаров. Статья рассчитана на пользователей с базовыми навыками Blender — вы должны уметь перемещать объекты, работать в режиме редактирования и применять модификаторы. Если вы впервые открываете Blender, сначала пройдите короткий обучающий курс по интерфейсу.

Для работы вам понадобится Blender версии 3.x или новее — все инструменты, которые мы используем, доступны в бесплатной версии. Также подготовьте референсы реального бильярдного стола: пропорции стандартного стола для русского бильярда (12 футов) или пула (9 футов) можно найти в открытых источниках. Мы будем использовать усреднённые размеры, чтобы модель выглядела убедительно.

Подготовка сцены и настройки Blender

Перед началом моделирования настройте единицы измерения. Откройте вкладку Scene Properties (свойства сцены) и в разделе Units выберите метрическую систему (Metric) и масштаб 0.001 — это соответствует миллиметрам. Так вы сможете задавать точные размеры стола: длина игрового поля стандартного пула — 2540 мм, ширина — 1270 мм. Для русского бильярда — 3600×1800 мм, но для учебной модели можно взять пропорции 2:1.

Установите рендер-движок Cycles для фотореалистичного результата. В настройках рендера включите GPU-вычисления, если ваша видеокарта поддерживает CUDA или OptiX. Для предварительного просмотра используйте Eevee — он быстрее, но материалы сукна и отражения будут менее точными.

Создайте новый файл, удалите куб по умолчанию (X) и сохраните проект (Ctrl+S). Назовите файл «billiard_table.blend». Дальнейшие действия выполняйте в режиме Object Mode, переключаясь в Edit Mode (Tab) для редактирования геометрии.

Порядок подготовки сцены
  1. 1
    Установите единицы измерения: Metric, Scale 0.001
  2. 2
    Выберите рендер Cycles и включите GPU
  3. 3
    Удалите куб и сохраните проект
  4. 4
    Добавьте плоскость для пола (Shift+A > Mesh > Plane)

Моделирование корпуса стола: основание, борта и лузы

Начните с основания. Добавьте куб (Shift+A > Mesh > Cube) и в режиме редактирования растяните его до размеров 2600×1300×200 мм (это габариты стола с бортами). Перейдите в режим граней (2) и выдавите верхнюю грань (E) вниз на 50 мм, чтобы сформировать углубление под игровое поле. Полученную нишу залейте плоскостью — это будет основание для сукна.

Теперь создайте борта. Выделите внешние рёбра верхней части корпуса и выдавите их вверх на 40 мм. Затем с помощью инструмента Bevel (Ctrl+B) скруглите верхние кромки бортов, задав сегменты 2–3. Для луз (отверстий) в углах и по середине длинных бортов используйте булевы операции: добавьте цилиндры нужного диаметра (для пула — 120 мм) и вычтите их из корпуса модификатором Boolean.

Важно: лузы должны быть сквозными — от верхней плоскости до нижней. Убедитесь, что модификатор Boolean применён (Apply) перед дальнейшей работой. Если вы моделируете стол для русского бильярда, лузы делают уже — 80–90 мм, а борта выше. Для простоты можно не делать сквозные отверстия, а просто углубления — но тогда шары не будут «падать» при симуляции.

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

Сукно — это отдельная плоскость, лежащая в углублении корпуса. Добавьте плоскость (Shift+A > Mesh > Plane) и подгоните её размер под внутренние габариты поля (например, 2540×1270 мм). В режиме редактирования поднимите её на 1–2 мм выше дна ниши, чтобы она не пересекалась с корпусом. Назначьте ей материал с шейдером Principled BSDF: цвет — зелёный (#006400) для русского бильярда или синий (#00008B) для пула, roughness — 0.8, specular — 0.1.

Разметка наносится с помощью текстурных координат. Создайте UV-развертку плоскости (U > Unwrap), затем в редакторе шейдеров добавьте узел Image Texture с изображением разметки. Если вы не хотите искать текстуру, нарисуйте линии в самом Blender: добавьте кривые (Curve) и расположите их над плоскостью. Для бильярда нужны: центральная линия, круг в центре (диаметр 320 мм), точка прицеливания и линии «дома» (для пула — передняя линия).

Чтобы линии не просвечивали сквозь сукно, поместите их на 0.5 мм выше поверхности и назначьте белый материал с roughness 1.0. Для реализма добавьте лёгкую зернистость текстуры сукна через узел Noise Texture, смешанный с базовым цветом.

Моделирование шаров и кия

Шары — это UV-сферы с количеством сегментов 64 и колец 64 для гладкой поверхности. Стандартный диаметр шара для пула — 57.15 мм, для русского бильярда — 68 мм. Создайте один шар, задайте точный размер и скопируйте его (Shift+D) для остальных. Для набора из 16 шаров (пул) или 16+1 (русский) потребуется 16–17 копий — в зависимости от числа шаров.

Каждому шару назначьте свой материал. Белые и цветные шары можно сделать с помощью градиента: используйте узел Gradient Texture в координатах Object, чтобы создать полосу цвета на белом фоне. Для номера шара — добавьте текст (Shift+A > Text) и расположите его на поверхности, но это сложно. Проще использовать готовые текстуры шаров, которые легко найти в интернете. Настройте материал: roughness 0.2, clearcoat 0.5 для глянцевого блеска.

Кий моделируется как цилиндр с коническим сужением к тонкому концу. Длина кия — 1470 мм, диаметр толстого конца — 30 мм, тонкого — 10 мм. Создайте цилиндр (Shift+A > Mesh > Cylinder) с 32 гранями, перейдите в режим редактирования и масштабируйте верхнюю грань (S) до 0.3. Добавьте модификатор Subdivision Surface для сглаживания. Наклейка на тонком конце — маленький цилиндр синего цвета (кожа).

Сравнение вариантов моделирования шаров

Текстуры

Быстро и реалистично, но нужно найти подходящие изображения с UV-развёрткой.

Процедурные материалы

Гибко настраиваются, но сложно сделать точную маркировку без текстур.

Настройка освещения и камеры для финального рендера

Для реалистичного освещения бильярдного стола типична подвесная лампа над центром поля. Добавьте точечный источник света (Shift+A > Light > Point) на высоте 1200 мм над поверхностью, установите мощность 100 Вт (для Cycles — 50 Вт), цвет тёплый (2700K). Включите тени с мягким краем, увеличив радиус источника до 0.2 м.

Добавьте окружающий свет через World Properties: установите фон тёмно-серый (значение 0.05) и добавьте узел Environment Texture с HDRI-картой интерьера — это даст естественные отражения на шарах. Если HDRI нет, используйте простое освещение — два Area Light с обеих сторон стола.

Камера: расположите её под углом 45 градусов к столу, на расстоянии 2–3 метра. В настройках камеры установите фокусное расстояние 35 мм, глубину резкости с фокусом на центр стола. Для проверки композиции включите сетку третей (Viewport Overlays > Guides).

Контрольные точки

Как проверить результат

Пропорции стола
Норма

Длина поля ровно в 2 раза больше ширины

Тревожный признак

Визуально стол выглядит квадратным или вытянутым

Материал сукна
Норма

Цвет равномерный, без полос и артефактов

Тревожный признак

Сукно просвечивает или имеет резкие переходы

Освещение
Норма

Шары дают отражения, тени мягкие

Тревожный признак

Чрезмерно яркие блики или полностью чёрные участки

Частые ошибки и советы по оптимизации

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

Вторая ошибка — слишком плотная сетка на ранних этапах. Используйте модификатор Subdivision Surface на финальной стадии, а не сразу. Это ускорит работу и позволит легко вносить правки.

Третья ошибка — отсутствие резервных копий. Перед сложными операциями (Boolean, Apply) сохраняйте файл как отдельную версию (File > Save As).

Для оптимизации рендера: используйте упрощённые материалы для объектов вне кадра, отключите subsurface scattering на сукне, если не нужна имитация ворса. Также можно снизить количество сэмплов в Cycles до 128 — этого достаточно для предварительных просмотров.

Типичные ошибки
01
Создание луз без сквозных отверстий — шары не проваливаются при симуляции
02
Использование стандартного куба для корпуса — нет скруглений, стол выглядит грубо
03
Размещение шаров на одном уровне с сукном — они «тонут» в плоскости

Финальная сборка сцены и рендер

Расставьте шары в пирамиду на поле. Для пула — треугольник из 15 шаров, для русского — ромб. Вручную позиционировать каждый шар долго, поэтому используйте массив (Array modifier) или скрипт Python, но для простоты достаточно расставить вручную с привязкой к сетке (Shift+S > Cursor to World).

Добавьте кий рядом со столом или в руке персонажа (если есть). Проверьте, что все объекты имеют корректные материалы и не пересекаются. Включите рендер изображения (F12) и дождитесь завершения. Если картинка слишком тёмная, увеличьте мощность источников света или добавьте fill light.

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

Итог

Что важно запомнить

Главное — точные размеры и правильные материалы. Начните с простого стола без луз, затем добавляйте детали. Используйте Cycles для финального рендера и сохраняйте резервные копии.

Часто задаваемые вопросы

Как сделать лузы в Blender без булевых операций?

Можно смоделировать лузы как отдельные отверстия, вырезав их вручную в режиме редактирования: выделите нужные грани и удалите их, затем соедините рёбра. Это сложнее, но даёт более чистую сетку. Для простоты используйте Boolean, но обязательно применяйте его на копии объекта.

Какие настройки рендера лучше для бильярдного стола?

Для реализма используйте Cycles с 256 сэмплами, включите Denoising. Для быстрого превью — Eevee с Ambient Occlusion и Screen Space Reflections. В Eevee сукно может выглядеть плоским, поэтому для финального изображения предпочтителен Cycles.

Нужно ли моделировать каждый шар отдельно?

Нет, достаточно создать один шар и сделать его копии. Затем измените материалы для разных шаров. Если используется текстура, настройте UV-развертку для каждой копии, чтобы номер был виден правильно.

Как сделать разметку на сукне без текстуры?

Используйте кривые (Curve) или плоскости, размещённые на поверхности. Для круга — добавьте тор (Torus) с очень маленьким радиусом трубки. Выровняйте их по координатам и назначьте белый материал.

Можно ли использовать этот стол для игры в симуляторе?

Да, если экспортировать модель в игровой движок (Unity, Unreal) и добавить физические коллайдеры. В Blender можно создать симуляцию с помощью Rigid Body, но для игры потребуется написать скрипты.

Как сделать сукно с ворсом?

Добавьте модификатор Particle System для имитации ворсин, но это сильно нагружает рендер. Альтернатива — использовать карту нормалей с шумом. В Cycles можно добавить узел Bump с Noise Texture, чтобы создать лёгкую шероховатость.