Бесплатный воксельный конструктор · играбельно, без установки

AI-конструктор воксельных игр — постройте блочный мир в браузере

Создайте свой AI-конструктор воксельных игр

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

✦Игра
Постройте воксельный мир из парящего блочного архипелага

AI-конструктор воксельных игр превращает письменное описание в блочный мир, по которому можно ходить прямо во вкладке браузера. Вы описываете место — базальтовое плато в сумерках, спуск в два блока к чёрному песку, мелкий риф — а композер превращает его в высоту рельефа, палитру блоков по слоям, точку появления и угол солнца. Та же страница отрисовывает этот мир, позволяет играть в него и редактировать его. Без установки, без шага экспорта, без кода.

На этой странице разобрано, что на самом деле делает воксельный путь: как композер превращает предложение в сетку блоков, какие существуют операции редактирования, почему отсечение невидимых граней — это разница между играбельным миром и слайд-шоу, почему персонаж со сглаженным затенением рядом с блоками с жёсткими краями выглядит неправильно и насколько далеко этот формат простирается от песочницы от первого лица до небольшой изометрической диорамы. Здесь также описаны играбельные миры, уже опубликованные в Neta Studio, и режимы отказа, с которыми вы столкнётесь первыми.

Постройте воксельный мир одним предложением

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

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

Композер пишет в ту же воксельную сетку, в которую пишут инструменты-кисти. Нет сгенерированного слоя поверх отредактированного, поэтому нет шага объединения, нет просмотра различий и нет импорта. На этом механизме держится весь продукт: генерация и редактирование — это два писателя одной структуры, трёхмерного массива идентификаторов блоков, адресуемых целочисленными координатами и разбитых на чанки.

Что на самом деле задаёт предложение

Рельеф сэмплируется из функции высоты с несколькими именованными параметрами: базовая высота, амплитуда, резкость хребтов и порог пещер. Материалы назначаются по глубине и уклону, поэтому верхний блок — это трава на ровной земле и камень на всём, что круче примерно 45 градусов. Именно из-за этого правила уклона скалы перестают выглядеть как зелёные холмы. Вода заполняет каждую ячейку ниже заданного вами уровня, а точка появления оказывается на первой твёрдой поверхности рядом с центром мира, с запасом в два блока над головой.

Если вам нужна конкретная постройка, а не конкретный пейзаж, назовите её размеры в плане и её материал. Песчаниковая цитадель, 16 блоков в стороне, высотой 6 блоков, с одной дверью в южной стене, даёт то, внутрь чего можно войти. «Замок» даёт коробку с несколькими башнями, потому что у модели нет причин предпочитать одно расположение другому.

Где первый черновик идёт не так

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

Mini World — вырастите маленькую планету блок за блоком, прямо в браузере.

Стройте и разрушайте рельеф в браузере

Редактор предоставляет четыре операции над одной и той же сеткой: поставить блок, убрать блок, заменить блок, сохранив его соседей, и нарастить — проведите вдоль грани, чтобы вытолкнуть ряд блоков одним движением. Кисть — это луч, пущенный в сетку, а не в отрисовываемый меш. Она шагает по ячейкам циклом DDA до предела досягаемости, поэтому определение попадания точное независимо от того, как была сгенерирована поверхность, и никогда не зависит от количества треугольников.

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

Именно отсечение граней позволяет всему этому работать. Сплошной чанк 16×16×16 содержит 4096 блоков. При наивной отрисовке это 4096 кубов, то есть 24 576 четырёхугольников. При отрисовке с отсечением по граням выводятся только грани, соседние с воздухом: оболочка такого чанка — это 1536 четырёхугольников, шестнадцатикратное сокращение ещё до любого объединения. Жадное объединение граней сливает компланарные грани блоков одного типа в более крупные четырёхугольники, что снова сокращает их число на ровной земле и почти ничего не даёт на шумном рельефе. Поэтому бюджет перестройки важнее, чем сам построитель мешей.

Как AI-конструктор воксельных игр удерживает частоту кадров

Правка помечает свой чанк как изменённый, и построитель мешей перестраивает этот чанк плюс любого соседа, у которого изменились граничные грани. Перестройки выполняются в рамках бюджета на кадр, а не все сразу. Если вы заполните область 32×32×32, вы получите несколько кадров устаревшей геометрии вместо зависания. Заметный артефакт недолговечен — дыра там, где вот-вот появится стена, — и при 60 кадрах в секунду это правильный компромисс.

  • Кисть с ограниченной досягаемостьюУстановка и удаление работают в пределах короткой досягаемости от камеры, измеряемой в блоках. Короткая досягаемость не даёт редактировать рельеф, которого вы не видите, и держит пуск луча дешёвым.
  • Заполнение линией и областьюПроведите линию, чтобы вытолкнуть ряд блоков, или растяните область, чтобы заполнить объём. Оба действия сворачиваются в одну запись отмены.
  • Хранение по чанкамМир хранится в виде чанков 16×16×16 из идентификаторов блоков. Пустые чанки ничего не стоят, и меш получают только непустые чанки.
  • Столкновения из сеткиСтолкновения игрока читаются напрямую из воксельной сетки, а не из отрисовываемого меша, поэтому вы не провалитесь сквозь блок, который ещё ждёт своей перестройки.

Воксельные персонажи и объекты, подходящие к блокам

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

Решение — создавать объекты в воксельном масштабе. Стройте персонажа, дерево, ящик и лестницу из тех же единичных блоков, что использует рельеф, и с той же палитрой. Agent Sprite Forge создаёт выровненных по сетке персонажей, которые разделяют блочный масштаб мира, поэтому персонаж, стоящий на краю блока, стоит на нём, а не парит на полблока выше.

Три вещи должны оставаться согласованными, чтобы воксельная сцена держалась вместе. Масштаб блоков: один блок — это одна единица мира, поэтому стул — это 1×1×2, дерево высотой 5–7 блоков, дверной проём шириной 2 и высотой 3. Палитра: 12–16 цветов, общих для рельефа и объектов, а не по 16 для каждого. Фильтрация текстур: ближайший сосед, чтобы края оставались чёткими, когда камера близко. Если объект обязан быть круглым — бочка, колесо, — имитируйте это ступенчатым силуэтом, а не цилиндром.

  • Персонажи, выровненные по сеткеПерсонажи, созданные Agent Sprite Forge, попадают на границы блоков, поэтому постановка ног и дверные проёмы совпадают без ручного смещения.
  • Общая палитраОбъекты берут цвета из той же блочной палитры, что и рельеф. Объект, приносящий пять новых цветов, — самый быстрый способ заставить сцену выглядеть собранной из деталей.
  • Плоские нормалиДержите затенение по граням плоским и на рельефе, и на объектах. Смешивание плоского рельефа со сглаженными объектами под одним источником света — самая частая причина того, что воксельная сцена выглядит неправильно.
Four Seasons Courtyard — та же идея расстановки блоков в масштабе диорамы.

От майнкрафтоподобного к изометрической диораме

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

Компромисс — между читаемостью и погружением. Первое лицо на уровне земли скрывает сетку: вы видите стену, а не кубы. Изометрический вид на расстоянии обнажает её, и весь мир читается как один объект, у которого видны все рёбра. Сначала выберите камеру, затем выберите размер блока относительно объекта. Диорама обычно требует более крупных блоков относительно рельефа, поэтому остров шириной 20 блоков читается как модель, а не как уменьшенный уровень.

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

Воксельный режимКамера и масштабГде это ломается
Песочница от первого лицаВысота глаз около 1,6 блока, обзор мышью, короткая досягаемостьВертикальный рельеф: без автоматического подъёма вы застреваете на уступе в один блок
Приключение от третьего лицаСледящая камера в 6–10 блоках позади, наклон ограниченКамера проваливается в рельеф, если проверка лучом её не вытолкнет
Изометрическая диорамаФиксированный поворот на 45 градусов, ортографическая или длиннофокусная проекцияКомпланарные грани конфликтуют на ровной земле, если блоки не освещены по граням
Конструктор с видом сверхуСтрого вниз, без наклонаВы не можете оценить высоту, поэтому установка друг на друга превращается в угадывание

Играйте прямо сейчас — без экспорта, без установки

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

Управление — то, которое вы ожидаете: клавиши WASD или стрелки для движения, обзор мышью при захвате указателя, пробел для прыжка, и та же кисть установки и удаления, привязанная к кнопкам мыши, чтобы можно было продолжать строить, не выходя из режима игры. На сенсорных устройствах захвата указателя нет, поэтому перетаскивание вращает обзор, а касание ставит блок.

Три опубликованных мира показывают диапазон. Mini World — это небольшая песочница с фиксированной палитрой, полезная для проверки того, насколько много может сцена при очень малом числе типов блоков. The Cyclops' Island — более крупный участок рельефа с ориентирами, расставленными вручную после генерации, что и есть обычный рабочий процесс. Конструктор 3D-игр — это общий случай: опишите, отредактируйте, добавьте объекты из Agent Sprite Forge и играйте.

Что AI-конструктор воксельных игр даёт вам в момент игры

Мир прибывает играбельным в той же вкладке. Меши рельефа подгружаются по мере ходьбы, пустые чанки ничего не стоят, а бюджет кадра — это такт в 60 Гц около 16,6 мс, разделённый между перестройками мешей и отрисовкой. Большой только что сгенерированный мир тяжелее всего в первых кадрах, потому что вы появляетесь там, где меши наиболее плотные.

  • Mini WorldНебольшая песочница с урезанной блочной палитрой. Полезна как ориентир того, насколько читаемой остаётся сцена, когда вы ограничиваете материалы.
  • The Cyclops' IslandБолее крупный сгенерированный рельеф с ориентирами, расставленными вручную. Показывает обычный рабочий процесс: сгенерируйте землю, затем отредактируйте те части, куда игрок действительно пойдёт.
  • Конструктор 3D-игрОбщий путь: опишите мир, отредактируйте блоки, добавьте воксельные объекты и играйте, не покидая браузер.
  • Agent Sprite ForgeСоздаёт персонажей, подходящих блочному масштабу мира, поэтому их можно поместить в сцену без изменения размера.

Идеи для воксельной песочницы

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

Схема, которая важна во всех четырёх, одна и та же. Сгенерируйте, затем проверьте точку появления, затем отредактируйте два-три места, которые игрок видит первыми. Большинство сгенерированных миров пригодны к использованию, и почти во всех нужно поправить вручную точку появления и один ориентир.

1

01

Остров выживания — опишите участок суши шириной 64 блока с кольцом пляжа, центральным холмом и водой со всех сторон. Проверьте, что точка появления на песке, а не на полпути вверх по холму. Поставьте укрытие 5×5 с дверным проёмом 2×3 и плоской крышей, на которой можно стоять. Выкопайте яму глубиной 3 блока у берега и заполните нижний слой камнем, чтобы проверить удаление и наращивание одним движением.

2

02

Творческий участок — начните с плоскости: постоянная базовая высота, амплитуда близка к нулю. Покрасьте площадку 32×32 в один материал, чтобы участок читался как участок. Постройте один ориентир вместо заполнения площадки: башню, ворота или мост. Запустите игру и посмотрите на ориентир из точки появления; если силуэт не читается на таком расстоянии, ориентир слишком мал.

3

03

Городской квартал — опишите плоскую сетку с двумя пересекающимися линиями улиц. Поставьте четыре здания высотой 4, 6, 8 и 12 блоков, чтобы силуэт города имел ступеньку, а не плоский верх. Сделайте первый этаж каждого здания полым и откройте его в сторону улицы; сплошная коробка читается как стена, а не как здание. На перекрёстке уберите угловой блок там, где встречаются две улицы, иначе получится уступ в один блок, через который игроку придётся прыгать.

4

04

Подземная шахта — задайте порог пещер достаточно высоким, чтобы под поверхностью существовала система пещер. Прокопайте ствол строго вниз на 12 блоков и оставьте ступенчатую стену из блоков, чтобы выбраться обратно. На дне разветвите два туннеля высотой 3 блока и шириной 2. Держите высоту потолка равной 3; при 2 блоках камера задевает потолок, и туннели становятся нечитаемыми от первого лица.

Stone Golem — низкополигональный удар из 4 кадров, именно такой объект и нужен воксельной сцене.

Войдите в мир, которому он принадлежит

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

FAQ

AI-конструктор воксельных игр бесплатен? +

Да. Описание мира, редактирование его блоков и игра в него в браузере бесплатны. Нет платного барьера на экспорт и нет платного шага между генерацией мира и прогулкой по нему.

Нужно ли писать код? +

Нет. Рельеф создаётся из предложения, а всё после этого — прямое управление кистью установки и удаления. Если позже вам понадобятся правила — условие победы, инвентарь, таймер, — они задаются через конструктор, а не пишутся вручную.

Можно ли строить и разрушать блоки вручную? +

Да. Установка, удаление, замена, заполнение линией и заполнение областью выполняются над воксельной сеткой. Каждое движение — это одна запись отмены, поэтому неудачно нацеленное заполнение области отменяется одним действием, а не пятьюдесятью.

Есть ли многопользовательский режим? +

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

Можно ли экспортировать мир в Unity? +

Экспорта в Unity одним щелчком нет. Мир — это сетка идентификаторов блоков и целочисленных координат, то есть переносимые данные, но превращение их в префабы и меши Unity — это шаг преобразования, который вы возьмёте на себя.

Насколько велик блок? +

Один блок — это одна единица мира. Высота глаз игрока — примерно 1,6 единицы, столкновения используют капсулу высотой около 1,8 единицы, а автоматический подъём преодолевает около 0,6 единицы — поэтому на один поднятый блок можно взойти, а на два — нет.

Работает ли это на мобильных устройствах? +

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

Назад к конструктору 3D-игр

Все 31 готовый 3D-мир, игра и сцена живут на одной странице — и в каждый из них можно играть.

Платформа: Neta StudioСтраница: AI-конструктор воксельных игрЧитайте далее: /use-cases/en/voxel-game-engines · /explore/tool/voxel-circle-generator · /use-cases/en/isometric-pixel-art
×