Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ponimayka1

.pdf
Скачиваний:
131
Добавлен:
07.06.2015
Размер:
37.11 Mб
Скачать

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

Затем можно выбрать поверхность и материал и выполнить Convert to Solid Texture. После этого вы получите бесшовный фрагмент текстуры в районе шва, от которого можете дальше весело плясать в Фотошопе.

501

Если проектируете разные текстуры на разные участки поверхности, то по конвертирования их в обычные растровые (непроекционные) текстуры, можно будет нарисовать альфа-маску для того, чтобы переход между участками поверхности был плавным. А затем собрать сконвертированные текстуры в Layered Texture, используя эту маску, которую, кстати, очень удобно нарисовать (или хотя бы наметить) с помощью 3D Paint Tool. Впрочем, эта техника чаще применяется в мультитекстуринге, о котором речь пойдет позже.

Кстати, о 3D Paint Tool! Он прекрасно умеет рисовать поперек или «через» шов. К сожалению, кисти Paint Effects на шве безбожно «рвутся», а вот обычные кисти Artisan прекрасно работают. Особенно в режиме Clone.

Существует еще масса трюков по скрытию швов, однако они относятся скорее к рисованию, чем к MAYA. А вот о рисовании в MAYA стоит поговорить подробнее.

3D Paint Tool

Сразу скажу, что 3D Paint Tool вызывает у всех самые противоречивые ощущения. С одной стороны, в нем не хватает самых элементарных функций, присущих программам для рисования. С другой стороны, возможность рисовать кистями Paint Effects, корректная работа со швами и другие забавные эффекты делают этот инструмент если не уникальным, то весьма интересным. Часто он используется, как вспомогательное средство, позволяющее наметить или обозначить тот или иной орнамент или образец прямо на поверхности. А последующее сохранение и развертка этой текстуры позволяет довести ее вид до ума, где угодно.

Также часто он используется для рисования альфа-масок в местах перехода от одной текстуры к другой на одной поверхности. Этот трюк активно применяется в мультитекстуринге.

502

Как следует из названия, его главным козырем является возможности рисования прямо на модели. Из этого козыря проистекают некоторые требования.

Первое требование - у вас должна быть ОЧЕНЬ ХОРОШАЯ видеокарта! С максимальным количеством видеопамяти. Если вы хотите рисовать и тут же видеть адекватный результат - готовьте денежки. Если нет, ниже описан трюк, как их сэкономить.

Второе требование - на поверхности должны быть UV-координаты. Точнее говоря, на поверхности должна лежать текстура, по которой мы рисуем, но есть возможность ее назначить прямо в процессе рисования. Чтобы такой текстуре «лечь» на поверхность, нужен хоть какой-то UVмаппинг. «Хоть какой-то» означает: чем он лучше , тем проще будет рисовать на поверхности.

Использование 3D Paint Tool в принципе несложно. Но есть несколько тонкостей, зная которые вы избавите себя от мучительного поиска причин, почему ничего не работает.

Если не лень, откройте файл duck3dTexture.ma, чтобы на нем потренироваться.

Проще всего добраться до 3D Paint Tool можно, щелкнув правой кнопкой мыши над поверхностью и выбрав в выпавшем меню Paint=>3D Paint (пытливые умы могут также разыскать его в основном меню MAYA).

Выбрав инструмент, вы наверняка получите в Script Editor предупреждение типа:

Warning: file: C:/Program Files/Alias/Mayal 1.0/scripts/others/art3dPaintToolScript.mel line 46: Some surfaces have no file texture assigned to the current attribute.

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

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

В настройках инструмента есть специальная кнопка Assign File Textures, и если вы думаете, что первым делом стоит на нее нажать, то вы заблуждаетесь.

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

503

можно любым атрибутом, вплоть до Reflectivity.

Поэтому смотрим, что MAYA предлагает нам по умолчанию. Ага! Сюрприз! Очень даже может быть, что MAYA предполагает, будто мы захотим разукрашивать диффузный канал материала. (На самом же деле это зависит от того, как мы рисовали в последний раз.)

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

Установите Attribute to Paint=Color.

И вот только теперь нажмите кнопку Assign/Edit Textures. Задайте разрешение текстуры и нажмите нужную кноку.

При этом, если у вас на канале Color были какие-нибудь нерастровые текстуры, они «спекутся» в битмап нужного размера, по которому вы и будете рисовать. Это дает возможность

сохранить текущий узор на поверхности

Теперь вы можете резвиться, как вам угодно, меняя цвет, форму, прозрачность кисти. Вы можете рисовать кистями Paint Effects, причем для них действуют свои режимы: Paint,

Blur и Smear. Имейте в виду несколько вещей.

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

Как и положено в рисовальной программе, текстура сохраняется, когда вы этого захотите, то есть когда нажмете кнопку Save Textures. Вернуться к последнему сохраненному варианту можно, нажав Reload Textures.

Есть две полезные галки. Одна из них, Save Textures от Stroke, сохраняет файловую

504

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

Что же тогда делает другая галка Update on Stroke? Она обновляет файловую текстуру в памяти, не сбрасывая ее на диск. Это опять же полезно, когда у вас настолько дешевая видеокарта, что она не может толком отобразить цветовой канал, не говоря уж про бамп. В этом случае вы можете применить хитрый трюк.

Просчитайте изображение с помощью IPR.

Задайте нужную область обновления в Render View.

Включите галку Update on Stroke и рисуйте по поверхности. После каждого обновления IPR будет обновлять картинку. При этом текстура не будет сохраняться на диск, пока вы не нажмете кнопку Save Textures или не включите галку Save Textures от Stroke.

Если у вас все же приличная видеокарта, имеет смысл включить в панели камеры режим Shading=>High Quality Rendering. Это позволит вам видеть каналы бампа, хорошее освещение и пр.

Если вы хотите использовать режим Erase, нужно выключить галку Save Textures on Stroke, иначе MAYA не сможет восстанавливать изображение, сохраняемое постоянно. Чтобы зафиксировать изображение, после которого MAYA будет запоминать штрихи для стирания, предназначена кнопка Set Erase Image.

Помните, что в данный момент вы работаете с текстурой, а не со сценой. Сохраняйте ее, когда считаете нужным.

Совет. При нажатии кнопки Save Textures MAYA пишет в Script Editor полный путь к файлу. Как правило, это папка 3dPaintTextures текущего проекта.

Для работы со швами держите в уме еще несколько деталей.

Если в разделе Strokes включить галку Screen Projection, можно будет рисовать не только обычными кисточками, но и кистями Paint Effects в районе текстурных швов, ведь в этом случае штрихи не «натягиваются» на поверхность, а проектируются на нее.

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

Прежде всего, надо задать размер кисти, потом нужно нажать кнопку Set Clone Source, а затем, недрогнувшей рукой, щелкнуть один раз там, откуда вы хотите снять образец для клонирования узора.

Ничего не произойдет, MAYA не пискнет и не скажет: «Готово!». Однако у вас в руке, точнее в курсоре, будет клон участка текстуры.

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

505

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

Причемпри дальнейшем рисовании будет использован запомненный отступ, и клонироваться будет не оригинальный участок, взятый первым щелчком после нажатия кнопки Set Clone Source, а участок, отстоящий на запомненное растояние от курсора кисти в данный момент.

Галка Extend Seam Color позволяет дополнительно закрашивать область за границей текстурных координат. Если она выключена, раскрашиваться будут области только внутри UVраскладки, и это очевидно. Если эту галку включить, MAYA сама будет добавлять немного цвета за границу шва (или вокруг него). Это хорошо видно, если открыть параллельно Texture Editor и не забыть про галку Update on Stroke.

В нашем случае на всей поверхности уже была «испечена» текстура, поэтому при

506

включении этой галки и первого же мазка после этого, MAYA залила все не покрытое UV-раскладкой пространство в серый цвет, экстраполируя серую текстуру за границы текстурных швов.

В разделе Stroke настроек 3D Paint Tool есть параметры для симметричного рисования, они тоже могут быть полезны. Так как 3D Paint Tool часто используется для рисования масок, не забывайте поиграть с прозрачностью кисти, а также не упустите из виду режим Blur.

Мультитекстуринг

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

В первом случае имеется в виду возможность создания на одной поверхности нескольких наборов UV-координат (UV sets). После чего разные текстуры могут ложиться на поверхность поразному: каждая в соответствии со своей UV-раскладкой или, как говорят, UV-сетом.

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

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

Часто бывают ситуации, когда текстура цвета натягивается на всю поверхность целиком, а текстура бампа представляет собой, например, небольшую глубокую царапину или шрам, расположенный на небольшом участке поверхности. Чтобы нарисовать такой шрам в виде прямой линии, вам наверняка придется исхитряться, так как UV-раскладка обычно не является прямоугольной сеткой. Вам просто захочется нарисовать такой шрам «как есть» и бросить его на поверхность пленарным маппингом в нужном месте. Но в этом месте уже есть маппинг для текстуры цвета. Вот тут-то и пригодится возможность иметь несколько UV-сетов.

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

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

Более того, все трюки и инструменты для рисования атрибутами по поверхности, требуют для себя UV-раскладки, и не факт, что сделанная вами развертка им понравится. Примерами могут быть экспортирование весов скининга, создание системы волос, рисование карт для атрибутов волос и т.д. Любое рисование атрибутами требует непересекающихся UV-координат.

Но если есть несколько UV-сетов и несколько текстур, то должен быть инструмент для связывания или задания соответствий между UV-сетами и текстурами. Этот инструмент а точнее, окно - находится в меню Window=>Relationship Editors=>UV Linking. Принцип его работы до безобразия прост и напоминает работу с Connection Editor, однако мы глянем на него на несложном примере.

Создайте футбольный мяч.

Для этого в меню Create есть специальный примитив Soccer Ball. Откройте Texture Editor и полюбуйтесь на UV-координаты.

Для пущей выразительности назначьте текстуру ball.iff на канал Color материала Lambert1.

А теперь представьте, что это не простой мяч, а с автографом Марадоны для фанатов «Спартака».

507

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

Если расписаться с помощью 3D Paint Tool в произвольном месте, становится понятно, что нарисовать подпись прямо на текстуре в Фотошопе будет непросто.

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

Займемся этим.

Сначала сделаем новый UV-сет.

Откройте Option Box операции Create Empty UV Set и введите имя SpartakUV. Нажмите Create. Ничего визуального не произойдет.

Теперь необходимо переключиться в этот новый UV-сет. Он, очевидно, будет пустым, то

есть нам не будет никаких UV-координат.

 

Примечание.

Вы

всегда

можете скопировать имеющуюся раскладку или ее часть в

новый (или другой) UV-cem. Для этого достаточно выбрать ювишки и выполнить

операцию Copy UVs to UV Set.

 

Бескомпромиссно

удобно

переключаться

между UV-сетами с помощью правой

кнопки мыши,

нажатой

над поверхностью,

и меню UV Sets.

Переключитесь в новый сет SpartakUV.

508

Обратите внимание, что в Texture Editor исчезли все UV-координаты. Создадим их для этого UV-сета.

Выберите грани, на которые вы хотите наложить автограф. Выполните операцию Create UVs Based on Camera.

В Texture Editor появится отличная развертка. Дело за малым: накидать текстуры.

Для начала назначьте текстуру с надписью в канал Incandescence, чтобы проверить, как все работает. Этот канал - хорошая площадка для тестирования.

Файл текстуры называется Spartak.tiff.

Упс! Несмотря на то, что мы, вроде как, работали в новом UV-сете, текстура легла на первый UV-сет, который традиционно дивно называется т а р 1 .

Перекинем ее на SpartakUV.

Пользуясь могучей правой кнопкой мыши, вызовите окно UV Linking.

Дальше, пользуясь здравым смыслом, присоедините текстуру file2 (содержащую spartak. tiff) к UV-сету SpartakUV.

509

Таким образом, мы раскидали текстуры по UV-сетам.

Теперь соберем их в одну слоеную текстуру, которую повесим на цвет. Отдерите текстуры flle1 и file2 от их каналов.

Назначьте на цвет Layered Texture.

Откройте HyperShade и перетащите оттуда текстуры fitel и file2 в Attribute Editor, в поже Layered Texture Atributes.

Расположите их так (средней кнопкой), чтобы текстура file2 была левее, чем flle1, а зеленую, дефолтную, текстурку убейте.

Судя по окну камеры, наш UV Linking слетел напрочь. Мило.

Однако если вы выключите High Quality Rendering или просто просчитаете картинку, то увидите, что все в порядке: UV-связи на месте. Теперь, двигая ювишки в Texture Editor, вы можете располагать свою надпись, как угодно.

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

510

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]