В кульминации «Пробуждения мочи» корабль Хана Соло неудачно приземляется, сначала продираясь сквозь плотный сосновый лес, а затем почти срываясь с высокого снежного утеса. Тысячелетний сокол, словно канадский дровосек, кромсает и валит несчастные деревья, но затем все же останавливается, после чего герои, цельные и невредимые, отправляются в дальнейший путь.
Но эти деревья – не те, чем кажутся. Леса в «Пробуждении мочи», PlayerUnknown’s Battlegrounds и даже одном из эпизодов «Улицы Сезам» таят одну неочевидную тайну. Все они – одна семья.
Весьма солидный объем Матери-Природы, представленный в играх и кинофильмах, начал свою жизнь в SpeedTree – маленькой компании по разработке так именуемого «связующего ПО», расположенной в американском Лексингтоне (шт. Южная Каролина). Однако, по суждению ее основателя Криса Кинга (Chris King), за успех SpeedTree и, в последнем счете, эффектную вырубку сосен в «Пробуждении силы», стоит благодарить Тодда Говарда (Todd Howard), директора Bethesda Game Studios.
Тодд Говард и бескрайние рощи The Elder Scrolls IV: Oblivion косвенно тащат ответственность за инопланетные леса Пандоры в «Аватаре» Джеймса Кэмерона. Можете также винить Говарда в самых лучших видеоигровых деревьях, включая даже те, из каких состоят необъятные леса в конкурирующем «Ведьмаке 3». Говарду можно храбро инкриминировать 3D-модели вашингтонского Белого Дома и окружающей флоры, которые использует, к примеру, Секретная Служба США.
[embedded content]
Наконец, если веровать слухам, Говард также несет полную ответственность за компьютерную симуляцию лобковых волос в «50 нюансах серого». (Впрочем, Кингу совершенно все равно, если его ПО будет использоваться, чтобы динамически генерировать генитальную флора. Хотя, по его словам, для решения этой CG-задачи есть и немало подходящие инструменты.)
Но Тодд Говард не делал ни сосны, ни (гадательно) лобковые волосы, ни технологию, которая стоит за всеми этими CG-продуктами. Говард попросту дал большую работу маленькой компании, позволившей закрепиться в индустрии, со всех сторонок обросшей новыми возможностями.
Сажая семя
SpeedTree – это связующее ПО для разработчиков видеоигр. Кроме того, в заключительнее время этой программой все чаще пользуются в кинопроизводстве, чтобы скоро создать много реалистичных деревьев. Но SpeedTree – это не движок по созданию «копипасты», какой идеально симулирует экосистемы из фотореалистичных сосен, елей и лещины. Это, скорее, набор инструментов, с помощью которого можно генерировать цельные леса, деревья в котором похожи, но не являются точными снимками друг друга.
Кроме того, в инструментарии SpeedTree также есть огромная собрание текстур для рендеринга растительности и анимационные инструменты, которые симулируют вихрь, качающий ветви и листву. В результате SpeedTree экономит не лишь время и усилия, затрачиваемые на создание такого количества деревьев, но машинные ресурсы, какие требуются на их обработку.
[embedded content]
О том, как это все работает, об истории успеха компании и о том, где сейчас используется 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), какое Кинг сейчас считает «слишком громким названием для компании, какая занималась инженерными визуализациями, но не слишком хорошо справлялась с флорой в играх и фильмах».
[embedded content]
К 2001 году партнеры наладили концентрированный бизнес по созданию пререндеренных 3D-изображений и анимаций для нескольких компаний, день за днем мастеря архитектурные рендеры и видео с пролетами над территориями. Это была неплохая работа, но в рендере деревьев для видео и статичных изображений не было вызова их программистскому навыку. Но подобный вызов был в видеоиграх. Смоделировать сцену и поставить ее на ночной рендер – это одно, а сгенерировать лес и вживую отрендерить совместно с персонажами вроде Геральта и сотнями других невидимых систем, при этом не испепеляя обычный домашний ПК – совсем другое.
Но однажды, во время обсуждения одного из пролетных видео, клиент и ведущий зодчий потребовали, чтобы все деревья в сцене были уникальными, имели различную высоту, а также покачивались от ветра.
У компании не было программы, способной сгенерировать такие эффекты, потому Кинг и Сечрест создали собственное решение, которое можно наименовать самой первой версией SpeedTree. «Наше решение заключалось из примитивной версии SpeedTree Modeler и маленького плагина 3ds Max, – сообщает Кинг. – Но работало все достаточно неплохо. В 2002 году мы выпустили эту программу под наименованием SpeedTreeMAX».
Это был неплохой инструмент, позволяющий создавать более детализированные деревья, но Кинг и Сечрест увидали в нем нечто большее. Новую возможность. Партнеры задумались: «Можно ли переделать эту программу так, чтобы SpeedTree Modeler можно было использовать для видеоигровых ассетов? И если можно, то отыщутся ли люди, которым это будет нужно?»
Они запостили статью на OpenGL.org, чтобы продемонстрировать разработчикам SpeedTree, а заодно установить интерес к технологии, способной генерировать деревья для игровых движков, возделывающих графику в реальном времени. По счастливому стечению обстоятельств статью прочёл Себастьян Домин (Sebastien Domine) из NVIDIA, а затем и загрузил демо, какое было приложено к статье. Домин был впечатлен технологией, а также сообразил, что SpeedTree может сделаться отличным промо-инструментом для новой видеокарты NVIDIA. Он связался с Кингом и Сечрестом, они заключили сделку и начали трудиться над первым настоящим демо 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, но достоверно известно, что их технология применялась во второй (как, впрочем, и в первой) 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).
Оригинал можно прочесть тут.