Im making a tiny voxel renderer

В последние годы наблюдается значительный рост популярности эстетики 3D-игр начала-середины 90-х годов, где ограничения визуальных эффектов заложили основу того, что сейчас известно, как стиль ретро. Простые, но креативные окружения с четкими пиксельными текстурами стали большим источником вдохновения для современных инди-игр. Разработчик Даниэль С взялся за новый проект с простого вопроса: что, если бы поверхности в этих окружениях имели воксели вместо пикселей? Например, каменная стена могла бы выделяться геометрической глубиной, сохраняя пиксельный вид при ближайшем рассмотрении“. Идея проекта — соединить оба мира: оригинальные визуалы 90-х годов и что-то более современное. Или, как говорит Даниэль, Так выглядел DOOM для меня, когда я был молод. Метод Даниэля использует традиционные низкополигональные сетки для моделирования окружений, таких как в старых 3D-играх, применяет карты смещения для определения деталей поверхности в масштабе вокселей и рендерит результат, который выглядит как воксельное окружение. На изображении выше можно увидеть крупный план окружения до и после смещения. Как объясняет Даниэль, коричневые арки были созданы как треугольные сетки, а затем смещены, но результат выглядит так, будто они собраны из вокселей, даже вдоль краев оригинальной сетки. С готовой к использованию технологией необходимо создать два типа ассетов: текстуры и сетки. На картинке показаны карты альбедо и смещения для материала серого каменного блока вместе с рендерингом результата. Большие изменения в смещении становятся геометрией в масштабе вокселей — более тонкие изменения, как гребни на поверхности каждого камня, могут не стать вокселями, но влияют на освещение поверхности. Что касается сеток, ниже Даниэль представил сравнение пещеры, смоделированной в Blender, и результат рендера. Все жесткие края оригинального входа были детализированы согласно смещению каменной текстуры. Даниэль отмечает, что подход к воксельной эстетике таким образом имеет несколько значительных преимуществ, например, позволяет использовать знакомый рабочий процесс, а не специализированное программное обеспечение для редактирования вокселей. Авторские текстуры также могут быть использованы на различных объектах без работы в масштабе вокселей. И самое интересное, так как с этим рендерером окружение создается как треугольные сетки, с воксельными элементами только в качестве поверхностного декора, вы можете рассматривать окружение как полигональную геометрию, когда захочется. Согласно описанию, демонстрация рендерера была записана на Radeon RX 5700 XT при разрешении 1440p с частотой от 250 до 110 FPS. Та же демонстрация сохраняет более 60 FPS на Steam Deck OLED при его родном разрешении 800p, а некоторые частями выдают 90 FPS. Почитать подробный разбор можно в блоге разработчика.
Back to Top