Pull to refresh

«Фактура убила текстуру?» — мысли о роли текстур, фактур и материалов в играх

Reading time 14 min
Views 118K


Не то чтобы я был диким фанатом консолей, но есть вещи, которые действительно впечатляют. Понятное дело, что консолям нового поколения без впечатляющих пилотов на рынке делать нечего. Речь идет не о Watch Dogs, который тоже заслуживает внимания, как любая песочница с открытым миром, а о Tom Clancy’s The Division анонсированная для PS4 и Xbox One. Картинка (я оцениваю лишь ее) выглядит действительно хорошо. Игры уже давно стремятся быть не играми. Это уже почти кино. Меня мало волнует сейчас вопрос гейм-плея данной игры. Сейчас я просто потребитель, который готов клюнуть на вкусную обертку.

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

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

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



Что я вижу здесь? Для начала посмотрите трейлер и решите, что видите для себя вы. А потом… лопата?




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


Весь асфальт усыпан мелкими кусочками бумаги, обрывками газет, разноцветными пятнышками. Все это – декали (см. приложения). Сейчас термин декали стал много шире чем в момент его зарождения. Декалью также может считаться повторяемая группа объектов, объединенных в один, к примеру, десяток разных банок вперемешку с рулонами туалетной бумаги и обрывками плакатов. Хотя по сути это был и остается «объект насыщения» (prefab (или static decoration object))

Пораженный хаосом город, как и мир Fallout 3 в свое время (разработанный на движке Gamebryo и имеющим ряд костылей (см. приложения)), «уделан» декалями от и до. Вся горизонтальная поверхность уровня кишит листками бумаги, банками и мусором. Это выглядит великолепно, насыщенно. Сразу дает ощущение богатства. Однако консоли имеют ограниченный бюджет мощностей в отношении ПК (в большой степени по части текстур), и любой разработчик игр для консолей должен в совершенстве владеть своими инструментами. Приглядевшись можно также увидеть, что клонируемые объекты в основе своей низкополигональны. Легкий налет осторожности в разработке.

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

Свет и тень вытянут все что угодно. К такому положению я пришел давно, и у меня нет никаких причин отказываться от этой аксиомы. Таким образом, все объекты, куда нельзя добраться (условно говоря «верхатура») — можно делать геометрией, заливать цветом, покрывать светом и тенью, размывать с помощью пост-фильтров, обильно приправляя более мелкой и тонкой геометрией (провода, несущие конструкции, веревки, вывески), плакатами и декалями. Что даст полную иллюзию богатства. Совсем не обязательно дать человеку богатство. Нужно заставить его поверить, что он богат. Если добавить внизу уровней кучу текстур на основе декалей — игрок просто ослепнет. Что и происходит.

После света и тени (за которые разработчики игр ведут борьбу еще с появления псевдо-трехмерных игр) на повестке дня стоит материал объектов.


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

Реализм материалов предусматривает наличие хороших шейдеров – А, и фактур поверхностей – Б. Если дизайнер имитирует реальные материалы, то ему достаточно пользоваться сотней чистых текстур (равномерные фактуры высокого разрешения с возможностью тайлинга во все стороны), все остальное сделает цвет (цвет текстуры на шейдерной основе), помноженный на свет и тень в самой сцене.

В любом случае это хороший шаг в сторону фотореализма. Ведь «честные» стены и поверхности в нашей повседневной реальности именно так и выглядят. Это фактура «покрытая» освещением. Подойдите к любой стенке. При пристальном взгляде (и даже без оного) вы увидите поры материала. Словно поры вашей кожи. Рельеф, помноженный на цвет и освещение.

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

Ведь понятие материала (шейдера) существует уже давно, но фактура, по сути, до сих пор не используется. В глобальном плане. Я не говорю о картах нормалей, и не говорю о «детальных текстурах». Тот же материал, ровно, как и фактура материала, представлен в движках крайне скудно. Есть водичка, есть «блестяшки», за которые, кстати, часто ругают тот или иной движок. Это означает то, что пользователь (игрок) присмотрелся к движку и на глаз определяет знакомый шейдер. Характерный шейдер. Нереальный. И речь идет не о нереальном качестве, а о скверном исполнении. В случае Unreal Engine, и в частности в ряде детишек от Id Software это — «тот самый пластмассовый блеск!».


Как и на предыдущих скриншотах хорошо видно как работают материалы, насколько сильно они продвигают картинку вперед на пути к реализму. В большей степени это касается — метала и пластиковых объектов (поверхностей с высокой степенью отражения). Тем не менее, в динамике можно будет видеть, что «работают» не только они.

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

Да, безусловно, теперь это все в реальном времени. Это шаг вперед. Но не революция, как это обычно подается. Всего лишь возросшие мощности техники, обеспечивающие возможность использовать то, что было статикой в режиме реального времени. И это, на мой взгляд, еще не повод чтобы трубить о революции. Всего лишь один тип болта или гайки. Еще одна полумера.
Хотя… мы прекрасно знаем, почему происходит так, а не иначе. Маркетинг. Железки должны продаваться. Каждый продукт должен иметь красивое и ясное лицо с голубыми глазами. Еще один новый голубой глаз, еще одна серия, еще один мешок с центнером купюр.

За вычетом кислятины последней пары абзацев, за «текстурами» на базе фактур – будущее. Уже сейчас каждая «текстура» может выглядеть и выглядит как связка следующих компонент:

• Текстура (diffuse map)
• Общий цвет или маска разных цветов (color map)
• Шейдер поверхности (type of material)
• Декаль (decal)
• Маска декалей (decal mask)
• Отраженный свет (specular map)
• Маска отраженного света (specular level map)
• Карта отражения (reflection map)
• Маска силы отражения (reflection level map)
• Карта рельефа (bump, normal or parallax)
• Маска силы рельефа (level of ***)
• Маска свечения (glow map)


Все это присутствует и сейчас в полном объеме (c большим или меньшим количеством параметров, с этими либо другими названиями) за исключением того что Фактура еще не вытеснила Текстуру. Этого еще нет. Но думаю также, что в трипл-ААА проектах Фактура очень скоро убъет Текстуру. Не сегодня, и не завтра. Не сразу, но постепенно. Как яд. И та со временем сдаст свой фронт. Будет оттеснена в периферийные регионы, где производственные мощности пока что ниже (айфоны, айпады, портативные консоли и прочие томагочи)

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

Тем не менее нечто подобное уже происходило. С технологией Normal Mapping. Ведь в свое время 3D было настолько убого, что пришлось изобретать переходную технологию имитирующую крутизну геометрии, ее объем и наличие там, где ее быть не могло в силу ограниченности производственных мощностей. Вот это была революция. Это наконец-то позволило трехмерной графике догнать свою старшую сестру – графику двумерную. Чтобы там не говорили о качестве трехмерной графики в момент ее зарождения, на фоне проработанности двумерной графики она выглядела калекой. Перспективной калекой за счет грядущей аугментации (да-да, я знаю, ты об этом не просил).

Сегодня 3D дошло до таких масштабов, что его можно взвешивать не килограммами, но тоннами. Normal mapping постепенно устаревает. Объем геометрии неуклонно растет, перемещая Normal mapping в дополнительную технологию, но уже не несущую. Уже скоро карты нормалей станут просто фактурой кожи, цемента, дерева.


Если обратить внимание на дорожное покрытие то можно заметить, что оно уникально. Нет повторяющегося рисунка. Глаз воспринимает его как реальное. Этого можно достичь двумя способами. Несколькими слоями декалей, что более экономно, или Кармаковской мега-текстурой, когда уровень создается в редакторе и где художник просто работает кистью (c помощью кистей, в том числе и геометрических на манер пакетов скульптинга), а потом текстура запекается в одну, и разрезается на кратные фрагменты которые подгружаются по мере движения по уровню (очень высокий уровень эксклюзивности каждого места в игровой локации)

Тоже произойдет и с фото-текстурами. Они уже сейчас достигают немыслимых размеров. Но будущее не за фото-текстурами, а за фото-материалами (с примесью фотографий или без, не известно куда приведет нас безумный прогресс). Т.к. структурно именно материал первоисточник, а не его фотография. Не его реплика, отражающая лишь ракурс с одной позиции. Материал, где будет учитываться все. Многокомпонентная структура, части которой будут делать совершенно разные люди. Перечисленные выше компоненты материала похожи на снежный ком, который катиться с горы обрастая все новым и новым «мясом». И не далек тот момент когда количество перерастет в качество.

Уже сейчас в крупных конторах имеется дробление на узко-профильные специализации. Компании по производству игр – настоящие заводы. Но дальше, как и в случае с Фактурой – все будет только хуже. Вернее будет только Уже. Я имел в виду более Узко. С позиции детских штанишек, которые стали слишком узки для растущего ребенка.

Работник в нашей индустрии, условно, уже больше не делает башмак, штаны или майку. Он делает ткань или «шайбу» (металлические колечки, в которые вдевается шнуровка) и передает в следующий отдел тяжелую сетку доверху забитую блестящими бубликами. Там их приладят к ткани и передадут в следующий отдел.

Это прогресс. Его не остановить. Там где есть массовое производство, всегда есть фабрики и заводы. Всегда будет конвейер, который не предусматривает творчества, но предусматривает бублики в мировом масштабе. «Square Enix провела масштабную реструктуризацию своего российского филиала, уволены 14300 человек, которые занимались Q-бубликами». И смех, и грех, и фейк. За вычетом числа «болванок», числа сотрудников, конторы, региона и вымышленной ситуации – это практически реальность.

• Количество людей в игровых конторах не столь велико, но существенно
• Компании регулярно проводят реструктуризацию (как правило в свете убытков) и увольняют персонал
• Компании регулярно проводят реструктуризацию (при завершении проекта, и конкретных контрактных работ) и увольняют персонал
• Индустрия еще не изготовляет q-бублики, но уже давно идет деление на профильных сотрудников. Термин «универсал» многих пугает больше, чем радует. А зря. «На все руки мастер» — ценное свойство, чаще всего востребованное в небольших конторах не стремящихся делить людей на винты.
• Square Enix насколько мне известно не имеет представительств в России. Однако CryTek тоже начинался не здесь, но его офисы теперь раскиданы по всему миру, в том числе в Киеве, и Будапеште. До нас, как говориться рукой подать… правда незачем.


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

Обойдусь без лозунгов – «но инди всех спасут!». Никто никого не спасет, и никогда не спасал. Рядом с гигантским заводом всегда может быть маленькая лавочка Чена, где вы привыкли покупать «его лапшу» и «его игрушки». Это ваш любимый продавец с его маленьким магазинчиком, а вы один из тысячи его любимых клиентов.
Вы всегда будете приходить к нему потому, что вам любо старое, либо — любо что-то определенного сорта (чего уже, увы… не выпускают).

Со временем вы состаритесь тоже. И когда-нибудь придет момент, когда Чен умрет. Вы придете к этой лавке, и увидите, что какая-нибудь грудастая блондинка меняет витринные вывески Чена на рекламу продукта увеличивающего рост волос на сосках (а продвинутый Hair-Turbo-Pluss: Somewhere Edition и вовсе позволит делать это где угодно).
Эдакий пучок волос, нужного вам цвета, который очень похож на акварельную кисточку. Его можно растить не только на сосках, но и вообще где хочешь. «Заяц с пупочкой» больше не будет мультфильмом, но будет брендом новой передовой технологии выращивания волос. «Хочешь пупочку где угодно?» или «Этот сгусток подчеркнет вашу индивидуальность там, где вы даже боялись ее взрастить» — станет слоганом новинки.

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

Для меня точкой невозврата стали эти скриншоты и видео Tom Clancy’s The Division. Сегодня утром. Я внезапно понял, куда все идет. Вроде как… и так это знал. Но Осознал только теперь. Знание и осознание – это разные вещи. Три года назад я сознательно остановил свое обучение в технических дисциплинах, понимая, что в ногу с прогрессом мне уже не идти. Что я не могу угнаться за этой гонкой вооружения и торжеством прогресса.
Я взял те инструменты, что у меня есть и ушел делать то, что мне любо. Я — Чен. Вокруг меня растет новый мир. И я не боюсь этого. Это просто жизнь. Прогресс. Рост. Рождение и смерть. Эволюция. Так и должно быть. Главное чтобы у меня были Вы. Заходили иногда в мою лавку прикупить чего-нибудь эдакого.

Приложения


Текстура – (вики-формулировка) растровое изображение, которое наносится на геометрию в соответствии с UVW разверткой (текстурные координаты). Как правило кратно степени двойки. (8х8, 16х16, 32х32, 64х64, и т.д.) реже но также используются текстуры в виде прямоугольника (16х256, 512х128). Текстура может быть картой любого типа (diffuse, specular, colored specular, normal, bump & etc.)

Детальная текстура (detail texture) – Текстура имитирующая микро-рельеф (повторяемый тайл, к примеру, «пор цемента или бетона»), в отличие от карт нормалей и карт высот такой рельеф не чувствителен к динамическому освещению. Тем не менее не исключается возможность написания шейдера где этот микрорельеф будет сделан на основе карт нормалей.

Фактура (вики-определение) – тоже самое что на вашей руке. Персональный микро-рельеф каждого объекта делающий его неповторимым. Можно сказать что объект неповторимым делают его черты, но ваш отпечаток пальца это микро-рельеф, ваша персональная фактура, ваш ID и ваш пропуск в мир где вы, за редким исключением, действительно уникальны. Со всеми вытекающими.

Если продолжать аналогию с вашей рукой, то поры и другой микро-рельеф (бородавки, впадины, дефекты и шрамы) это фактура. Цвет кожи, пигментные пятна и родинки — это текстура. Часть микро-рельефа, чтобы сэкономить текстурное пространство и покрыть вас тайлом кожи, либо «процедурной кожей», плюс родинки и пигментные пятна могут быть нанесены декалями.

UVW развертка – (вики 1 и вики 2 (англ.)) «выкройка» в виде текстурных координат, которая указывает где и как выводится текстура. Морда пекинеса – лучший пример. Любая развертка выглядит либо как выкройка одежды (чертеж где расположены все элементы будущей одежды) либо как объект по которому нанесли удар молотком. Формулировка достаточно вольная, но по собственному опыту знаю – читать технические описания не всегда интересно.

Декаль (Decal) — Изначально декали использовали для отрисовки дырок от пуль, пятен крови или грязи (сажи) от взрывов. Это был спрайт дырки в бетоне или металле (либо любого другого объекта) с альфа-каналом, который наносился поверх геометрии уровня (или объекта). Впоследствии декаль превратилась в элемент декорирования. С ее помощью начали наносить мох, граффити, грязевые потеки, плакаты и т.д.
В Half-Life 2 декали стали наносить в режиме наложения cходным с Overlay mode в Photoshop, что позволило «пережигать» поверхность снизу, приводя к хорошему визуальному эффекту дополнительной подсветки. В сочетании с фирменным светом HL2 до сих пор служит примером специалистам по свету. После выхода Dishonored стало ясно что «свет как в HL2» не заслуга движка, не концепция, а человек. Виктор Антонов. И все это прежде всего его заслуга как арт-директора, художника и главного идеолога стиля этой известной игры.
Еще позже появился термин «геометрическая декаль» где использовался принцип декали, но вместо нее могла оказаться целая группа объектов (мусор, группы мелких объектов).

Шейдер — (вики-формулировка) программа определяющая дополнительные параметры объекта на сцене или текстуры. Отвечает за поглощение и рассеяние света, наложение текстуры, отражение и преломление, затемнение, свечение, искажение текстурной информации в соответствии с описанным программистом (или стариком-шейдеровиком) алгоритмом.

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

Движок Gamebryo. Разработчики как один, кто очень гласно, кто более тихо, но… практически единогласно считают Gamebryo забагованным и не очень удобным инструментарием. Из первых же приходящих в голову проблем можно выделить следующие:
• Неудобный скриптовый язык
• Отсутствие теней
• Проблемы с анимацией
• Глючно работающий физический движок

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

Заметки задним числом


Первая: Я не поклонник консолей, но отдаю себе отчет в их значимости и не отрицаю наличия множества хороших проектов на них. Не приветствую «святых войн» между ПК'шниками и «консольщиками». Одинаково понимаю и тех и других. Исповедую принцип «живи и дай жить другим».
Вторая: Терминология в разных конторах разнится, поэтому я не настаиваю на истинности и единственно верности формулировок. По возможности привожу как свою трактовку, так и «вики». Свою как хулигански-общеобразовательную, а вики — как официальную.
Третья: Картинка потрясает меня точно также как и многих других игроков (за вычетом девелоперских придурей). И если кинект зародил мысли о покупке X-BoX или PS (как средство избежать гантелей в спортзале), то данная картинка похоже переломит спину верблюду. Я уже готов идти покупать ее – просто ради «побродить по миру».
Четвертая: Мне известно, что в играх на PlayStation разработчики очень «заморачиваются» с персонажами и что они выглядят зачастую лучше, чем во многих ПК играх, проявляя чудеса ловкости и находчивости обходя заложенные ограничения. Но также мне известно, что в силу упомянутых ограничений интерьеры в сравнении с ПК версиями страдают по части качества. Это факт. Технический. Все остальное зависит от мастерства разработчиков, а не от моей, якобы предвзятой позиции (см. первую заметку).
Пятая: Ничего не имею против блондинок.
Шестая: Скриншоты взяты с сайта Riot Pixels
Седьмая: Один аниматор (Олег Шедров) увидев мои UVW развертки и текстуры сказал, что я мог бы зарабатывать продажей футболок. И действительно часть текстур напоминала какой-то безумный сокобан, но тем не менее — забавный. Особенно если это была развертка скелета-мага с горящими глазами. Череп я ради шутки водружал в центр текстуры обращивая его костями, по возможности симметрично.


Сверх задняя заметка


Тут мне, по горячим следам, написал Денис Удалов (Denis Udalov) и увы, черт подери, я увидел эту почту существенно позже чем надо было. Так вот Денис любезно предложил мне взглянуть на сцену, которая была создана без использования диффузных текстур Андреем Максимовым. Там используются процедурные текстуры, карты нормалей для рельефа, карты высот и т.д. Как раз то о чем я говорил в моей маленькой публикации. Но лучше… просто взглянуть. (линк на предоставленный материал)

Сэмпл сцены:


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

Уверен, что в будущем прогресс дойдет и до этого. Правда это «обездушит» (оставит без души) многие элементы дизайне где только рука художника может вдохнуть в элемент жизнь, придав ему свой особенный шарм и стиль.
Tags:
Hubs:
+182
Comments 153
Comments Comments 153

Articles