Бесплатный генератор воксельных кругов · 2D-схема и 3D-предпросмотр

Генератор воксельных кругов — создавайте круги, сферы и купола из блоков

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

Создайте самый ровный воксельный/пиксельный круг для любого диаметра — затем посмотрите его как вращаемую 3D-сферу, купол или арку из блоков. Бесплатно, без регистрации.

✦Игра
Создайте воксельный круг диаметром 31 блок

Генератор воксельных кругов принимает диаметр в блоках и возвращает точные ячейки, которые образуют круглую форму на квадратной сетке. Введите 15 — получите 177 блоков. Введите 9 — получите 69. На выходе — список координат, а не изображение, так что его можно вставить в постройку, посчитать как список материалов или передать другому строителю. Бесплатно, без регистрации, без лимита на экспорт.

Тот же диаметр управляет и 3D-предпросмотром: плоская схема превращается в сферу, купол или арку, и её можно вращать до того, как вы что-то поставите. Ниже — алгоритм, точное число блоков для каждого диаметра, три стиля контура и проблемы, которые проявляются при ширине меньше примерно 12 блоков.

Как работает генератор

Генератор проверяет уравнение окружности на квадратной сетке и оставляет ячейки, центры которых попадают внутрь радиуса. Для диаметра D он строит сетку D на D, измеряет расстояние от центра сетки до центра каждой ячейки и заполняет ячейку, когда dx*dx + dy*dy <= r*r, где r = D/2. В этом весь алгоритм. Сравнение идёт по квадратам расстояний, поэтому квадратный корень не извлекается и никакое округление с плавающей точкой не может сдвинуть краевую ячейку на единицу.

Диаметр D определяет, куда попадёт центр сетки, и это единственное, что меняется между схемами. При нечётном диаметре центр лежит на середине блока, поэтому смещения — целые числа: от -7 до 7 для D=15. При чётном диаметре центр лежит на общей вершине четырёх блоков, поэтому смещения — половинные числа: плюс или минус 0,5, 1,5 и так далее для D=8. Две схемы почти одинакового размера поэтому почти не совпадают координатами, и нельзя превратить схему для 15 в схему для 16, просто добавив ряд.

В этом правиле нет ничего случайного. Каждый диаметр даёт одну фиксированную воспроизводимую схему: D=15 — это всегда 177 ячеек, D=9 — всегда 69. Вы можете вставить список в отчёт об ошибке, применить его во втором мире или вернуться к нему через месяц — координаты совпадут.

Нет спорной границы

Частое опасение — ячейки, у которых расстояние до центра точно равно радиусу, и что с ними делать: оставить по <= или отбросить по строгому <. Если посчитать, этого не бывает. При нечётном диаметре смещения — целые числа, а r*r оканчивается на 0,25, поэтому целочисленная сумма никогда с ним не совпадёт. При чётном диаметре оба смещения — половинные числа, поэтому каждый квадрат оканчивается на 0,25, а сумма — на 0,5, тогда как r*r — целое число.

Две стороны не могут быть равны ни при каком диаметре, а значит, <= и < дают одну и ту же схему и целый класс отчётов об ошибке «на единицу» исчезает. Настоящий краевой случай в другом: D=3 возвращает все девять ячеек своей сетки 3 на 3, включая углы, потому что центры углов находятся примерно в 1,414 от середины, а радиус равен 1,5. D=3 — это квадрат. Первый диаметр, который убирает угол, — D=5.

Круг → Сфера → Купол → Арка

2D-схема — это срез по экватору и одновременно основание. Чтобы получить сферу, выполните ту же проверку в трёх измерениях: для каждого слоя радиус среза равен квадратному корню из (r*r - h*h), где h — расстояние от центра сферы до середины этого слоя. Сфера диаметром 15 — это 15 слоёв. Средний слой — диск из 177 ячеек. Верхний и нижний слои — по 21 ячейке, основание 5 на 5, потому что центр слоя лежит на полблока ниже вершины сферы.

Купол — это такая стопка слоёв, отрезанная горизонтальной плоскостью. Выберите линию опоры — слой, где стена перестаёт быть вертикальной, — и оставьте только слои выше неё. Если разрезать сферу диаметром 15 по экватору, получится купол высотой 8 слоёв. Если оставить только верхние 5 слоёв, получится пологий колпак, опорное кольцо которого — круг из 13 блоков, так что колпак стоит на стене шириной 13, а не 15.

Арка — это плита, а не стопка слоёв. Возьмите контур кольца вместо заполненного диска, вытяните его прямо вдоль одной оси на нужную толщину, затем удалите всё ниже линии опоры. Арка шириной 15, толщиной 3 блока, у которой удалены нижние четыре ряда кольца, стоит высотой 11 блоков. Схема даёт ширину и кольцо; толщину и высоту опоры вы задаёте отдельно.

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

  • КругОдин диск на сетке D на D, центры ячеек внутри радиуса r. Это основание и экватор для всего остального.
  • СфераТа же проверка, выполняемая для каждого слоя, с радиусом среза, равным квадратному корню из (r*r - h*h). Высота D слоёв, ширина D блоков по экватору.
  • КуполСфера, отрезанная на выбранной линии опоры. Обычный случай — половина сферы; пологим колпакам нужно более широкое опорное кольцо.
  • АркаКонтурное кольцо, вытянутое вдоль одной оси и затем отрезанное ниже линии опоры. Толщина и высота задаются независимо.

Количество блоков и материалы

Заполненный диск стоит ровно столько ячеек, сколько внутри него. Таблица — это вывод генератора, а не оценка: одна ячейка сетки всегда равна одному блоку.

Как читать количество как список покупок

При D=15 заполненный диск — это 177 блоков, то есть две стопки по 64 плюс 49 в инвентаре в стиле Майнкрафт. D=16 даёт ровно три стопки — одна из причин, почему чётные диаметры удобны, когда вы таскаете материал. Если нужен только контур, при D=15 остаётся 40 ячеек: заполненный диск стоит более чем в четыре раза больше материала ради того же силуэта.

Выбор материала меняет число сильнее, чем диаметр. Сплошной диск выглядит плоским с уровня земли, поэтому в большинстве построек для заливки берут один блок, а для контура из 40 ячеек — второй, так что видимая стоимость — это контур, а заливка идёт из того, что осталось. Слой толщиной 3 блока утраивает число блоков контура. Основание полой башни использует только контур и оставляет внутренность пустой, и именно за эту внутренность вы платите, когда строите сплошным.

Диаметр (блоков)РадиусЗаполненные блокиВ стопках по 64
31.59-
52.521-
73.537-
8452-
94.5691 стопка + 5
115.5971 стопка + 33
157.51772 стопки + 49
1681923 стопки

Три стиля контура

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

Чётная толщина

Используется с чётными диаметрами: 4, 8, 16, 32. Центр фигуры попадает на вершину, где сходятся четыре блока, поэтому контур симметричен относительно обеих осей, но обводка занимает чётное число блоков сверху, снизу, слева и справа. Чётные схемы аккуратно масштабируются — удвойте диаметр, и пропорции сохранятся, — поэтому крупные постройки чаще всего опираются на них.

Нечётная толщина

Используется с нечётными диаметрами: 3, 5, 9, 15, 31. Центр попадает на блок, поэтому есть единственный средний столбец и единственный средний ряд, и фигура симметрична относительно них. Именно нечётные схемы читаются как круги в малом размере, потому что средний блок даёт глазу фиксированный центр, по которому можно судить о кривой.

Плоская сторона

Вариант с плоской стороной сохраняет чётность, но заменяет единственную крайнюю ячейку в каждой из четырёх основных точек плоским участком. При D=9 обычная нечётная схема ставит один блок у самого левого края. Вариант с плоской стороной делает этот левый столбец высотой 3 блока, так что силуэт читается как скруглённый квадрат. Используйте его, когда круг должен стыковаться с прямой стеной, дверной рамой или рельсовой линией, где ровный шов совпадает, а отдельная точка — нет.

1

01

При ширине меньше примерно 12 блоков стиль значит больше, чем диаметр. D=3 — это квадрат, D=5 — квадрат со срезанными углами, а D=7 — наименьшая схема, которая читается как круглая.

2

02

Для колодца, основания башни, фонтана или приствольной лунки в таком масштабе используйте нечётный диаметр 9 или 11 со стилем нечётной толщины.

3

03

Оставьте вариант с плоской стороной для всего, что должно примыкать к прямой кромке, и проверьте эту кромку в 3D-предпросмотре до расстановки блоков.

Постройте его в воксельном мире

Схема полезна только тогда, когда она стоит. 3D-конструктор игр принимает список координат как шаблон расстановки, поэтому те же числа, что дали предпросмотр, дают блоки в мире, по которому можно ходить. Не нужно заново выводить кривую вручную в редакторе или прикидывать диагонали на глаз.

Предпросмотр — это место, где вы ловите то, что скрывает плоская схема: выемку в один блок в кольце, срез купола, который у вершины меняет чётность и оставляет уступ, диагональную лестницу, по которой игрок не может подняться. Это стоит секунд на исправление на экране и куда больше — после сотни поставленных блоков. Mini World и The Cyclops' Island построены именно так — сначала плоский план, затем подъём, затем прогулка.

Если вам нужен круг как плоский спрайт, а не как форма из блоков — монета, круговой счётчик, значок интерфейса, — Agent Sprite Forge берёт тот же радиус и сохраняет пиксельную версию согласованной с блочной, чтобы они не расходились.

1

01

Выберите диаметр и стиль контура, затем скопируйте список координат. Сохраните числа; одна и та же схема понадобится для каждого среза.

2

02

Откройте новый мир в 3D-конструкторе игр и задайте сетку земли равной вашему диаметру или кратной ему, чтобы основание совпадало без сдвига на полблока.

3

03

Сначала поставьте ячейки контура, затем заполняйте внутрь. Контур первым сразу выдаёт неверную координату; заливка первой скрывает её, пока вы не замкнёте кольцо.

4

04

Поднимите фигуру. Вытяните контур прямо вверх для стены или башни либо подставьте диаметры срезов по слоям для купола или сферы.

5

05

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

6

06

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

Блочный круг на воксельной сетке — та же логика ячеек, что и в генераторе.
Поставьте круг в игровой мир из блоков.

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

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

FAQ

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

Да. Нет входа, нет лимита на экспорт и нет водяного знака на списке координат. На выходе — обычный текст, так что ничего из этого не спрятано за аккаунтом.

Я получу точную схему блоков один к одному? +

Да. Одна ячейка сетки — один блок при любом диаметре: круг из 15 блоков возвращает 177 ячеек, и вы ставите 177 блоков. Между схемой и постройкой нет ни масштабирования, ни округления.

Он умеет делать сферы и купола или только плоские круги? +

И то и другое, из одного диаметра. Сфера выполняет проверку радиуса на каждом слое, где радиус среза равен квадратному корню из (r*r - h*h), а купол — это та же сфера, отрезанная на выбранной вами линии опоры.

Использовать нечётный или чётный диаметр? +

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

Что такое воксель? +

Воксель — это одна ячейка в 3D-сетке, куб фиксированного размера. В этих схемах один воксель — один блок, поэтому подсчёт ячеек заодно служит подсчётом материалов.

Можно ли использовать схему для построек в стиле Майнкрафт? +

Да. Считайте каждую ячейку одним блоком. Схема подходит как основание, стена, основание башни, край фонтана или слой купола, а подсчёт ячеек переносится как список материалов.

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

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

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