вторник, 2 августа 2011 г.

Cоздание меха в Blender 2.48

Этот урок создан с использованием Blender версии 2.48, урок актуален для версии 2.6 * . Здесь находится версия данного урока для версии Blender v2.40
В этом уроке будет рассмотрено создание меха, или очень большого количество относительно коротких волос покрывающих тело. Мы используем для этого частицы и обсудим несколько вопросов:
- Как изменять длину и ширину (толщину) волос?
- Как определить место роста волос?
- Как задать им цвет?
- Как придать эффектность?

Система частиц в Blender очень сложна, чтобы быть раскрытой в одном уроке. Результаты полученные в финале данного урока могут быть достигнуты и другими способами.



Содержание урока:

1. Эмиттер (Emitter).
2. Материал.
2.1. Шейдер волос.
2.2. Придаем волосам основную окраску.
3. Задание длины волос текстурой.
4. Причесываем.
5. Ссылка на финальную сцену.

Эмиттер (emitter) – тот объект, который порождает частицы

• Откройте Blender.
• Удалите куб. (урок создан с применением начальной исходной сценой Blender)
• Добавьте объект UVSphere, для этого нажмите пробел, Add->Mesh-> UVSphere (рис. 1). Это будет наш эмиттер.

 Рис.1

• Нажмите кнопку Particle (частицы) при выбранной кнопке Object (объект), горячая клавиша - F7 (рис. 2).
• Нажмите Add New (добавить новую).
Рис. 2

• Переименуйте полученную систему частиц для удобства в «Fur» (Мех).
• Выберите тип системы частиц Hair (Волосы) в ниспадающем меню ниже.
Система частиц типа Hair имеет несколько особенностей, самая важная это то, что частицам-волосам можно задавать положение вручную, причесывать. Для частиц-волос можно использовать все те же самые симуляторы физического воздействия, что и для простых частиц. Частицы-волосы представляют собой путь проделываемый частицей в течение своей жизни. Для сокращения времени просчета можно регулировать количество контрольных точек, между которыми будут нарисованы линии сегментов (поле ввода Segments в группе Basic на панели Particle System).

Для изображения меха необходимо очень много частиц, около 1000000. Но работать с таким количеством в окне редактирования просто не реально (от переводчика: пробовал сам, данное количество отображается, но прорисовка происходит с задержками). Поэтому для удобства будем использовать меньшее количество управляющих частиц и порождать от них так называемых «детей» (Children). Частицы «дети» заимствуют положение и ориентацию управляющей частицы «родителя». Количество частиц «родителей» должно быть минимально достаточным для того чтоб управлять распределением волос. Мы будем также использовать для оптимизации небольшое значение контрольных точек сегментов (Segments), для короткой шерсти значение в 3 единицы вполне достаточно.

• Установите Amount (количество) в 1000.
• Установите Segments (количество сегментов) в 3.
• В Emit from (Испускать из):
o Нажать Random (случайно), Faсes (полигоны).
o Нажать Even, выбрать Random (случайно).

Данные параметры создадут хорошее равномерное распределение волос.
Отрастим сами волосы. Запомните, что волос это путь частицы:
• В Initial Velocity (начальная скорость) установить Set Normal (скорость параллельно нормали полигона) на 0.05, Random (разброс вектора скоростей от параллельности к нормали излучающего полигона) на 0.005.
Здесь нет ничего страшного: волосы растут в направлении полигонных нормалей. Длина и направление немного варьируются (рис. 3).

Рис.3

Тип визуализации на панели Visualization для выбранного типа частиц Hair (волосы) автоматически меняется на Path (путь). Если его сменить пропадут линии изображающие пути частиц (рис. 4).

• Нажмите клавишу Emitter (эмиттер) на панели Visualization, при этом объект, излучающий частицы тоже будет отображаться на финальной картинке.
• Активизируйте Strand Render (рендер волосинок).

Strand Render просчитывает волосы гораздо быстрее, чем обычный рендер. Данный способ поможет при нехватке оперативной памяти. Но ему присущи следующие недостатки:
- Волосы отрендеренные при помощи Strand Render не участвуют в просчете трассировкой луча (raytracing), соответственно их не будет видно в отражениях и от них не будет raytrace-теней. Для выхода из данной ситуации для отражений можно использовать заранее просчитанную карту окружения (environment mapping), и источники света типа Spot (Пятно) с буферными тенями для получения теней от волос.
- Если волосы очень толсты (более чем 1 единица Blender), форма волосинок может быть искажена.

• Активизируйте на панели Children from Faces («дети» от полигонов).
• Amount (количество): 5 Это - количество частиц, видимых в трехмерном окне для каждого волоска «родителя». Для ускорения прорисовки должно быть низким.
• Render Amount (количество при рендеринге): 50 это количество волос отображаемых на рендере для каждого волоска «родителя».
• Rough 2: 0.1 Случайное изменение положения частиц относительно пути. Изминением данного параметра можно получать изогнутые волосинки.


Рис.4 

Частицы родители по умолчанию не рендерятся, всего вышло 50000 волосинок, которые рендерятся на моем старом компьютере за 6 секунд. При установке значения Render Amount на 1000 «детей», мы получим 1000000 частиц, что требует приблизительно 1 Гбайт оперативной памяти и просчитывается за 1:42 минуты. Если Вы выбираете Strand Render с Children from Faces, Вы можете также использовать опцию Child simplification (упрощение), которое сократит количество частиц на объектах вдали от камеры автоматически для ускорения просчета.


Теперь нужно изменить параметры источника освещения, чтобы получить предварительный рендер (рис. 5).
• Выберите источник света Lamp(лампа).
• Выберите кнопку Lamp buttons (горячая клавиша F5).
• Измените тип лампы на Spot (пятно).
• Измените тип тени на Buf. Shadow (буферная тень)
• Измените тип буферной тени на Classic-Halfway.


Рис. 5

Это лучший тип тени, который дает меньше артефактов для Strand Render (по моему скромному мнению). Я вставил две других лампы и использовал классическое трехточечное освещение для предварительного рендера (рис. 6).  

 Рис. 6


Материал


В на панели Shading выберите кнопку Material buttons (горячая клавиша F5) здесь можно отрегулировать другие параметры для шерсти:
- ширина и форма волосинок
- используемый тип затенения
- основной цвет
- текстура вдоль волоска
- а также различные другие параметры, такие как длина, плотность или грубость

• Добавьте материал к эмиттеру, нажмите Add new.
• Переименуйте материал в Fur (мех).

Шейдер волос

 Рис. 7

Исходные параметры показаны на (рис. 7). Подробное объяснение всех параметров настройки дано по ссылке.

• Измените значение End (конец) на 0.25, это сделает волосы более остроконечными.


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



Придаем волосам основную окраску

Волосы по умолчанию рендерятся того же цвета, с той же текстурой которая установлена для объекта эмиттера. Также можно задавать свой материал для различных систем частиц, примененных к эмиттеру. Далее будет приведен пример использования одной текстуры, как для частиц-волос, так и для поверхности шара-эмиттера.
• Выберите для трехмерного окна в меню View (вид) - Front (фронтальный). Или клавиша с цифрой 1 на цифровой клавиатуре.
• Убедитесь что вид Orthographic (ортографический) в том же меню View.
• Перейдите в режим редактирования сферы, выделите сферу и нажмите клавишу Tab.
• Если выделены не все вершины, нажмите клавишу с буквой A.
• Нажмите клавишу U, чтоб сделать развертку Sphere from view(сферическая из вида). Это очень быстрый и хороший способ получить развертку сферы.

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

• Добавьте текстуру к материалу, назовите ее FurColor.
• Map input (тип ввода карты) установите на UV (расположение UV-развертки).
• Загрузите текстуру изображения. Я использовал фотографию шкуры зебры (рис. 8).
  Рис. 8


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

Чтобы это сделать нужно:
• Активировать ZTransp (прозрачность).
• Добавить вторую текстуру.
• Выбрать тип расположения на Strand(волосок)
• Включить воздействие на Map To: Alpha(прозрачность) and Spec(степень бликования), DVar=0 (отвечает за то на сколько будет воздействовать карта прозрачности и карта степени бликов)
• В качестве текстуры выберите карту Blend (градиентный переход) типа Linear или Quad
Полученный результат на рис. 9.
   Рис. 9

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


Задание длины волос текстурой

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

• Выделите сферу.
• Нажмите кнопку редактирования (Edit button), клавиша F9
• Войдите в режим редактирования (Edit mode), клавиша Tab.
• Удостоверьтесь что все вершины выделены.
• На панели Links and Materials (связи и материалы) нажмите кнопку New (новый) в секции Material (материал) (рис. 10).
• Нажмите Assign (назначить).
• Нажмите клавишу Tab чтобы переключиться обратно в Object Mode (режим объекта)

Сейчас эмиттер имеет материал с индексом 2.
 

Рис. 10

• При помощи нажатий на клавишу F5 вернитесь на панель Material buttons.
• В Links and Pipeline (связи и пайплайн) нажмите на крестик рядом с названием материала, удалится связь объекта с материалом.
• Добавьте новый материал
• Переименуйте его в Emitter.

В результате вы получили различные материалы для частиц и для объекта-эмиттера. На частицах материал с индексным номером 1 а на эмиттере 2. Теперь вы можете настраивать их независимо.

На предыдущих этапах мы уже сделали текстурную развертку. Теперь мы будем использовать собственноручно нарисованную текстуру для того чтоб задать длину волос.
• Разделите трехмерное окно на 2 части Split Area (рис. 11).
 
Рис. 11

• Измените тип правого окна на UV/Image-Editor
• Выделите сферу и войдите в режим редактирования.
• В UV/Image-Editor выберите в меню Image->New и подтвердите настройки по умолчанию. Это создаст новое изображение которое мы будем редактировать.
• Нажмите на изображении посылки в заголовке окна UV/Image-Editor, подтвердите.


• Перейдите в режим Texture Paint (рисование текстуры).

Теперь вы должны видеть текстуру на объекте.
• Рисуйте прямо на модели (рис. 12).
• Вернитесь назад в объектный режим.
• Нажмите клавишуF5 пока не перейдете в режим редактирования материала.
• Измините активный материал с Emitter на Fur нажмите на стрелку влево там, где написано 2 Mat2 (второй материал из двух).
   Рис. 12

• Создайте еще одну текстуру для материала Fur, назовите ее FurLength (рис. 13).
• Установите Map input на UV.
• Выключите воздействие на цвет, отожмите кнопку Col.
• Нажмите кнопку PAttr (параметры частиц), появляется только если к объекту применена система частиц.

• Выберите на появившихся кнопках Length (Длина)
• Установите значение DVar=0 при этом все белые области на текстуре будут соответствовать длине волос равной 0.
• Загрузите в качестве текстуры картинку которую мы нарисовали.

Рис. 13


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


 Рис.14

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

Причесываем

Этим эффектом не нужно пренебрегать. Он поможет вам придать финальной картинке естественность и задать направления роста волос меха.

• Переходим назад на панели редактирования частиц, клавиша F7 несколько раз.
• На панели Set Editable (сделать редактируемой) на панели Particle System
• Смените режим на Particle Mode (Режим частиц).

В режиме частиц могут быть отредактированы только системы частиц типа Hair. Необходимо учесть ряд моментов:
- редактируются положения только контрольных точек (вспомните сегменты (Segments) на начальных этапах).
- редактируются только частицы «родители», необходимо заранее позаботится о достаточном количестве.
• Активизируйте Limit selection to visible  (ограничить выбор видимым)
• Активизируйте Point select mode  (выбор точек) для лучшего контроля.
Оба параметра находятся в заголовке трехмерного окна.



• Откройте окно Particle Edit Properties (параметры редактирования частиц) в трехмерном окне нажав клавишу N.
Выберите Comb (Причесать)
Чтоб узнать о других инструментах редактирования посетите ссылку.


«Причешите» волосы придав наиболее естественный вид.
На моем примере я использовал настолько естественный вид насколько возможно ;-). Я немного причесал волосы и удлинил их сверху. Полученный результат виден на рисунке 15. 
Рис. 15

Скачать финальную сцену вы можете по ссылке.
Перевод: Deniska quakeii(at)mail.ru (в данный момент вы находитесь в блоге переводчика, впервые перевод был размещен на сайте http://3dmax.ru/)

Комментариев нет:

Отправить комментарий