Войти
АртСтатьи

Создание текстурных разверток (2 стр)

Автор:

Оптимизации

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

Первое о чем следует узнать, так это о том, можно ли эту самую симметричность использовать? Вопрос на самом деле из смежных областей, и к самой раскладке имеет косвенное отношение. Но допустим, вы делаете раскладку на лицо персонажа. Вы, конечно, можете сделать лицо симметричным. В большинстве случаев это не очень заметно, хотя по большому счету зависит от того, как нарисована текстура. Но предположим, что из описания персонажа следует, что у него на лице будет шрам на левой щеке. Если раскладка будет симметрична, то точно такой же шрам появится на правой щеке. Решение проблемы – отказаться от симметрии и сделать раскладку на все лицо. Однако и это может стать проблемой, в случае, если места под текстуру мало, а уменьшать размер куска раскладки с лицом не хочется. Выходом может стать использование симметрии на всем лице, за исключением тех полигонов, картинка на которых должна отличаться. В нашем случае — это правая щека. На раскладке просто появляется небольшой кусочек, на котором художник рисует щеку без шрама.

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

Изображение
Нажмите на картинку чтобы посмотреть увеличенный вариант.

Очевидно, что предпочтительнее второй вариант, так как на нем не видно шва, и не возникает ощущение «зеркальности» модели. Кроме того, во втором случае имеется некоторая экономия полигонов, что тоже может быть важно.

Если по каким-то причинам использовать симметричность объекта нельзя, например, в случае, когда на объект необходимо нанести сложный рисунок который не должен повторяться, то оси симметрии (внимательно!) таких кусков раскладки стоит располагать (если такая возможность имеется) параллельно одной из сторон текстуры. Так художнику будет легче рисовать.

Есть еще один нехитрый, но возможно неочевидный трюк, когда делаете симметричные развертки. Допустим, вам нужно сделать развертку для башни танка. Вы хотите сделать ее симметричной, но на обеих сторонах башни должна быть надпись «За Родину». Как быть? Первое что приходит в голову (если конечно ваш движок не позволяет использовать декали) это скопировать полигон или несколько полигонов отдельно и на них выполнить зеркальную надпись, чтобы не получилось вот так:

Изображение
Нажмите на картинку чтобы посмотреть увеличенный вариант.

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

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

Пределы добросовестности :)

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

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

Подводя некий итог, можно сказать следующее – внимательно работайте, придерживаясь здравого смысла. Если здравый смысл спит, спросите у самого художника-текстурщика. Он наверняка сидит у вас за спиной и, наверняка, будет польщен таким вниманием к его труду. Что всенепременно способствует укреплению товарищеской атмосферы в коллективе! ;) Во как.

Вместо пошагового туториала.

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

Первое, что следует сделать, это узнать как можно больше о движке, для которого вы будете делать модели. К раскладкам это имеет косвенное отношение, но это важно тем, что вы ТОЧНО будете знать, что можно, а что нельзя. Если бы я в свое время знал, что движок Homeplanet поддерживает наложение мульти-материалов на корабли, то вполне возможно они выглядели бы лучше. Хотя бы в аддоне к нему. А создание раскладок для них было бы существенно проще. Далее. Не повторяйте уже сделанную работу. Если вы делаете серию объектов, которые содержат одинаковые элементы, то такие элементы лучше всего вынести в отдельный объект и создать его модель и раскладку один раз, чтобы художник потом нарисовал одну текстуру тоже один раз. Вообще, подобными заморочками должен озадачиваться ведущий художник, но порой бывает так, что таких должностей нет, поскольку в команде всего два-три человека. Проявляйте тогда свою сознательность. ;) Возможно, когда-то вам придется стать ведущим художником. Также стоит выяснить под какими ракурсами будет видеть игрок ваши модели в игре. Если ваша игра это вертикальная стрелялка с самолетиками, которые видно только сверху, то не стоит заморачиваться с растяжениями, которые могут возникнуть на боках фюзеляжа из-за примененного на скорую руку планарного маппинга ко всему самолету сразу. Такие растяжения все равно останутся незамеченными, учитывая размер самих самолетиков. Стоит также обратить внимание на назначение объекта, который вы текстурируете. Если это что-то, что можно рассмотреть внимательно со всех сторон, то к его раскладке следует отнестись с вниманием. Если же этот объект – машинка, которая проезжает для фона раз в пять минут где-то за забором, и видно ее только из окна четвертого этажа офиса вашего виртуального командира в симуляторе очередного спецагента, то не стоит тратить на нее очень много времени ;) Хороший пример тому игры GTA3 и Vice City. Особенно последняя. Пространства там столько, что обойти все очень сложно, и потому потянувшаяся текстура, случайно обнаруженная где-то между домами, совсем не напрягает, а правильно расставленные акценты на машинах, пешеходах и основных улицах, и вовсе заставляют забыть о небольших огрехах.

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

Страницы: 1 2

#моделирование, #развёртка, #текстурирование

14 сентября 2004

Комментарии [17]