Инди-разработчик показал собственный движок с потрясающими возможностями деформации мира

Независимый разработчик Майк Туритцин представил игровой движок, построенный на технологии динамических полей знаковых расстояний (Signed Distance Fields). Проект направлен на решение проблемы, с которой сталкивается большинство современных игр – ограниченные возможности модификации игрового окружения в реальном времени с сохранением высокого уровня детализации.

В подавляющем большинстве игр окружение остается неизменным на протяжении всего прохождения. Даже скриптовые сцены разрушения обычно используют заранее подготовленные модели и анимации, а не реальную деформацию геометрии. Игры, где игрок может влиять на мир – такие как Minecraft, Teardown или No Man's Sky – применяют воксельные системы или другие упрощенные подходы. Эти решения позволяют модифицировать окружение, но результат выглядит блочно и низкодетально, особенно заметно это в Minecraft с характерной кубической эстетикой.

https://www.youtube.com/watch?v=il-TXbn5iMA

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

SDF – математический метод представления трехмерной геометрии через функцию, которая для каждой точки пространства возвращает расстояние до ближайшей поверхности объекта. Знак этого значения указывает, находится ли точка внутри или снаружи объекта. Такое представление позволяет эффективно выполнять сложные операции с геометрией – объединение объектов, вычитание одного из другого, сглаживание переходов между формами.

Valve использовала упрощенную версию этой технологии еще в 2007 году для улучшения качества текстового рендеринга. NVIDIA в 2022 году опубликовала исследование о трассировке SDF-сеток, что продвинуло технологию для применения в реальном времени. Туритцин опирается на эти наработки, адаптируя их для динамических изменений геометрии во время геймплея.

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

Второй тип – неразрушающие изменения, которые Туритцин считает особенно перспективными для игровых механик. Движок может создавать временные модификации геометрии, которые существуют ограниченное время или при определенных условиях. Разработчик приводит пример с туннелем – игрок создает проход в стене, проходит через него, и туннель исчезает позади, восстанавливая изначальную геометрию. Другой пример – перемещаемое отверстие, которое можно двигать по поверхности объекта без фактического изменения его структуры.

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

Движок использует технику ray marching для рендеринга SDF-геометрии – метод, при котором лучи проходят через сцену небольшими шагами, используя SDF-функцию для определения расстояния до ближайшей поверхности. Это позволяет эффективно визуализировать сложные формы без необходимости хранить огромное количество полигонов.

Для оптимизации производительности применяется система вложенных регулярных сеток, похожая на geometry clipmaps – технологию рендеринга местности, предложенную в 2004 году. Это обеспечивает высокую детализацию вблизи камеры и постепенное снижение качества на расстоянии.

Физическая симуляция построена на движке Jolt Physics, который рассчитывает взаимодействие объектов с динамически изменяемой геометрией мира. Интеграция физики с SDF-представлением – крайне необычная задача, так как большинство физических движков рассчитаны на работу с традиционными полигональными мешами.

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

Тэги: