WorldKraft (voxel editor app)
- Игрок может построить модель, используя кубические вокселы (как в Minecraft), затем присвоить ей имя и сохранить. Таких моделей может быть создано неограниченное количество.
- Но «домашняя» сцена/мир не состоит из вокселов (кубов) – в отличие от Minecraft. Вместо этого в нее добавляются ранее созданные модели, которые можно свободно размещать или поворачивать.
Например, игрок может создать несколько моделей зданий, использовать только некоторые из них, использовать одно и то же здание несколько раз, поворачивать одно здание на 45°, а другое на 165° и т.д.
Также можно рисовать сплайны и запускать модели вдоль них; это предназначено для создания простых анимаций поездов/ж.д.
Работа с миллионами кубов в одной и той же модели (или сцене) напрямую требует слишком много времени. Вместо этого необходимо обнаруживать и пропускать полностью скрытые кубы (из-за окружающих их объектов), а оставшиеся «открытые» объединять в более крупные модели (обычно называемые «кусками» (chunks)). Сегодня наиболее практичным подходом, вероятно, является использование стороннего решения и/или instancing и/или вычислительные шейдеры. Но в то время ни то, ни другое не было приемлемым выбором в Unity (или, возможно, в любом другом движке). Таким образом, мы создали нашу собственную кубическую воксельную систему, состоящую из вышеупомянутых «кусков», изменений шейдеров и своей реализации raycasting.
Чтобы ускорить скучные части кубического воксельного моделирования, мы внедрили несколько типов «мощных» инструментов:
- на основе выделения: например, выделить область одним «движением» и выдавить её – аналогично инструменту выдавливания в Blender
- на основе свёртки: принцип тот же, что и у инструментов ядра свёртки при обработке 2D-изображений, но в 3D – более конкретно, это операторы математической морфологии в 3D-пространстве: эрозия и наращивание, замыкание и размыкание
Мы продвигали эту игру (или, скорее, развлекательное приложение) с помощью демо-версии (которая представляет собой просто старую версию), канала на YouTube, похожего на девлог, и немного SMM. Несмотря на эти меры, у нас было очень мало продаж (раннего доступа), поэтому проект пришлось отменить.
info
- link:
- https://www.youtube.com/@worldkraft7662
- client:
- Woj
- date:
- 2015-02–2016-02
- stack:
- Unity
- skills:
- ShaderLab, algorithms, data structures, technical artistry
- role:
- solo programming
- billing:
- hourly