InfoCity
InfoCity - виртуальный город компьютерной документации
Реклама на сайте







Размещение сквозной ссылки

 

Создание текстур в DEEP PAINT 3D

Владимир Верстак


Когда в уроке TOY DOG STORY я попытался описать основные принципы создания трехмерных персонажей я никак не предполагал, что мне придется возвращаться к этой теме. К сожалению тогда я не учел интересов той части пользователей 3D MAX-а, которые начинают знакомство с этой программой и хотели бы иметь более подробное описание последовательности процесса.

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

Итак приступим. Вот он, герой нашего сегодняшнего урока - прошу любить и жаловать.

А здесь ( Donkey.zip) можно найти файл с этой моделью ( к сожалению, он будет доступен только в 4 версии MAX-а) и всеми текстурами ( правда, с низким разрешением ).

Так как речь в данной статье пойдет о текстурировании при помощи программы Deep Paint 3D, то я начну с того, что укажу ссылку на демо версию самой программы. Ее можно скачать с сайта автора: http://www.us.righthemisphere.com/products/dp3d/downloads/index.htm

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

Перед тем, как начать описание технической стороны урока, мне бы хотелось сказать пару слов о самой программе. Как мне кажется она позволяет значительно упростить процесс создания текстур, превращая его из достаточно утомительного в увлекательное занятие. Лично для себя я отметил три важные особенности: первое - это возможность интерактивно накладывать UV Map, т.е. изменяя положение осей вы в соседнем окне имеете возможность видеть как изменяется развернутый материал. Второе - это возможность рисовать прямо на модели и работать одновременно в MAX - Deep Paint - Photoshop. Ну а третье - это компактность текстурных карт, когда на одной графической карте можно развернуть сложную модель.

Планируя накладывать текстуры в Deep Paint вы должны заранее, еще на стадии моделирования, позаботится о том, чтобы правильно "собрать" модель и подготовить ее для экспорта. Дело в том, что большинство моделей создается методом клонирования половинки модели относительно оси симметрии. В этой, как казалось бы простой операции, кроется один важный для Deep Paint нюанс. Дело в том, что 3D MAX воспринимает объект созданный методом Mirror так, как мы привыкли это видеть, т.е. с нормалями, повернутыми наружу, а Deep Paint "понимает" этот процесс по другому - с нормалями повернутыми внутрь, т.е. клонированный объект оказывается вывернутый наизнанку. Посмотрите на изображения, расположенные внизу. На левом вы видите две половинки объекта в MAX-е, а на правой то же, но в Deep Paint.

  

В связи с этим в силу вступает первое правило: НИКОГДА не приаттачивайте оригинальный объект к объекту клонированному методом Mirror. Делать нужно наоборот, выбрав оригинал, с помощью команды Attach присоединить вновь созданный объект. Таким образом все нормали примут положение как в оригинале, в противном случае у вас все нормали окажутся повернутыми внутрь. И даже если вы затем с помощью модификатора Normals в MAX-е или в Deep Paint поменяете положение нормалей на противоположное, все равно для этих двух программ останутся разночтения в положении нормалей, что в свою очередь не позволит наложить правильно текстуры. Второе, что нужно сделать перед экспортом, это добавить в стек модификаторов Edit Mesh, если Ваш объект уже не является редактируемой сеткой. К сожалению MercatorUV, который предоставляет нам поразительную гибкость в наложении координатных карт, корректно работает только с такими объектами. Конечно, можно обойтись и без него, воспользовавшись максовским UVW Map, но при этом мы потеряем часть возможностей Deep Paint, кроме того, что стек модификаторов вырастет пропорционально количеству координатных карт и материал, который понадобится для объекта будет не стандартный, а Multi/Sub-Object.

После того, как вы все это сделаете, нужно будет присвоить объекту материал (любой). На данном этапе это не важно, просто Deep Paint-у нужно знать, куда скидывать создаваемые карты. И только сейчас можно экспортировать объект в Deep Paint 3D. Для этого выделяем объект, идем во вкладку Utilities на командной панели и находим кнопку Deep Paint 3D, хотя, скорее всего, он будет скрываться за надписью More. Когда развернется панель нажимаем на кнопку Paint и попадаем в программу Deep Paint 3D.

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

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

После экспорта объекта в Deep Paint 3D появится окно "Material Import" - здесь все просто, жмем ОК и получаем свой объект в окне проекта. Далее идем в командную панель выбираем вкладку Элементы и активизируем Слои (Command Panel>Elements(F7)>Layers). Здесь, если у вас не были заданы карты в MAX-е, будут пустые ячейки под буквами C (Color Channel), B (Bump Channel), G (Glow Channel), S (Shininess Channel) и O (Opacity Channel). Щелкаем дважды по пустой ячейке под буквой С , после этого появляется окно Add New Channel, выбираем там Nothing и попадаем в новое окно, в котором нам предстоит выбрать размер материала в пикселах. Здесь все просто: если модель простая, то можете отставить значения, предлагаемые по умолчанию или ниже, если же сложная по не менее 1000 х 1000 ( конечно если у вас не совсем старый компьютер). Так же можно задать каналы для выдавливания и если нужно то и для свечения, сияния и прозрачности.

Следующим шагом будет назначение объекту плоских проекционных координат. Для этого нажмите на кнопку Map в правой части Главной панели (вверху), это вызовет окно MercatorUV. Именно здесь нам предстоит разместить на текстурной карте расправленную проекцию сетчатой оболочки. В зависимости от объекта вам предстоит выбрать на какие части и какие проекционные координаты накладывать. В данном случае я предположил, что мне понадобится планарная карта для низа модели, цилиндрическая для тела, сферическая для головы и гривы и планарная для ушей. Конечно, в зависимости от задачи их может быть больше либо меньше. Первым делом жмем на кнопку Select All в правой части части окна MercatorUV, затем на кнопку Map, а в появившемся окне на Interactive Planar, после чего появится еще одно окно - Interactive Mapper. Там в выпадающем меню Aling View выбираем Front и жмем ОК. В итоге в MercatorUV мы получим плоскую проекцию сетчатой оболочки, а для того, чтобы она "вписалась в размеры нашей текстурной карты нажимаем кнопку Pack и в появившемся окне оставляем активной лишь надпись Equal Areas. Результат всех этих манипуляций с кнопками и окнами вы можете видеть на изображении внизу.

Сейчас, выбрав инструмент Лассо, выделяем самую нижнюю плоскость, активизировав точки (Points) в качестве подобъекта для выделения, после чего жмем на кнопку Map, выбираем планарную систему координат и в окне Interactive Mapper вид сверху (Top). После нажатия на ОК выделенная плоскость примет вид как на рисунке снизу. Если у вас по какой-либо причине развертка нижней части ослика попадет на основное изображение, не беда , просто не снимая выделения с этой группы передвиньте ее с помощью инструмента Move на любое свободное место (можно даже за пределы карты).

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

А вот так будет выглядеть голова ослика после применения сферической карты координат:

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

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

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

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

Итак, вот что получилось у меня:

Только после того, как плоские проекционные координаты назначены и развернуты в пределах текстурной карты, можно приступать непосредственно к самому текстурированию. Здесь все относительно просто: либо рисуем прямо по трехмерному объекту, либо в режиме проекции ( т.е. когда объект представлен в виде плоскости). На данном этапе может быть несколько вариантов работы, я же предпочитаю делать наброски "цветовых пятен" (или мест, где будет применятся карта выдавливания ) в Deep Paint 3D, а детальную проработку производить в Photoshop-е. Сразу же хочу обратить ваше внимание на то, что проблемные места, такие как стыковка двух и более подобъектов сетчатой оболочки ( к примеру головы и ушей) лучше текстурировать используя режим проекции . Причем рисовать можно как на самом объекте, так и на карте цвета ( либо любой другой), при этом изменения будут вноситься одновременно во все открытые окна. При текстурировании на картах для удобства можно включить отображение сетки, кликнув правой кнопкой мыши на изображении и выбрав Display Wireframe. Если же вы предпочитаете работать в Photoshop-е, то для экспорта нужно нажать кнопку Export Material To Photoshop , а для того что бы забрать карты из Photoshop-а на кнопку Fetch the Material from Photoshop . Для этой же операции можно воспользоваться и плагином, который при инсталляции ставится в Photoshop, но у меня он почему-то передавал карты в Deep Paint не совсем корректно. Еще хочу обратить ваше внимание на то, что если вы экспортируете материалы в Фотошор в режиме проекции, то для рисования нужно использовать слои Paint Layer.

По поводу рисования на объекте нет никаких особых хитростей, но все-таки мне бы хотелось дать несколько небольших советов.

Начну с того, что в Deep Paint достаточно много предустановленных материалов, и это может значительно облегчить вашу работу, причем без особого труда вы можете создавать свои собственные наборы и модифицировать уже существующие (найти их можно в Командной панели во вкладке Presets). Здесь же отмечу, что достаточно удобно при нажатой клавише Ctrl, интерактивно, при помощи мыши ( или дигитайзера), изменять размер и прозрачность рабочей кисти. Ну, а раз зашла речь о дигитайзере, то надо сказать, что авторы программы постарались и сделали все, чтобы работать с дигитайзером было очень удобно. Так же хочу обратить ваше внимание на то, что панели инструментов есть переключатели (Color toggle, Bump toggle и т.д.), которые позволяют включать (либо выключать) каналы на которые будет наноситься изображение. Таким образом можно рисовать сразу на нескольких картах. Кроме всего прочего Deep Paint поддерживает работу с большим количеством слоев и позволяет импортировать и накладывать текстурные изображения (к примеру фотографии).

Ну вот мы и завершили процесс текстурирования, осталось только отправить материал обратно в MAX. Для этого существует кнопка Send Material to 3D Application . Кстати, если вы не все закончили, то можно сохраниться во внутреннем формате Deep Paint и затем продолжить. После экспорта в MAX в стеке модификаторов появится в верхней строке новый модификатор Mercator UV, а в редакторе материалов, в присвоенном объекту материале появятся текстурные карты.

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

А напоследок хочу всем пожелать новых творческих работ и конечно же хороших фотореалистичных текстур.


Реклама на InfoCity

Яндекс цитирования



Финансы: форекс для тебя








1999-2009 © InfoCity.kiev.ua