Создал город из игры Герои 3 в 3D | Оплот

b59bba70060b8778e44fe766052be749.jpg

Всем привет!

Это Денис Вебер и в этот раз я расскажу как создавал в 3D город из, уже ставшей классикой, игры Герои 3. Если вам интересен формат видео, ссылку на ролик, я, как всегда, оставлю под текстом.

Что вам первым делом приходит в голову, когда вы слышите слово фэнтези? Властелин колец, Игра престолов или может даже Гарри Поттер?

Лично у меня, драконы, гномы, эльфы и другие мифические существа всегда были связаны со вселенной игр Герои.

image-loader.svg

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

image-loader.svg

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

image-loader.svg

Хочу предупредить тру фанатов серии, что я такой же обычный рядовой игрок Героев, как и миллионы других, поэтому где-то в объяснении игры я могу быть не совсем точным. Пусть это вас не обижает.

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

image-loader.svg

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

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

image-loader.svg

В этот раз я расскажу, как создавал каждое из зданий в Оплоте и вместе с вами мы вспомним для чего они вообще нужны были в игре. А ближе к концу статьи прогуляемся по настоящему 3д городу. Уверен, что вам понравится то, что получится в итоге.

image-loader.svg

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

image-loader.svg

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

В итоге я просто натянул PBR текстуру травы на плоскость. Ура, никаких частиц.

image-loader.svg

Если совсем просто, используя PBR текстуры программа по созданию 3д знает как правильно отразить для них свет, и сделать это так, чтобы всё выглядело максимально реалистично.

После текстурирования, я сразу приступил к созданию деревьев. Как и другие объекты, деревья в блендере можно создавать миллионом разных способов. Можно использовать платные и бесплатные плагины, частицы или просто элементы в виде несложных геометрических фигур, но я нашёл один крутой способ, который позволяет сделать качественные деревья, и чтобы они при этом не сильно кушали ресурсы компьютера.

image-loader.svg

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

image-loader.svg

Главным ориентиром для всего моделинга была вот эта картинка. Вот бывает так. У тебя есть картинка и делай с неё что хочешь, но выдай всё это в 3д.

image-loader.svg

Я добавил небольшую скалу и туман и закончил с окружением.

Конечно же основные «действующие лица» сцены — здания. Хоть они и похожи между собой, а некоторые даже используют одинаковые элементы, в самом начале мне так не казалось.

Я решил идти попорядку. Если договоришься с собой делать здания в таком порядке, в каком они изображены в списке построек, ты просто не сможешь оставить одну из трудных моделек на когда-нибудь потом.

image-loader.svg

В самом начале в городе есть только Ратуша, которая превращается в Магистрат, а потом в Капитолий. Капитолий — одно из самых важных зданий, которое регулярно питает игрока деньгами и приносит в казну 4000 золотых каждый день.

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

image-loader.svg

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

image-loader.svg

Первые две стадии этого здания — Форт и Цитадель, а финальная — Замок. Он удваивает прирост юнитов каждую неделю, укрепляет обороноспособность города и нанять армию можно именно здесь.

image-loader.svg

Кстати, напишите в комментариях, играли ли вы в Героев и если играли, то за какую фракцию и город. Кроме Оплота я сам часто выбирал Некрополис со скелетами, вампирами, призраками и другой нечестью. Мне казались они тогда очень опасными.

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

image-loader.svg

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

image-loader.svg

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

image-loader.svg

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

image-loader.svg

В детстве, играя в третьих героев я почему-то был уверен, что создатели просто выпустили новую игру с названием Герои 3 и что до неё не было никаких двух других достаточно популярных частей. На самом деле и после третьей части я перестал следить за серией, поэтому для меня вся вселенная до сих представляет из себя игру Герои 3 и её ответвления.

image-loader.svg

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

image-loader.svg

Тележку я собрал из брусков и слегка деформировал её части с помощью модификатора Displace. Для других построек я также создал каркас, добавил бочки, сундуки, ящики и бутылки, а в качестве текстур использовал узоры платков в клеточку разных цветов. Осталось добавить ещё одну тележку и склад ресурсов наконец-то готов.

image-loader.svg

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

image-loader.svg

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

image-loader.svg

Чуть позже я подсвечу окна Гильдии с помощью нода Emission, но, а сейчас жилище для магов готово.

Фонтан удачи с самого начала казался мне самым сложным объектом в городе. Здесь, вода, растения и камни. В общем я не ошибся и в итоге потратил на него много мучительных часов. В игре, после улучшения Волшебный пруд превращается как раз в Фонтан удачи. Я создал камни с помощью PBR текстур и некоторых других настроек для шейдеров. Думаю, что вы согласитесь со мной — такие камни выглядят действительно реалистично.

image-loader.svg

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

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

image-loader.svg

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

image-loader.svg

Сокровищница, Союз горняков и Хоромы гномов — это всё по сути одна и та же постройка. Здесь можно нанять обычных и боевых гномов. Интересно, а обычные гномы не участвуют в бою?

image-loader.svg

Для гномов я создал что-то вроде гаража-ракушки с небольшим окошком и массивной дверью посередине. Для смотровой башни добавил четыре палки и крышу. Согласитесь, не слишком презентабельно для гномов.

image-loader.svg

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

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

image-loader.svg

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

image-loader.svg

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

image-loader.svg

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

image-loader.svg

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

image-loader.svg

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

image-loader.svg

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

image-loader.svg

До этого момента я никогда не моделировал коня, а уж тем более с крыльями. Поэтому как можно было догадаться, первый блин вышел комом. Я просто пытался обвести по контуру картинку и выдавить её, чтобы придать нужный объём. Так как статуя слегка повёрнута, а не смотрит прямо перед собой из этого конечно же ничего не вышло. Когда я понял, что бедной коняшке ничего не поможет, я скачал фотографию другого коня, который стоит на дыбах и сделал модельку заново, уже смотря на референс.

image-loader.svg

Спустя какое-то время статуя пегаса получилась именно так, как я хотел. Я добавил крылья, а чуть позже перья для них. Всё что осталось — вода. Её я добавил тем же способом, который использовал при создании волшебного пруда.

image-loader.svg

Поляна, а потом и лужайка единорогов — место, где можно их нанять. Не считая создания самой лужайки и листвы для неё, моделирование каменных колонн заняло всего 10 минут.

image-loader.svg

Город уже почти приобрёл свой финальный облик.

Осталось создать Утёсы и Скалу драконов, где игрок может нанять золотых и зелёных драконов. Для них я добавил куб, слегка разнообразив его геометрию с помощью модификаторов, наложил текстуру, а потом подогнал нужную форму, ориентируясь на картинку из игры. У скалы есть отверстия, в которых и ютятся драконы. В блендере для любой цели найдётся подходящий модификатор. Для создания отверстий в скале я использовал Boolean. Я добавил скалу на сцену и город готов.

image-loader.svg

Ах, да, нужно смоделить ещё с десяток домов, которые не являются основными постройками города, но всё равно каким-то образом появляются в нём. Сколько говорите у разработчика Героев было штатных дизайнеров?

Все эти дома примерно похожи между собой, да и частично повторяются, поэтому особых проблем с их созданием не возникло.

image-loader.svg

Пришло время рендера.

Это удивительно, но я наконец-то накопил на нормальную видеокарту и купил RTX 3070. До этого у меня была более слабая 1660 S и на рендер средней по сложности анимации уходило по 10 часов, а сейчас на такую же всего пару.

image-loader.svg

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

image-loader.svg

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

image-loader.svg

Мне стало интересно как вообще работает эта технология с трассировкой лучей и я нагуглил кое-какую информацию.

Оказывается сама по себе трассировка — это запуск лучей в 3D сцену где в точке пересечения геометрии объекта и луча собирается информация его текстурах. После запуска, из полученных данных, программа рассчитывает освещение для конкретной точки. Процесс может повторяться постоянно и до бесконечности.

image-loader.svg

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

image-loader.svg

В настройках блендера можно увеличивать количество семплов. Семплы по сути — это и есть количество путей на каждый пиксель экрана. И чем больше семплов, тем чище картинка, но рассчитываться она будет дольше. В RTX картах есть специальные аппаратные ядра для ускорения просчета пересечений лучей с треугольниками в 3д сцене. Эта технология, на самом деле, в разы уменьшает время рендера по сравнению с картами без её использования.

image-loader.svg

Кстати, пока я рендерил проект, что интересно, у меня ничего не подвисало даже при параллельной работе в After Effects. Для повышения стабильности работы достаточно установить последнюю версию драйверов Studio с официального сайта Nvidia.

Всё это выглядит как магия, потому что, честно сказать, у меня никогда не было карт подобного уровня и раньше я мог о таком только мечтать.

image-loader.svg

Но, а прямо сейчас я предлагаю вам прогуляться по настоящему 3д городу из игры Герои 3.

image-loader.svg

У меня уже появилась традиция — каждый раз говорить, что это самый сложный проект, который я когда-либо делал. Я начал делать его как только выложил предыдущее видео про создание мира для Super Mario Brothers 3. То есть создавал Оплот около трёх недель.

В любом случае я считаю, что главное не бросать, то, что начал и всё доводить до конца.

Если вам понравился такой формат видео, обязательно напишите об этом в комментариях. А ещё, напишите, хотели бы вы увидеть другой город из игры Герои 3 в 3д.

Никогда не думайте, что чего-то не можете. Нет ничего невозможного, главное захотеть.

Оригинальное видео:

© Habrahabr.ru