Возможно, вы, как и я, много раз пробовали осваивать 3D-моделирование, но каждый раз ударялись о высокий входной порог. А может быть, вы выбираете себе подходящий инструмент для начинающих? Тогда вы можете представить мою радость, когда я узнал о Blockbench — минималистичном 3D-редакторе, предназначенном для создания твердотельных моделей. Для меня он пока остаётся идеальным компромиссом между сложностью обучения и возможностями.

Что такое Blockbench


Blockbench — редактор, изначально рассчитанный на моделирование блоков, предметов и скинов персонажей Minecraft (Bedrock Edition). Добавляем в сцену примитив, навешиваем на него текстуру (заморачиваться с UV-развёрткой не нужно, она создаётся автоматически), разрисовываем текстуру прямо на модели, при необходимости добавляем анимации — вуаля, у нас есть готовый 3D-объект!

Редактор доступен в виде веб-приложения, а также скачиваемого пакета для Windows, Linux и Mac на Electron. Веб-приложение имеет определённые ограничения, например, не позволяет экспортировать модели в Sketchfab и неудобно сохраняет модели/текстуры, поэтому я предпочитаю установщик.

В статье мы сначала создадим простой объект, нарисуем для него текстуры и потом анимируем его, а под конец разберёмся, как импортировать получившуюся модель в игровые движки и другие 3D-редакторы. Я буду ссылаться на английский интерфейс, которым и рекомендую пользоваться, потому что русский явно выполнен в традиции гугл-перевода.

Начальное меню



После запуска программа приветствует нас начальным экраном, на котором можно выбрать тип создаваемой модели. Модели для Minecraft нас не интересуют, поэтому сразу выберем пункт Generic Model. Пункт Image ниже него позволяет создать нарисовать плоское изображение (например, текстуру), но для этого есть более удобные сторонние инструменты, так что не будем на нём останавливаться.

Итак, после выбора Generic Model и нажатия на Create New Model мы попадаем в основное окно программы, где можно ввести имя файла нашей модели и настроить её параметры. Мы будем моделировать сундук, так что введём Chest.


Режимы Blockbench


Процесс работы в Blockbench состоит из редактирования (Edit), рисования текстур (Paint) и анимирования (Animate). Переключаться между этими режимами можно в правой части окна программы.


Рассмотрим каждый из режимов подробнее.

▍ Edit (Редактирование)


Инструменты редактирования моделей Blockbench просты, забудьте о всяких частицах, физике, риггинге, модификаторах и прочем: пользователь может создавать новые трёхмерные фигуры (меши), перемещать, вращать и масштабировать их, модифицировать их на уровне объекта в целом, поверхностей, граней и вершин, разрезать и экструдировать. Разумеется, при таком коротком списке возможностей не разгуляешься, однако иногда минимализм — это как раз то, что нужно!

Для начала создадим простую модель сундука. Нажмём на кнопку Add Mesh с изображением бриллианта и выберем в открывшемся меню форму Cuboid.


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


В верхней левой части панели инструментов находятся кнопки изменения основных параметров мешей: перемещения, поворота и масштаба. Все изменения выполняются при помощи перетаскивания управляющих элементов (gizmo), соответствующих осям. Изменения происходят с достаточно большим шагом (одна единица размера в случае перемещения и масштабирования, 5 градусов в случае поворота), уменьшить шаг можно клавишами Shift и Ctrl. Масштабирование по умолчанию происходит в обе стороны от оси (например, и в сторону X+, и X-), масштабировать только в одну из сторон можно при помощи горячей клавиши-модификатора Alt. Если попробовать вращать меш, то можно заметить, что вращение происходит не относительно центра нашего кубоида, а относительно точки в начале координат. Это опорная точка (Pivot point) меша, некий аналог точки Origin в Blender. Изменить её местоположение можно при помощи инструмента Pivot Tool.

Вернёмся к нашей заготовке сундука.


В центральной верхней части окна приложения находятся кнопки переключения режимов выделения: Object (объект), Cluster (кластер, то есть все соединённые между собой вершины), Face (грань), Edge (ребро) и Vertex (вершина). По умолчанию выбран режим Object, позволяющий выделять целиком весь меш объекта.

Переключимся на режим Face (грань) и выделим верхнюю грань нашего кубоида. Рядом с кнопками режимов выделения появятся инструменты для редактирования меша.


Нам нужен инструмент Inset Selection, который создаёт новую грань со смещением внутрь.

Теперь изменим масштаб получившейся грани при помощи уже известного нам инструмента масштабирования.


Экструдируем ту же грань и опустим её вниз, чтобы создать стенки и дно сундука.


Переключимся в режим выделения Object, чтобы выбрать весь объект. Дублируем его (Ctrl + D), в панели Outliner появится новый объект cuboid. Там же переименуем их в Chest и Lid, а затем при помощи инструментов поворота и перемещения поставим крышку на сундук.


Добавим новый объект-кубоид, это будет щеколда замка. Изменим её размеры при помощи инструмента масштабирования и переместим на сундук. Не забывайте, что для уменьшения шага перемещения, масштабирования и вращения можно использовать Shift и Ctrl.


Теперь сделаем так, чтобы щеколда была связана с крышкой. Для этого создадим в панели Outliner группу мешей, ей автоматически присвоится имя bone. Перетащим в неё крышку и щеколду.


Если теперь выбрать группу и попробовать её вращать, то точка, относительно которой происходит поворот, будет находиться не в нужном нам месте. Это та самая начальная точка, местоположение которой можно менять при помощи инструмента Pivot Tool. Переместим её в место контакта задней стенки сундука и крышки. В дальнейшем это пригодится нам для того, чтобы создать анимацию открывания.


Итак, теперь у нас есть готовая модель, можно переходить к текстурам.

Paint (рисование текстур)


Для создания текстуры нужно выбрать объект и нажать на кнопку Create Texture в панели TEXTURES. В появившемся диалоговом окне можно указать имя текстуры и её параметры. Единственный важный для нас пока параметр — это Pixel Density (плотность пикселей). Blockbench утверждает, что это количество пикселей на метр, но, похоже, это не совсем так. В целом, чем выше Pixel Density, тем больше разрешение текстуры и тем более детализированной она может быть.


Оставим значение Pixel Density по умолчанию (х16), создадим текстуру для нижней части сундука, а потом повторим то же самое для крышки и щеколды.


Теперь у нас есть текстуры для каждой из частей нашей модели. Они отображаются в панели UV при нажатии на соответствующие объекты в основном окне. Можно начинать их раскрашивать.

Перейдём в режим Paint. Он похож на обычный графический редактор, только рисовать текстуры в нём можно и непосредственно раскрашивая объекты, и в панели UV. Здесь есть простые инструменты редактирования: кисть, заливка, ластик, пипетка и так далее.


Выберем Paint Bucket (заливку) и режим Element, позволяющий заливать цветом объект целиком. Закрасим таким образом цветом древесины нижнюю часть и крышку, а щеколду сделаем металлической. Затем при помощи кисти добавим текстурам деталей.



На этом этапе стоит сохранить файл Blockbench, при этом программа запросит и имена для сохранения текстур в формате PNG.

Теперь можно переходить к анимации.

Animate (анимации)


Сначала ненадолго вернёмся в режим Edit и «закроем» сундук при помощи инструмента вращения. Напомню, что для поворота крышки с щеколдой нужно выделить группу bone.


Перейдём в режим Animate. При этом слева появится панель Animations, а внизу — панель Timeline. Для начала нужно создать анимацию группы bone. Выделим её и нажмём в панели Animations на +. Назовём нашу анимацию Opening и выберем режим Loop, чтобы она выполнялась циклично.

В панели Timeline появится группа bone. У неё есть три параметра, которые можно менять между кадрами, чтобы их получившаяся разница и создавала изменения, то есть анимацию. Нажмём на + рядом с параметром Rotation. На временной шкале рядом появится маркер-ромб, это наш первый ключевой кадр. Перетащим синий ползунок вправо до временной метки 2 (время указывается в секундах), откроем сундук при помощи инструмента вращения в верхней панели и ещё раз нажмём на + возле Rotation.

Давайте поподробнее поговорим о том, что мы сделали: у первого ключевого кадра, который мы создали на временной метке 0, и у второго на метке 2 есть разница во вращении. Blockbench выполняет линейный переход от значений вращения в первом ключевом кадре к значениям вращения во втором ключевом кадре, создавая анимацию. При желании можно нажать на кнопку Play Animation (её горячая клавиша — пробел) и воспроизвести нашу анимацию из двух ключевых кадров. Обратите внимание, что после завершения анимация переключается на начало благодаря выбранному нами в настройках анимации Opening режима Loop. Выглядит это пока не очень красиво: после завершения анимации крышка резко закрывается.


Переместим ползунок кадра на отметку 4 секунды, снова закроем сундук и добавим ещё один ключевой кадр вращения, нажав на + рядом с Rotation. Для удобства можно изменить масштаб временной шкалы, наведя на неё курсор и покрутив колесо мыши с зажатой клавишей Ctrl. Запустите анимацию, теперь сундук открывается и закрывается, совершая полный цикл. При желании можно поменять в панели Keyframe способ интерполяции между ключевыми кадрами, например, с линейной (Linear) на плавную (Smooth). Выбор интерполяции выполняется для каждого кадра по отдельности, соответствующим образом будет меняться и внешний вид маркеров ключевых кадров на временной шкале.


Итак, мы вкратце рассмотрели основные функции Blockbench; теперь перейти к тому, как импортировать модели в игровые движки и другие 3D-редакторы. Разработчиками заявлена поддержка движков Godot, Unity и Unreal Engine, так что в этом порядке и будем двигаться.


Godot


Экспорт моделей Blockbench в движки выполняется при помощи формата glTF. Зайдём в File — Export — Export glTF Model. В появившемся диалоговом окне проверим, что установлены флажки напротив Embed Textures и Export Animations. Первый пункт позволяет встроить текстуры в сам файл, второй сохраняет в него же анимации. Нажмём на Confirm, файл с расширением .gltf сохранится в ту же папку, где находится исходная модель.


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


Дважды щёлкнув по модели в списке ресурсов проекта, можно открыть её настройки, где отображается и импортированная анимация.


Unity


Unity 6 поддерживает glTF «из коробки» — для импорта достаточно перетащить файл в папку Assets, после чего модель преобразуется в обычный префаб.


В LTS-версиях Unity 2021.3+, 2022.3+ и 2023.3+ придётся дополнительно добавить в проект плагин, созданный разработчиком формата glTF KhronosGroup: https://github.com/KhronosGroup/UnityGLTF. Для установки плагина нужно скачать его в формате .unitypackage, а затем добавить в проект или через Package Manager, или просто перетащив в папку Assets и нажав на Import. После установки плагина импорт glTF начнёт работать.


Unreal Engine


В UE 5.5 модели без проблем импортируются через меню Файл — Импорт на уровень


Подведём итог


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

Примеры готовых работ


пример 1
пример 2
пример 3
пример 4
пример 5


© 2025 ООО «МТ ФИНАНС»

Telegram-канал со скидками, розыгрышами призов и новостями IT ?

Комментарии (1)


  1. Jijiki
    15.01.2025 09:27

    такую машинку в БСП -разбитием вокселизайией с рейкаст вокселя ууух красиво былоб ). вообщем вокселизация называется структура разная может быть

    Скрытый текст
    пример
    пример

    сам по себе воксель с чанками не сложен а вот разбитие может нагрузить там посложнее