Найти тему
Stronghold of gamedev

Все технологии NVIDIA в играх

Оглавление

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

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

Физический движок PhysX

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

-2

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

  • Описание коллайдеров и их столкновений
  • Базовое физическое поведение твердых тел и спектр их свойств, описанных по формулам
  • Описание различных сил и их применение
  • Физика ткани, основанная на коллайдерах-вершинах
  • Физика мягких тел, основанная на дистанцировании вершин
  • Сочленения

В настоящее время используется более чем в 300 проектах, а так же интегрирован в движки Unity и Unreal Engine, так что все вышедшие игры на них (без предварительной модульной кастомизации), так же пользуются им.

NVIDIA Hairworks

Никто, кажется, и не просил, но NVIDIA создала чудную систему симуляции волос, кратно превосходящую по реализму предыдущие решения.

-3

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

Так как код технологии закрыт, её очень туго тянут железки от AMD, ибо не могут оптимизировать драйвера. Тем не менее работа этого всего съедает жалкие 20% (40% AMD) производительности, выдавая почти лучший CGI графоний.

Визуальные эффекты

В эту группу можно записать около 5 технологий, но если говорить только о графике, то это Particles и Turbulence. Первая представляет из себя скорей визуализатор задуманного, с чем разработчику удобно работать.

Turbulence же более гибок. Кроме такой же удобной настройки, содержит в себе ряд настраеваемых пресетов для дыма, тумана и погодных эффектов. Что самое главное - зачатки интерактивности.

Дым в Assassins Creed IV Black Flag (опционально)
Дым в Assassins Creed IV Black Flag (опционально)

В случае с AC IV, технологию воткнули на физический движок Havok, но если она будет работать с PhysX, то эффекты смогут реагировать, например, на ветер (и даже взмахи оружием, тут симулируются воздушные потоки).

Куда более интерактивным выглядит перспективная технология Flameworks, посвященная, как понятно по названию, симуляции огня.

-5

Принцип похож на Hairwokrs : симуляцией физики и обработкой столкновений занимаются воксели, а после рендера шейдеров они превращаются в красивые и хаотичные языки пламени. Все это входит в отряды NVIDIA Flow.

Водичка и некстген физика

Идеального решения для сотворения реалистичной воды вплоть до капелек всё еще не существует, однако есть грамотные симуляции под разные нужды.

Для водоемов, морей и обширных океанов идеально подойдет NVIDIA Waveworks, что кроме красивых шейдеров имеет пару трюков в запасе :

Опциональная симуляция моря в War Thunder
Опциональная симуляция моря в War Thunder

Бреющий полет близ поверхности, благодаря техническим приблудам вызовет физически-реалистичную визуализацию поведения воды (только визуализацию!), а упавший после таких маневров самолет - примитивные VFX эффекты и пенку как у берегов благодаря шейдерам.

Куда интереснее в технологии "ВолныРаботы" глянуть не на относительно спокойное море, а на сами непосредственно волны, которые при правильной настройке посудины, будут метать её туда-сюда :

Just Cause 3
Just Cause 3

Господа из Avalache Studios хоть тут преуспели. В целом реализация этой технологии мало отличается от тривиальных методов, разве что она опять таки имеет в себе гибкие настройки.

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

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