Процедурный материал ткани в Cycles
Как вы уже догадались из названия, в данном уроке мы будем создавать процедурный материал ткани. Это будет один материал с четырьмя различными текстурами для различных типов ткани. На этом со вступительной частью закончим и перейдем непосредственно к уроку.
Видеоурок
Текстовый урок
Для данного урока я подготовил небольшую сцену, в которой присутствует плоскость с модификатором ткани. Не забудьте выполнить развертку плоскости перед тем, как приступать к симуляции ткани. На изображении ниже вы можете видеть настройки симуляции:
В качестве текстуры ткани будет выступать нод Wave texture. Добавьте также ноды Texture Coordinate и Mapping и выставите настройки в соответствии с изображением:
Продублируйте ноды Mapping и Wave texture и измените настройки нода Mapping: вращение по оси Z — 135° и масштаб по оси X — 1:
Теперь смешайте оба паттерна с помощью нода MixRGB (режим Subtract). В итоге мы получим текстуру похожую на ткань:
Так как мы собираемся создать еще несколько паттернов, выделите ноды Mapping, Wave и Mix и объедините их в группу (назовите ее pattern 1 ). Подключите входы Scale обоих нодов Wave к входным значениям группы:
Продублируйте только что созданную группу нодов и переименуйте ее в pattern 2 . Также создайте для нее нового пользователя нажав кнопку 2 справа от названия группы нодов:
Измените масштаб по оси X для первого нода Mapping на 1 и масштаб по оси Y на 0.01. Для первого нода Wave установите все оставшиеся параметры в 0:
Подключите нод ColorRamp и измените положения его ползунков, чтобы создать более контрастный паттерн:
Установите оба значения Scale равными 80 и на этом мы закончили со вторым паттерном:
Продублируйте вторую группу, установите значения Scale равными 40 и назовите ее pattern 3 :
Теперь займемся созданием паттерна войлока. Добавьте ноды Texture Coordinate и Mapping и измените масштабы последнего по осям X, Y и Z на 7, 10 и 10:
Установите любой цвет для ткани:
На этом урок закончен! Надеюсь он вам понравился. Обязательно поделитесь своими результатами в комментариях.
Как создать полотенце — ткань в Blender
Как создать полотенца в Blender.
В этом туториале, посвященном ткани , вы узнаете:
- Основы симуляции ткани
- Как смоделировать реалистично висящее полотенце
- Использование параметра particle system для создания пушистого меха
Никогда не задумывались, почему так много архитектурных интерьеров выглядят холодно и неприветливо? Все сложно. Вы бы не хотели жить в доме, заполненном полностью твердыми поверхностями, поэтому не удивительно, что они нам не нравятся и в рендере.
Ткань помогает сделать твердые поверхности плавным мякгим, комфортным материалом.
В этом уроке я дам советы и расскажу о некоторых хитростях, как сделать красивые пушистые полотенца, которые дополнят вашу сцену, добавив привлекательности.
По методике этого урока можно создать практически любую мягкую ткань: скатерти, одеяла, шелковое постельное белье и т. д. Представляете?
Создание полотенца.
1. Создайте новую сцену, удалите все объекты по умолчанию и замените их плоскостью. Масштабируйте ее дважды вдоль оси X axis (S>X>2).
2. В edit mode (режим редактирования) добавьте vertical loop cut на середину плоскости таким образом, чтобы фейсы были ровны.
3. Подразделите плоскость (W>Subdivide) и панели инструментов установите значение 50 (cuts):
4. Вернитесь в Object Mode, в Physics panel включите Cloth, затем поставьте галочку в Pinning.
5. Зайдите в меню Weight Paint Mode (Shift+TAB) и нарисуйте точку, где вы хотите повесить полотенце.
6. В настройках cloth выберите ‘Group’ для параметра Pinning.
7. Увеличьте Cloth Quality Steps до 12 и включите Self Collision.
8. Затем отрегулируйте следующие параметры:
Создание стены для столкновения.
1. Добавьте большую Плоскость позади объекта полотенца и расположите объект полотенце сверху.
2. Объект полотенце лучше повернуть под углом по оси х, это поможет сделать процесс просчета анимации более реалистичным, полотенце будет медленее падать, и уменьшить вероятность артефактов.
3. Выберите объект заднего плана и в панели Physics включите Collision.
4. Выберите объект полотенце и под вкладкой Cloth Cache в панели Physics, установите значение End 100, затем нажмите Bake.
5. Воспроизведите анимацию, и как только вы будете довольны внешним видом полотенца, перейдите к Modifiers Panel и нажмите Apply под модификатором Cloth.
Настройка сцены и освещения.
1. Добавьте Spot Lamp и расположите его, как показано на рисунке:
2. Добавьте Camera в сцену и по желанию рамку .
3. Выберите Spot Lamp (точечный светильник) и установите параметр strength на 4000, а shadow size на 2m
Создание материала полотенца.
1. Выберите объект полотенце и добавьте new material с установкой вот следующего нода:
2. Добавьте нод Fresnel (Input > Fresnel), чтобы контролировать параметр Factor в ноде Mix Shader.
3. Добавьте нод Translucent и установите соединение с нодом Add Shader.
4. Для получения дополнительных настроек цвета полотенца, добавьте нод RGB и присоедините его к ноду Diffuse.
5. Добавьте в нод MixRGB (Color > MixRGB) цвет и подсоедините его к ноду Velvet для получения более четкого бархатного эффекта.
6. Добавьте другой цвет к ноду MixRGB и соедините между собой ноды RGB и Translucent, но выберите второй цвет к черному, чтобы полупрозрачный эффект был темнее.
Перед вами конечный вариант установки материального нода для полотенца:
7. Добавьте модификатор Solidify к объекту полотенце и задайте параметр thickness (толщина) в 2 мм.
8. Добавьте модификатор Edge Split, благодаря чему не будет артефактов по краям полотенца.
Добавление полотенцу ворсистости.
1. Создайте новую Particle System для объекта полотенце со следующими начальными настройками:
2. Увеличьте количество частиц и установите низкий процент Display, чтобы уменьшить загрузку памяти во вьюпорте.
3. Проверьте Advanced, и измените значения Brownian и Random, чтобы придать "меху" более естественный вид.
4. В меню Cycles Hair Settings, установите значения параметров Root и Tip до 0,40.
5. Увеличте общее количество частиц до 1 млн:
6. В Edit Mode выберите все сетки, кроме нижнего края и полосы над ним, как показано на рисунке:
7. В панели Object Data переходим к Vertex Group, и назначаем выделенным вершинам, нажимая assign , значение Weight of 1.
8. Затем, заходим в particle settings, и в опциях vertex group устанавливаем в параметре Density значение ‘Group’.
Конец!
Cимуляция ткани: рабочий процесс
В этой статье описывается технологический процесс работы с вертексной анимацией, использующийся в команде Blend4Web. На примере модели флага рассмотрены следующие вопросы: физическая симуляция поведения ткани, зацикливание и запекание вертексной анимации, настройка двустороннего светопропускающего материала, настройка и экспорт сцены. Исходные файлы вы можете найти в свободном дистрибутиве Blend4Web SDK, по следующему пути: blend4web/blender/tutorials/basic/flag/.
Для удобства работать будем в двух разных файлах. В одном из них будем осуществлять симуляцию ткани (файл flag_simulation.blend ), во втором — настроим цикличное вопроизведение анимации и подготовим сцену для экспорта в движок (файл flag_cashes_mix.blend ).
Подготовка моделей
Начнем с того, что смоделируем флаг, флагшток и окружение. Флаг представляет собой подразделенную плоскость, слегка оттянутую к краям со стороны флагштока, для имитации натяжения. Эта модель будет служить каркасом для симуляции.
Назначим вертекстную группу (с названием «Group») на вершины в областях крепления флага в режиме раскраски весов ( Weight Paint ). В этих местах воздействие симуляции будет минимальным.
Поскольку флаг развевается на ветру, создадим источник ветра.
Флагшток (объект flagpole) — вытянутый параллелепипед с одинарной фаской. В настройках затенения для этого объекта выберем режим сглаживания ( Smooth Shading ). Чтобы избежать затенения по типу сферы, скорректируем нормали вершин с помощью инструмента Normal Editor . Измененные нормали будут автоматически экспортироваться при включенной кнопке Activate
На изображении ниже продемонстрирована модель до и после редактирования. Слева: затенение объекта выдает низкополигональный характер сетки. Справа: затенение корректно подчеркивает область фаски, создавая впечатление высокополигонального объекта.
Также в сцене присутствует объект для визуализации поверхности земли. Динамически генерируемое небо настраивается, как описано в предыдущих уроках.
Физическая симуляция
Следующий этап — настройка физики симуляции. Переходим на вкладку физики, нажимаем кнопку «Ткань» ( Cloth ) и выставляем требуемые значения. Активируем опцию «Закрепление» ( Pinning ). Ниже имеется поле, в котором выберем созданную нами группу вершин «Group».
После активации режима «Ткань» ( Cloth ) объекту автоматически добавляется новый модификатор Cloth . Ниже него добавим модификатор Subsurf для смягчения краев флага при деформациях. В режиме Catmull-Clark этот модификатор дает побочный эффект, который проявляется в закруглении углов на краях. Чтобы избежать этого, назначим ребрам по периметру флага значение свойства Mean Crease , равное 1.
Экспорт анимации в формате кэша точек
Подготовим исходные данные для создания бесшовной циклической анимации. После завершения расчета из всего набора кадров выберем участок (с 155 по 304 кадр) с максимально похожими начальным и конечным кадрами. Сравнивать кадры удобно, переключаясь между ними с помощью горячих клавиш Shift + Right/Left Arrow . Отметим середину этого участка диапазона (кадр 230). Теперь экспортируем два фрагмента анимационной последовательности (155-230 и 230-304 кадры) в формате Lightwave Point Cache (.mdd) — flag_155_230.mdd и flag_229_304.mdd . Опция экспорта становится доступной после активации аддона NewTek MDD format . Эти кэши будут использованы далее для сборки конечной сцены.
Бесшовная анимация
Перенесем подготовленные объекты в файл конечной сцены flag_caches_mix.blend . Удаляем с флага все модификаторы, кроме Subsurf , который применяем к объекту. Назначаем три новых модификатора Mesh Cache . В первые два загружаем подготовленные нами кэши flag_229_304.mdd и flag_155_230.mdd , а третий пока оставляем неактивным — он потребуется позже.
Реализуем бесшовный цикл анимации следующим образом. Переставим местами две половины анимации и совместим их с небольшим нахлестом. На участке нахлеста реализуем смешивание, проставляя анимационные ключи для значений влияния модификаторов ( Influence ).
Избавимся от промежуточных построений и экспортируем результат смешивания в еще один кэш final_flag_1_119.mdd . Загрузим его в третий модификатор Mesh Cache (два верхних модификатора Mesh Cache отключим). На этом создание бесшовного цикла вертексной анимации завершено.
Запекание и экспорт вертексной анимации
Для экспорта вертексной анимации в движок необходимо предварительно «запечь» ее с помощью инструмента Bake Vertex Animation . После «запекания» в настройках анимированного объекта включим опцию Export Vertex Animation , а также Apply Default Animation и Loop для автоматического циклического воспроизведения назначенной на флаг анимации.
Перед экспортом необходимо снять с флага анимацию параметров влияния модификаторов, иначе движок проигнорирует вертексную анимацию. Чтобы эта вспомогательная анимация не исчезла после перезагрузки Blender, активируем для нее режим Fake User (кнопка F).
Настройка ограничивающего объема
Ограничивающие объемы для объектов используются движком для оптимизации количества вызовов отрисовки, и, как правило, рассчитываются автоматически. В то же время в случае вертексной и скелетной анимации возможен выход геометрии модели за пределы ограничивающего объема, в результате чего может наблюдаться исчезновение объектов или теней от них. В таких случаях ограничивающий объем может быть искусственно расширен с помошью инструмента Override Bounding Volumes .
Материал ткани
Так как у объекта отсутствует толщина, для его корректного освещения активируем режим Shading > Double-Sided Lighting в настройках материала.
С целью демонстрации другой функциональности Blend4Web — двусторонних материалов — нанесем разные изображения на сторонах флага: полноцветную и монохромную версию эмблемы. Для экономии видео-памяти оба изображения запечем в одну текстуру ( flag_diff.png ): в каналы RGB — полноцветное, в альфа-канал — монохромное. В узловом материале монохромное изображение служит маской.
Эффект светопропускания реализован с помощью узла TRANSLUCENCY .
Анимация поворота
Для большего эффекта добавим анимацию вращения флага вокруг флагштока, которая будет имитировать изменение направления ветра. Поскольку на флаге уже имеется вертексная анимация, создадим еще один объект (пустой) и анимируем его вращение (в режиме кватернионов). Привяжем к ней флаг связью родитель-потомок.
Добавление звука
Расположим на сцене источник звука, в который загрузим звуковой сэмпл для флага в формате ogg . Активируем опцию Cyclic Play , настроим затухание Attenuation . В результате при приближении к флагу будет заметно увеличение громкости звука.
Заключение
Blend4Web позволяет легко комбинировать различные виды анимации, материалы и звуковое сопровождение в одном объекте. Такие составные объекты могут быть добавлены по ссылке и использованы как единое целое в более сложных сценах, что позволяет дизайнеру реализовывать свой замысел без необходимости написания программного кода.