От TES до Секретной службы США: Кто стоит за созданием деревьев в фильмах и видеоиграх

Разработка игр | |

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

Но эти деревья – не те, чем кажутся. Леса в «Пробуждении силы», PlayerUnknown’s Battlegrounds и даже одном из эпизодов «Улицы Сезам» скрывают одну неочевидную тайну. Все они – одна семья.

Весьма солидный объем Матери-Природы, представленный в играх и фильмах, начал свою жизнь в SpeedTree – маленькой компании по разработке так называемого «связующего ПО», расположенной в американском Лексингтоне (шт. Южная Каролина). Однако, по мнению ее основателя Криса Кинга (Chris King), за успех SpeedTree и, в конечном счете, эффектную вырубку сосен в «Пробуждении силы», стоит благодарить Тодда Говарда (Todd Howard), директора Bethesda Game Studios.

Тодд Говард и бескрайние рощи The Elder Scrolls IV: Oblivion косвенно несут ответственность за инопланетные леса Пандоры в «Аватаре» Джеймса Кэмерона. Можете также обвинять Говарда в самых лучших видеоигровых деревьях, включая даже те, из которых состоят необъятные леса в конкурирующем «Ведьмаке 3». Говарду можно смело инкриминировать 3D-модели вашингтонского Белого Дома и окружающей растительности, которые использует, к примеру, Секретная Служба США.

Наконец, если верить слухам, Говард также несет полную ответственность за компьютерную симуляцию лобковых волос в «50 оттенках серого». (Впрочем, Кингу совершенно все равно, если его ПО будет использоваться, чтобы динамически генерировать генитальную растительность. Хотя, по его словам, для решения этой CG-задачи есть и более подходящие инструменты.)

Но Тодд Говард не делал ни сосны, ни (предположительно) лобковые волосы, ни технологию, которая стоит за всеми этими CG-продуктами. Говард просто дал большую работу маленькой компании, позволившей закрепиться в индустрии, со всех сторон обросшей новыми возможностями.

Сажая семя

SpeedTree – это связующее ПО для разработчиков видеоигр. Кроме того, в последнее время этой программой все чаще пользуются в кинопроизводстве, чтобы быстро создать много реалистичных деревьев. Но SpeedTree – это не движок по созданию «копипасты», который идеально симулирует экосистемы из фотореалистичных сосен, елей и орешника. Это, скорее, набор инструментов, с помощью которого можно генерировать целые леса, деревья в котором похожи, но не являются точными копиями друг друга.

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

О том, как это все работает, об истории успеха компании и о том, где сейчас используется SpeedTree, я узнал, общаясь с Кингом по телефону и электронной почте. Это очень светлый, великодушный человек, способный превратить обычный ответ в изобилующий подробностями анекдот, а затем, делая полный круг, задающий вопрос обо мне самом. Сложилось устойчивое впечатление, что компания находится в очень хороших руках.

«Это процедурный инструмент. В качестве входных данных используются кривые и цифры; они передаются алгоритму, который и генерирует это дерево. Если вы меняете кривые и цифры, то и дерево тоже меняется, – говорит Кинг. – Определившись с формой дерева, вы можете нажать на кнопку рандомизации, и это всего одна кнопка; в результате программа сгенерирует дерево, которое будет похоже на исходное, но не будет его точной копией. Затем вы кликаете на кнопку рандомизации еще и еще, в итоге получая уникальный лес, и очень быстро».

Но есть один момент, который люди часто ошибочно приписывают SpeedTree. «Неправильно думать, что SpeedTree генерирует эти деревья на лету. Фактически это оффлайновый инструмент. Да, в программе есть средства для процедурной генерации, но это просто инструмент, который художник использует для создания новой формы».

Другими словами, при каждом новом запуске третьего «Ведьмака» игра не генерирует новый лес. Во время разработки игры художники, левел-дизайнеры и программисты сначала использовали процедурный инструментарий SpeedTree, чтобы сгенерировать уникальные деревья, а затем вручную правили то, что получалось. Кроме того, когда лес готов, на плечи SpeedTree можно возложить и все сопутствующие задачи, т.е. «загрузку, усечение невидимых объектов, уровни детализации, освещение и эффект ветра», причем все это в реальном времени.

В третьем «Ведьмаке», вероятно, самые лучшие деревья, которые когда-либо создавались в видеоиграх.

У разработчиков видеоигр, как правило, нет возможности сгенерировать целый лес уникальных деревьев, а затем отрендерить их в игровом окружении, поэтому такой лес приходится делать с нуля. Эту задачу можно выполнить, потратив бесконечные часы на маленькие изменения исходной модели или создав собственное программное решение, способное генерировать уникальные деревья (но сроки всегда поджимают, поэтому такие инструменты не всегда могут похвастаться большим количеством функций). Но теперь, когда прогуливаешься под изумрудным лесным пологом Туссента, становится ясно, как много времени и усилий позволила сэкономить SpeedTree. Времени и усилий, которые были направлены на решение совершенно других задач.

До разработки «Ведьмака 3» SpeedTree была всего лишь набором хороших идей, еще не доказавшим свою состоятельность. В начале нулевых в играх нечасто встречались обширные леса из неодинаковых деревьев – такие технические амбиции были сильно ограничены тогдашним консольным «железом». Как правило, все они создавались вручную, но после The Elder Scrolls III: Morrowind – которая вышла до появления SpeedTree и изобиловала деревьями – Bethesda, вероятно, не была готова снова к созданию огромного реалистичного леса, который сдюжили бы тогдашние ПК и едва заявившие о себе консоли. Им нужна была помощь, и эта помощь была уже на подходе.

Считая годовые кольца

В отличие от большинства современных компаний по разработке связующего и нишевого ПО, при зарождении SpeedTree не было ни точечного рыночного исследования, ни финансовых вливаний из Кремниевой Долины. SpeedTree появилась спонтанно, ведомая скромными амбициями, неугомонностью и страстью двух ее «отцов» – Криса Кинга и Майкла Сечреста (Michael Sechrest).

Сечрест и Кинг познакомились в конце 90-ых, будучи магистрантами факультета вычислительной техники в Университете Южной Каролины. «Мы серьезно занимались визуализацией в реальном времени, используя те старые здоровенные машины Silicon Graphics, работающие на Unix. Мы делали визуализацию для Департамента морских исследований и Министерства энергетики».

В 1999 году NVIDIA выпустила первую GeForce, благодаря которой домашние ПК теперь могли обрабатывать визуализацию графики в реальном времени. В результате Кинг и Сечрест решили начать бизнес, использующий их опыт в создании детализированных визуализаций. Они основали компанию под названием Interactive Data Visualization Inc. (IDV), которое Кинг сейчас считает «слишком громким названием для компании, которая занималась инженерными визуализациями, но не слишком хорошо справлялась с растительностью в играх и фильмах».

К 2001 году партнеры наладили крепкий бизнес по созданию пререндеренных 3D-изображений и анимаций для нескольких компаний, день за днем делая архитектурные рендеры и видео с пролетами над территориями. Это была хорошая работа, но в рендере деревьев для видео и статичных изображений не было вызова их программистскому навыку. Но такой вызов был в видеоиграх. Смоделировать сцену и поставить ее на ночной рендер – это одно, а сгенерировать лес и вживую отрендерить вместе с персонажами вроде Геральта и сотнями других невидимых систем, при этом не испепеляя обыкновенный домашний ПК – совсем другое.

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

У компании не было программы, способной сгенерировать такие эффекты, поэтому Кинг и Сечрест создали собственное решение, которое можно назвать самой первой версией SpeedTree. «Наше решение состояло из примитивной версии SpeedTree Modeler и маленького плагина 3ds Max, – говорит Кинг. – Но работало все достаточно неплохо. В 2002 году мы выпустили эту программу под названием SpeedTreeMAX».

Это был неплохой инструмент, позволяющий создавать более детализированные деревья, но Кинг и Сечрест увидели в нем нечто большее. Новую возможность. Партнеры задумались: «Можно ли переработать эту программу так, чтобы SpeedTree Modeler можно было использовать для видеоигровых ассетов? И если можно, то найдутся ли люди, которым это будет нужно?»

Они запостили статью на OpenGL.org, чтобы продемонстрировать разработчикам SpeedTree, а заодно определить интерес к технологии, способной генерировать деревья для игровых движков, обрабатывающих графику в реальном времени. По счастливому стечению обстоятельств статью прочитал Себастьян Домин (Sebastien Domine) из NVIDIA, а затем и загрузил демо, которое было приложено к статье. Домин был впечатлен технологией, а также сообразил, что SpeedTree может стать отличным промо-инструментом для новой видеокарты NVIDIA. Он связался с Кингом и Сечрестом, они заключили сделку и начали работать над первым настоящим демо SpeedTree, способным делать визуализацию в реальном времени.

От примитивного технического демо до «Звездных войн»… технология SpeedTree прошла очень долгий путь.

Когда демо получило, наконец, полноценную видеоигровую версию, в нем был экшен с участием механоида и ракет, но не только он – агрессивное буйство разворачивалось посреди зелени, размеренно качающейся от порывов ветра. Демо было выложено на портал разработчиков на сайте NVIDIA и, по словам Кинга, «в течение последующих трех месяцев его загрузили более 40 тысяч человек, включая Тодда Говарда из Bethesda». Индустрия росла и задача заполнения огромных, усложняющихся миров реалистичными и непохожими друг на друга деревьями становилась все сложнее. Но теперь клиентом Кинга и Сечреста была очень серьезная видеоигровая студия, способная продемонстрировать всему миру, на что способна их «древесная» технология.

«Единственная проблема была в том, что мы никогда не продавали связующее ПО, – говорит Кинг. – Мы понятия не имели, какую назначить цену. К счастью, Тодд помог нам определиться, и мы оба согласились, что это честная цена. В тот момент он и стал нашим первым клиентом».

Пока Кинг продолжает говорить, у меня в голове возникает нарезка из моментов, смонтированных в стиле фильмов Линклейтера: Говард, Кинг и Сечрест что-то бурно обсуждают, возвышаясь над грудой бумаг и текстурами разных деревьев, а затем лепят их на стену, время от времени одобрительно кивая, когда кого-то из них озаряет отличная идея. Телефонные звонки и электронные письма в хороший монтаж как-то не вписывались…

«Давайте сразу перейдем к марту 2006 года. Oblivion выходит на Xbox 360. Это был монструозный хит, и на задней стороне коробки красовалось лого SpeedTree, – говорит Крис. – Поначалу многие думали, что SpeedTree не будет достаточно хорош для 360 и PS3. Но Oblivion наглядно продемонстрировал, что SpeedTree может дать жару на любой платформе. Это был, возможно, самый важный тайтл, в разработке которого мы участвовали. Мы будем вечно благодарны Тодду».

На тот момент еще не было открытых миров, сравнимых по масштабам с Oblivion и способных запускаться на консолях. И хотя версия для Xbox 360 считается жутко забагованной и почти неиграбельной, это не помешало SpeedTree доказать, что она может управляться с рендером деревьев на 16 квадратных милях, используя для этого еще более старое «железо», чем средние игровые ПК, выпущенные в 2006 году. SpeedTree работала, и этого оказалось достаточно, чтобы привлечь внимание всей индустрии.

Но обмен шел в обе стороны. Мог ли Oblivion поразить воображение игроков, будь в нем скучные леса с деревьями, похожими друг на друга как капли воды? Тамошняя зелень не соответствует сегодняшним стандартам, но на тот момент рендер такой разной растительности на скромной Xbox 360 казался техническим прорывом. Прорывом, который доказал, что игры с открытым миром могут запускаться и на слабых машинах, и для этого необязательно выкручивать графические настройки на самый минимум. Это задало тренд, которому последовали игры с еще более густыми лесами, включая «Ведьмака 3», который, не будь SpeedTree, выглядел бы совсем по-другому (или даже не появился бы вовсе).

Разрастаясь и ветвясь

Отрывок из фильма “Штурм Белого Дома”

По сегодняшним меркам Oblivion – это старая игра. Сейчас ежегодно выходят тысячи новых игр, и многие из них используют SpeedTree, а некоторые и вовсе требуют чего-то большего, чем просто процедурный инструмент для генерации деревьев. Как насчет моделинга живности, обитающей на деревьях? Когда я спросил Кинга, развиваются ли они в этом направлении, он ответил «нет», но самым лучшим способом из возможных – очередной забавной историей в духе «жизнь разработчика SpeedTree полна курьезов и странностей».

«У нас был один европейский конкурент. И еще, верьте или нет, но Секретная Служба США – это тоже наш клиент. И вот они решили попробовать несколько разных симуляций территории вокруг Белого Дома. По крайней мере, нам так рассказали».

Выяснилось, что трата ресурсов на создание систем, учитывающих законы природы, лишь грозит изолировать SpeedTree в очень узкой нише.

«В общем, они звонят тем европейским парням и спрашивают, в чем проблема, а те отвечают, что наш инструмент, дескать, придерживается ботанической точности, и поскольку магнолия крупноцветковая не растет выше 24 метров, наше ПО с задачей справиться не сможет, – после этого Кинг начинает говорить громче. – Потом они звонят нам, и мы такие типа, блин, мы сможем сделать ее выше 24 метров, на по барабану. Нам без разницы, мы правила ботаники не учитываем. Какая магнолия вам нужна? Хотите, чтобы она была в форме Белого Дома? Мы и такую сделаем!»

Секретная Служба США – это не первый клиент, которому была нужна детализированная лужайка вокруг белого дома. По словам Кинга, это настолько частый запрос, что стал в SpeedTree местечковой хохмой. Игр и фильмов, которым нужны эти модели, на удивление много, поэтому технология, способная генерировать растительность, окружающую Белый Дом, очень востребована. Съемка в этом месте запрещена, поэтому киноделы возвращаются к SpeedTree все чаще и чаще.

Пройдя путь от Oblivion до Секретной Службы США, SpeedTree превратилась в универсальный инструмент для создания виртуальной растительности. Кроме того, в данный момент Кинг и его братия готовят полный релиз SpeedTree 8, который будет широким шагом в сторону PBR (от «physically based rendering, что можно перевести как «рендеринг, обусловленный законами физики»), а также «витриной» для новых аппаратных и программных инструментов, предназначенных для сканирования материалов и расширения огромной базы данных с мегатекстуамир и моделями. Чтобы создать такую библиотеку, Кинг даже нанял специалиста, задача которого – просканировать как можно больше растений. Только представьте, как он рыщет по планете в поисках красивых цветочков, чтобы обессмертить их в виде цифрового слепка. Работа мечты.

Прежде, чем попасть в игру или фильм и оказаться под пристальным взглядом художника, все эти деревья, кусты и кактусы выглядят спокойно, умиротворенно и даже немного зловеще. Образцы природной красоты, лишенные контекста. Самые чистые и здоровые из растений, которые когда-либо видала планета Земля. Степфордские жены из мира лопухов и папоротников. Они кажутся настоящими, и для любого, кому предстоит тонна работы по созданию собственных CG-растений, цена на SpeedTree покажется гораздо более привлекательной альтернативой, чем затраты на то, чтобы делать это все своими силами. Тем не менее, при всей своей продвинутости, SpeedTree еще есть, куда расти.

«Если говорить о фотореалистичности моделей деревьев, то мы примерно в середине спектра. Мы хорошо смотримся с расстояния, а игроки обычно смотрят на деревья именно с расстояния – на земле и рядом с ней и, может быть, на расстоянии от 3 до 30 метров, – говорит Кинг. – Но лет через десять, будем надеяться, вы сможете сделать зум прямо из космоса до крошечной жилки на древесном листе!»

В последнее время появляется все больше игр вроде Star Citizen и Dual Universe, которым требуется такой же масштаб и повышенная адаптируемость, поэтому Кинг знает, что эта работа еще долго не заставит его скучать.

SpeedTree также использовался в картине «В центре внимания», получившей Оскара за лучший фильм в 2015 году

С каждой новой волной видеоигр мы видим, как они меняются. Кинг не смог раскрыть названий новых проектов, в которых используется SpeedTree, но точно известно, что их технология применялась во второй (как, впрочем, и в первой) Destiny. Он также поведал, что Industrial Light and Magic использует стандартизированную версию SpeedTree, поэтому в большинстве будущих фильмов по «Звездным войнам» вряд ли стоит ждать особых прорывов в отношении CG-растительности.

Ubisoft тоже заключила сделку с SpeedTree в 2016 году и теперь использует программу Кинга/Сечреста в качестве стандартного инструмента для моделинга растительности. Если учесть размер карты Assassin’s Creed: Origins, такая сделка вполне оправдана. Кроме того, после «Аватара» SpeedTree использовалась примерно в 100 фильмах и более 1000 видеоигр, в итоге превратившись в индустриальный стандарт. SpeedTree везде и всюду.

Пляжную битву в «Изгое-один» на планете Скариф можно с уверенностью считать самой лучшей битвой в истории «Звездных войн», и эта битва создавалась с использованием SpeedTree. Когда вы втрамбовываете игрока в дерево в Absolver, быстро улепетываете сквозь лесные заросли в Far Cry 4 или прячетесь от выстрелов за огромным пуленепробиваемым дубом в PUBG, то знайте, что это дело рук умельцев из SpeedTree. Умельцев, которые в будущем засеют компьютерной зеленью еще сотни (а то и тысячи) виртуальных миров.

Автор статьи — Джеймс Дэйвенпорт (James Davenport).

Оригинал можно прочесть тут.

Владимир FrostBite Хохлов frostbite@progamer.ru

Поделиться

Обсудить