01.11.02 | Создание бесшовных текстур, тайленье.


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

Работать я буду в программе PhotoShop 6.0 Я не буду использовать более новую версию 7.0, так как нововедения там не существенны, но вы можете использовать любую версию, но при этом желательно не ниже пятой версии. Вы также можете использовать абсолютно любой графический редактор, начиная от Paint Shop Pro до Paint. Прочитав следующий матерьял, и поняв принцип создания бесшовных текстур, это будет не сложно осуществить.

1) Существует несколько способов создания бесшовных текстур. Давайте рассмотрим один из этих способов. Я взял фотографию какой то пещеры, так как она в принципе подходит для примера тайленья.

При помощи инструмента Rectangular Marquee Tool (горячая клавиша М) я выделил участок равный 284 х 284 пикселей и скопировал его в буфер обмена при помощи комбинации клавиш Ctrl + c. В принципе вы можете сделать текстуру любого размера, но обязательно кратного 16 + запас. Тоесть текстура должна быть 256 на 256 пикселей, но с запасом где то еще в 28 пикселей, тоесть в данный момент текстура должна быть размером в 284 на 284 пикселя. Также желательно создавать текстуру среднего или большого размера, чтобы она была максимально детализирована. Нажав в меню File пункт New (Ctrl + n) вызовем окно создания нового документа. Программа сама подгонит размеры под рисунок, хранящийся в буфере обмена. На всякий сучай проконтролируйте размеры файла, которые по выстое высоте (height) и ширине (width) должы быть равны 284 пикселям (pixels). Нажав ОК создадим новый документ, и вставим в него рисунок, хранящийся в буфере обмена. Вот мы и получили нашу, пока еще не затайленую, текстуру. Если вы попробуйте работать с такой текстурой в игре, то получите эффект криво наклееных обоев, о чем я писал в самом начале.

Для большего удобства установите показ линеек, выбрав в меню View пункт Show Rulers. Если у вас написанно Hide Rulers, то соответсвующий режим уже включен. Наша текстура будет занимать примерно девять сантиметров по горизонтали и столько же по горизонтали. При помощи инструмента Rectangular Marquee Tool (горячая клавиша М) выделим вертикальный участок, равный одному сантиметру по горизонтали и девяти по вертикали. Этот один сантиметр должен быть равен 28 пикселям.

На всякий случай сохраните выделение, в меню Select и выбрав в нем пункт Save Selection. В появившемся окне в поле Name введите название выделения и нажмите ОК. Для загрузки выделения используйте в меню Select пункт Load Selection. В появившемся окне выбирайте сохраненвый вами ранее канал, и выбирайте тип добавления вашего выделения - новое выделение, добавить в уже существующее и т.д.

Теперь скопируем в буфер обмена ту часть текстуры, которая находится в выделении, нажав комбинацию клавиш Ctrl + c. В меню Layer выберите пункт New и в нем подпункт Layer... или нажав Shift + Ctrl + n, тем самым вы создаете новый слой. Теперь в получившийся слой мы должны вставить только что скопированый участок текстуры, для этого нажмите Ctrl + V, и перетащите его к краю, противоположному тому, откуда его копировали.

Далее удалим ту часть, которую мы копировали, тоесть узкую 28 пиксельную полоску. Загрузив сохраненное вами ранее выделение, закрастье каким нибудь ярким цветом все что будет в нем находиться. Затем нажмите в меню Image выберите пункт Canvas Size. В появившемся окне в разделе Width (Ширина) установите метод счисления в пикселях (Pixels). Установите значение в 256 пикселей, и в разделе Anchor выберите самый правый квадратик среднего ряда. После обрезания холста, вы не должны увидеть остатков от полосы, закрашенной ярким цветом - тоесть вы не должны увидеть выделяющийся цвет.

Нам осталось только избавиться от получившейся границы, и наша текстура будет великолепно тайлиться по слева на право. Сначала склейте все слои выбрав в меню Layer пункт Flatten Image. Выбрав интсрумент Clone Stamp Tool (S) вы можете начинать стирать шов. Зажимая Alt выбирайте близ лижащий участок к шву, например лежащи слева от него. Далее отпустив Alt рисуйте на месте шва. Ваши действия должны как бы переносить рельефные участки с разных сторон от шва, на противоположные участки. Немного потренировавшись вы научитесь работать с этим инструментом.

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

2) Следует заметить что также существует еще один способ тайленья, как мне кажется немного более удобный, нежели первый. Основан он на немного другом принципе, и предоставляет возможность избовляться сразу отовсех швов, причем на одном экране. Если в предидущем способе мы избавлялись от швов постпенно, шаг за шагом, то сейчас мы избавимся от них буквально в три шага. Единственное замечание, этот способ требует немного большего опыта владения инструментом Rectangular Marquee Tool (горячая клавиша М), и немного больших художественных способностей. Итак, перейдем к делу.

Как в предидущем примере создадим новый документ, и вставим в него рисунок - заготовку для тайленья. Теперь мысленно разобьем текстуру на 4 равные части. Теперь включив показ линеек, выбрав в меню View пункт Show Rulers, выделим один из квадратов, я начал с верхнего левого. Его размер надо расчитать очень точно. У меня текстура по высоте и ширине равнялась 9 сантиметров, при развернутом на весь экран документе. Следовательно стороны квадрата должны быть 4,5 сантиметров. Сделав выделение сохраните его, зайдя в меню Select и выбрав в нем пункт Save Selection. В появившемся окне в поле Name введите название выделения и нажмите ОК. Для загрузки выделения используйте в меню Select пункт Load Selection. В появившемся окне выбирайте сохраненвый вами ранее канал, и выбирайте тип добавления вашего выделения - новое выделение, добавить в уже существующее и т.д.

Теперь вырежте квадрат, зайдя в меню Edit и выбраd там пункт Cut (Ctrl + x). Теперь выберите сохраненное вами выделение, и переместите его при помощи инструмента Magic Wand Tool (W) по диагонале вниз. Тоесть если у меня был выбран верхний левый квадрат и я его вырезал, то выделение надо перенести в нижний правый квадрат. Выделив его, при помощи инструмента Move Tool (V) перетащите его на место вырезанного квадрата. Снимите выделение путем выбора в меню Select пункта Deselect (Ctrl + D). Теперь выберите в меню Edit пункт Paste (ctrl + v) и перетащите вставленный квадрат на место только что перемещенного квадрата.

Тоесть мы просто диагонально переместили два участка текстуры. Тоже самое следует проделать и с другими двумя квдаратами. Когда перемещение будет законченно мы увидим примерно следующую картину, в которой надо уничтожать сразу все швы. Конечно же делать это мы будем при помощи инструмента Clone Stamp Tool (S). Сначала склейте все слои выбрав в меню Layer пункт Flatten Image. Выбрав Clone Stamp Tool вы можете начинать стирать швы. Зажимая Alt выбирайте близ лижащий участок к шву, например лежащи слева от него. Далее отпустив Alt рисуйте на месте шва. Ваши действия должны как бы переносить рельефные участки с разных сторон от шва, на противоположные участки.

Вероятно что после такой операции некоторые участки окажутся довольно сильно размытыми или станут нечеткими. Вернуть былую четкость рельефа вам поможет инструмент Sharpen Tool (R). выбрать его можно, если вы будете удерживать нажатую мышь на инструменте Smudge Tool (R) некоторое время, слева появится меню дополнительного выбора инструментов. Там вы и сожете выбрать нужный нам инструмент. Теперь используя этот инструмент вы момжете добавить резкости там, где это нужно. Единственный совет - не передерживайте инструмент на одном месте. Также резкости можно добавить и для всей текстуры. Выберите в меню Filter пункт Sharpen и в нем вы сможете выбрать несколько подпунктов, которые добавят резкости сразу всей текстуре.

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

3) Мы расмотрели тайленье одного типа текстур - скал. Но например вам надо затайлить текстуру камня, или стены из кирпичей. Нет ничего проще. Принцип остается таким же, только единственное отличее будет заключаться в том, что удаление швов будет проходить немного по другому принципу. Не склеиваете слои, тоесть не роизводите операцию Merrge Layer, есл вам придется работать со слоями. Например перетащив 28 пиксельный слой можно просто стирая границу и обводя камни мягким ластиком, можно как бы подтереть камни. И получится что из под нового слоя будет проглядывать старый. Таким образом можно добиться вполне подходящего нам эффекта. Итак, работать придется не инструментом Rectangular Marquee Tool, а простым ластиком - тоесть инструментом Eraser Tool (E).

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

Старайтесь работать не спеша, увеличив рисунок. В идеале должно получиться что то типа того, что изабраженно на нижней картинке. Правда там мне не пришлось особенно сильно мучаться, так как исходная картинка была довольно большой (1024х768), и при уменьшении границы соеденения кирпичей почти стерлись сами собой.

В дополнении я хотел бы привести для вас интересный пример использования фототекстур.

Существует множество методов тайлинга. Например если вы пытаетесь затайлить камуфляж, то достаточно будет воспользоваться просто кистью. Такую работу можно провести даже в Paint'е. На этом я хотел бы закончить этот урок. Мне кажется что я довольно подробно разобрал этот "сложнейший" аспект создания текстур, который оказался довольно легким. Я думаю что теперь вы сможете затайлить все что угодно, главное понять принцип. Будете ли вы пользоваться первым способом или вторым - это неважно. Главное найти правильный путь избавления от швов, я показал вам несколько путей - остальное придет с практикой, которая должна осуществляться или методом научного тыка, либо прочтением целой серии дорогих книжек по PhotoShop, я выбрал первое - чего и вам желаю........





Сайт создан в системе uCoz