Общие для всех типов полей настройки

Семинар 10:Симуляция ткани, силы воздействия, система частиц

Ведение

На этом занятии мы продолжим изучение симуляции различных физических явлений. Научимся управлять Силой и испускать частицы, которые станут отправной точкой в создании спецэффектов.

Симуляция ткани

Модификатор ткани

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

Настройки симуляции ткани

Ткань — это подвид SoftBody. Так что основные настройки похожи. Нам нужно включить поведение ткани на вкладке настроек физики ( ).

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

Тут имеются готовые пред настройки, которые можно выбрать в списке Presets. Они меняют параметры материала.

Quality – качество. Определяет количество шагов вычислений симуляции за кадр анимации. Чем выше, тем лучше качество, но медленнее.

Mass – масса материала.

Structural – упругость структуры материала. Его способность сохранять форму.

Bending – коэффициент складок. Чем больше значение, тем меньше маленьких складок.

Spring – упругость ткани. Air – сопротивление воздуха.

Velocity – скорость ткани.

Галочка Pinningпозволяет закрепить группу вершин, установленную в окошке ниже. На неё не будет распространяться симуляция. Это удобно при создании флага или плаща.


 

Столкновения ткани

Вбольшинствеслучаевтканьнепросто виситв 3Dпространстве, она взаимодействует с окружением. Для того чтобы это работало нужно выполнить некоторые предварительные настройки:

· Объектус поведением ткани нужно сказать, что он участвует в коллизиях (столкновениях).

· Не обязательно (но желательно), чтобы ткань сталкивалась сама с собой.

· Другие объекты должны быть мешами и могут быть деформированы (например, скелетная анимация).

· Другимобъектамтоженужносказать, чтоони участвуют в столкновении с тканью.

Настройки столкновений

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

Quality – основное свойство симуляции. Чем выше, тем лучше симуляция и тем она сложнее вычисляется.

Distance – как только другой объект приблизится к ткани на это расстояние (в единицах Блендера), симуляция начнёт толкать ткань.

Repel – сила отталкивания ткани, когда она близка к столкновению

Repel Distance – максимальная дистанция для применения отталкивающей силы. Должна быть больше, чем минимальная.

Friction – сила трения, которая действует на ткань, когда она скользит по другому мешу. У шёлка, например, она меньше, чем у резины.

Столкновения ткани с собой

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

Quality – качество. Работает по абсолютно такому же принципу, как и при общих коллизиях.

Distance – дистанция столкновений. Значение 0.75 стоит по умолчанию и работает почти во всех случаях. Для быстрых объектов можно установить значение 1, значение 0.5 весьма рискованно, так как может стать причиной полигонных артефактов в поведении ткани. Однако оно работает быстрее.

Силовые поля

Силовые поля предоставляют возможность воздействовать на тела не только силой притяжения. По умолчанию силовое поле воздействует на всё. Чтобы снизить его воздействие, можно сбавить его влияние соответствующим ползунком в настройках поведения тела.

Все объекты и частицы могут генерировать силовые поля, но силовое поле CurveGuideможет быть сгенерировано только кривой. Обычно поля генерируют объектами-пустышками.Когда ты создаёшь поле с помощью комбинации Shift + A, создаётся именно объект-пустышка с установленными параметрами физики.

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

Общие для всех типов полей настройки

Большинство полей имеют одинаковые настройки, даже если ведут себя по-разному. ИсключениемявляютсяCurveGuideиTextureFields.

Shape – поле может быть либо точкой (Point) со всесторонним воздействием, либо плоскостью (Plane), которая воздействует вдоль своей локальной оси Z.

Strength – сила эффекта поля.Может быть положительной и отрицательной. Знак определяет направление воздействия поля (притяжение / отталкивание). Размер силы масштабируется вместе с размером объекта.

Flow – преобразует силу в скорость потока воздуха.

Noise – добавляет шум в силу поля.

Seed – нужен для разных значений случайной величины шума.

EffectPoint –включает/отключает воздействие силы на поворот (Rotation) и на перемещение (Location) объекта.

CollisionAbsorption – силы будут поглощены объектами, для которых установлена физика Collision.

Затухание (Falloff)

Если значение затухания Powerне равно 0, то используется механизм затухания поля.

Форма может быть Sphere(сфера), Tube (Труба) и Cone (конус).Затухание может быть установлено лишь по оси Z.

Параметр Power – определяет, как сила поля изменяется в зависимости от расстояния до него. Например, пусть r – расстояние до центра поля. Тогда сила меняется на 1/rPower.

MaxDistance – ограничивает максимальную дальность воздействия поля. Дополнительно отображается пунктирной линией.

MinDistance – работает аналогично максимальной дистанции, но, если значение Powerустановлено в 0, то этот параметр не делает ничего.

Типы силовых полей

Force

Сила – самое простое силовое поле. Отталкивает объекты при положительном значении и притягивает их при отрицательном.Да прибудет с тобой Сила.

Wind

Ветер дует в направлении вдоль оси Z. Для визуализации имеются окружности выстроенные в направлении применения силы с интервалом в зависимости от мощности силы.

Vortex

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

Charge

Работает очень похоже на то, как работает сила Force. Одинаково заряженные отталкиваются, а разно заряженные притягиваются.

Turbulence

Турбуленция – её можно рассматривать как хаотичное движение в 3D пространстве.

Size – означает размер шума.

Global – заставляет силу и размер рассчитываться относительно мира, а не объекта, к которому привязано силовое поле.

Drag

Замедляет перемещение частиц. Как если бы они перемещались в густой массе.

Linear – замедление пропорционально скорости.

Quadratic – замедление пропорционально квадрату скорости.

Системачастиц: эмиттер

Система частиц эмиттер работает таким образом: из объекта, называемого эмиттером начинают испускаться частицы, которые живут отведённое им время. Они могут быть другими объектами и участвовать в жизни симуляции. Для того, чтобы объект стал испускать частицы нужно на вкладке частиц добавить к объекту новую систему.

Опции раздела Emission

КнопкиVerts / Faces / Volumeуказываютсистемечастицоткудатребуетсяиспускатьчастицы. Это вершины, грани и объём соответственно.

Параметр Number – максимальное число частиц, используемых в симуляции.

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

End – кадр, где прекращается испускание частиц.

Lifetime – время жизни частиц. Измеряется в кадрах анимации.

Random – добавляет элемент случайности к времени жизни частиц.

Далее идут настройки распределения частиц по поверхности.

Random – случайное распределение.

EvenDistribution – эмиссия равно распределена по площади меша. Маленькие элементы производят меньше частиц, крупные больше. Это доступно только при испускании частиц гранями и объёмом.

Jittered – частицы испускаются волнами.

Particles/Face –количество эмиссий на грань (0 = автоматически).

JitteringAmount – количество волн.

РазделRender

На этой вкладке располагаются настройки рендера для системы частиц.

Мы рассмотрим лишь самые интересные настройки.

Галочка Emitterскрывает / отображает объект эмиттер во время рендера.

Unborn – включает / выключает показ ещё не испущенных частиц.

Died – показывает погибшие частицы.

Вид испускаемого объекта по умолчанию стоит Halo. Однако Cyclesна данный момент не поддерживает ничего кроме типа Objectи None. Так что имеет смысл сразу переключить на тип Object. Объект можно выбрать в соответствующем поле DupliObject. Галочка Rotationпозволяет учесть поворот исходного объекта

Слайдер Sizeзадаёт масштаб частицы в сравнении с исходным объектом.

Раздел Velocity

Этот раздел отвечает за скорость частиц.

Подраздел Emitter Geometry

Normal – каждаячастицапоумолчаниювылетаетизполигона. У каждого полигона есть нормаль, это перпендикуляр к плоскости полигона. Этот параметр задаёт начальную скорость по нормали, проще говоря, это скорость, с которой частицы вылетают из эмиттера.

Tangent – это скорость движения частиц по касательной.

Rot – поворачивает касательную к поверхности эмиттера.

 

Подраздел Emitter Object

X,Y,Z – задают начальную скорость по соответствующим координатам.

Object – если объект эмиттер движется, то он задаёт немного начальной скорости частицам.

Random – добавляет элемент случайности к начальной скорости частиц.

Материал частиц

Частица имеет тот же материал, что и объект, используемый в качестве неё.Однако для настройки частиц есть специальный нод Input – ParticleInfo.

Рассмотрим выходы этого нода.

Index – порядковый номер частицы, который ей назначила система. Равен 1 у самой первой, 2 у второй частицы и т.д.

Age – возраст частицы. Количество фреймов, которое эта частица «прожила» с момента испускания. Очень похожа на индекс, но работает чуть иначе.

Lifetime – время жизни частицы. Если не задан элемент случайности, то все частицы будут иметь одно и тоже время жизни.

Location – передаёт информацию о положении частицы. Содержит значения по X, Yи Z, которые можно разделить, используя нод Converter – SeparateXYZ.

Size – передаёт размер частицы. Можно окрасить большие частицы в один цвет, а маленькие в другой.

Velocity – передаёт вектор линейной скорости по трём осям. Так же можно разделить с помощью нода Separate XYZ.

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


Задания

Снеговик и снегопад

Самое время добавить то, чего нашему снеговику не хватало с самого начала – снега!

1. Создай плоскость над снеговиком.

2. Добавь к ней систему частиц.

3. Увеличь время жизни частиц до 200.

4. Выключи отображение эмиттера.

5. Создай объект снежинку.

6. Задай её в качестве объекта частиц для системы частиц снега. Настрой размер частицы. И включи галочку Rotation.

7. Добавь силовое поле турбулентность.

8. Силу поставь около 100.

9. Запускай анимацию!

10. Кстати, можно улучшить качество снега, добавив эффект MotionBlur в настройках рендера.


Физические эффекты 1

Давай немного займёмся физикой.

1. Создай эмиттер частиц. Плоскость подойдёт.

2. И добавь самую простую сферическую силу ForceField.

3. Силу поля выставь -100, чтобы частицы притягивались к нему.

4. Увеличь время жизни частиц до 500.

5. Установи в качестве объекта частиц обычную UV-сферу, которую можно переместить на второй слой (M, 2).

6. Запусти симуляцию. Должно быть что-то вроде того, что на картинке.

7. Скорректируй свои частицы, чтобы они выглядели эффектно. Увеличь силу поля, перемести его, наклони плоскость-эмиттер, увеличь количество частиц. В общем экспериментируй!

8. Когда частицы расположены будут правильно самое время заняться их окрашиванием. Добавь UV-сфере материал с шейдером Emission BSDF.

В качестве цвета мы будем использовать длину волны. Каждый цвет в природе мы видим благодаря тому, что к нам в глаз попадает луч этого цвета. Сам цвет зависит от длины световой волны. Именно её мы и настроим.

1. Переключись в режим рабочего пространства Compositing.

2. Материалу сферы (и уж так сложилось, что и частиц) добавь нод Converter – Wavelength. Он принимает длину волны в качестве значения и выдаёт её цвет.

1. Теперь нужно сделать так, чтобы длина волны (а вместе с ней и цвет) менялись в какой-то зависимости от частиц. Добавь нод Input – Particle Info.

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

3. Длина волны красного цвета – 450, фиолетового – 650. Добавь ноды Converter – Mathв следующем порядке.

4. Последнее, что осталось сделать, это включить MotionBlurна вкладке настроек рендера. Значение установи таким, чтобы хорошо смотрелось.

 

 

Можно рендерить!

 


Фейерверк

Вспомним то, что проходили в прошлом семестре и улучшим изображение с помощью новых знаний.

1. Для создания фейерверка понадобится эмиттер. Это будет UV-сфера.

2. А также объект частицы. Это тоже будет UV-сфера.

3. Добавь объекту частице материал с шейдером EmissionBSDF.

4. Добавь сфере-эмиттеру систему частиц.

5. Выключи отображение эмиттера при рендеринге.

6. Увеличь количество частиц до 10000.

7. Установи время жизни частиц на 6 фреймов.

8. Увеличь скорость вылета частиц по нормалям (Normals) в разделе Velocityдо 9 - 10.

Самое время настроить материал свечения. У нас частицы живут всего 6 фреймов, значит возраст частицы не превышает 6. Используем эти знания, чтобы создать разнообразие в цвете фейерверка.

Данная цепочка делает следующее: получаем возраст частицы, делим его на 5. Таким образом мы получим значения от 0,2 (если возраст минимальный – 1) до 1.2 (если возраст максимальный – 6). Теперь мы вычитаем 0.5, чтобы создать небольшой порог. Ведь большинство наших частиц уже вылетело из эмиттера. Таким образом получим значения от
-0.7 до 0.7. Пока значение меньше 0 нод MixShaderбудет использовать первый шейдер, затем он начнёт их смешивание в зависимости от коэффициента, пока не достигнет значения 1, где второй шейдер имеет полную силу.

1. Создай ещё два таких же фейерверка разных цветов.

2. ВключиMotion BlurигалочкуTransparent.

3. Подбери изображение для фона в Интернете или возьми прилагаемое к учебнику.

4. Расположи камеру так, чтобы вспышки влились в общую композицию.

5. Отрендери изображение.

6. Теперь перейди в рабочее пространство Compositingи включи работу со слоями.

7. Добавь фоновое изображение нодом Input – Image.

8. Нод RenderLayerнужно будет соединить с нодом ColorMixи нодом Filter – Blur, со значением 50 и типом FastGaussian. Это добавит мягкого свечения для наших вспышек.

9. Нод фильтра нужно будет соединить с нодом смешивания во второй слот.

10. Ноду смешивания (ColorMix) тип смешивания поставь Add.

11. Нод смешивания нужно объединить с картинкой фона с помощью нода Color – AlphaOver.

12. Готово!

Красное знамя

Для создания флага понадобится сам флаг и то, к чему его крепить.

1. Создай плоскость и в режиме редактирования добавь дополнительные грани объекту. Это будет наш флаг.

2. Добавь текстуру флага из Интернета или из папки к этому учебнику.

3. Расположи флаг вертикально.

4. Выдели боковую грань и назначь ей группу.

5. Примени поведение тела Cloth. Включи Pinnedи выбери группу, которую нужно закрепить.

6. Включи Self Collision.

7. Добавь силовое поле – ветер.

8. Направь его так, чтобы он развивал флаг.

9. Если флаг получается в квадратиках, то нужно добавить модификатор SubdivisionSurfaceи шейдер Smooth.

 


ПризракСюзанны

Это задание требует большого количества времени из-за ресурсоёмкой симуляции ткани. Рекомендуется его оставить на выполнение дома.

Конечно же нам понадобится для работы сама Сюзанна. Давай создадим её.

1. Установи физику Collisionдля Сюзанны.

2. Добавь шейдер сглаживания Smoothк обезьянке и модификатор SubdivisionSurfaceпервого уровня (Ctrl + 1).

3. Теперь будь особенно внимателен. Создай окружность. Укажи количество вершин 124, а радиус 4.

4. Перейди в режим редактирования и выдели самую верхнюю и самую нижнюю вершины.

5. Нажимай Ctrl + Num.+до тех пор, пока не будет выделена половина всех вершин. То есть 62. Узнать сколько сейчас выделено можно в информационной строке сверху.

6. Теперь нажми Ctrl + F, чтобы открыть меню полигонов и выбери пункт GridFill (или нажми G).Если ты всё сделал правильно, то окружность заполнится сеткой как на рисунке.

7. Теперь нужно выделить все крайние рёбра по кругу и экструдировать их. Немного увеличить масштабирование.

8. Теперь нажми Ctrl + R, для вызова инструмента LoopCutAndSlide. Подкрути колёсико мышки вверх до 12 разрезов.

9. Теперь выдели всё, кроме внешних полигонов. Нажми W, затем Smoothв настройках сглаживания укажи 100 и нажми Enter.

10. Создай эффект рваной ткани. Выдели произвольно полигоны по кругу и удали их (X, Faces).

11. Вернись в ObjectMode. Передвинь ткань на 1 единицу выше обезьянки и примени ей физику ткани.

12. Установи готовые предустановки Silk, включи SelfCollision.

13. Если хочешь, чтобы ткань смотрелась ещё более порванной, выдели линии разреза и нажми V, затем ПКМ. Это создаст разрезы в местах выделения.

14. Запусти симуляцию. Дождись, когда ткань упадёт на обезьянку и создаст некое подобие призрака. Поставь на паузу анимацию в этом кадре.

15. Тут снова трюк. Примени модификатор ткани к объекту.

16. Теперь нужно вырезать дырки под глаза обезьянки. Переключись в режим редактирования простыни. Включи отображение Wireframe, чтобы видеть где глаза и выдели соответствующие полигоны и удали их.

17. Переключись к виду Solid. Удали ещё немного полигонов вокруг глаз.

18. Выдели рёбра по кругу глазных дырок. Нажми E, затем ПКМ, чтобы экструдировать рёбра и оставить их на месте. Не снимая выделения нажми W и выбери Smooth. Должно получиться следующее.

19. Добавь простыне модификатор SubdivisionSurface 1 и шейдер сглаживания Smooth.

20. Неплохо также будет смотреться модификатор Solidify.

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

22. Назначь Сюзанну родителем для ткани (Выдели ткань, потом Сюзанну, нажми Ctrl + P, выбери Object).

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

24. Теперь добавь простыне снова физику Cloth. Установи Pinning. В качестве вершин используй недавно созданные. Не забудь включить Self Collision.

25. Обязательно сохрани свою работу. Блендер может вылететь во время выполнения сложных симуляций.

26. Теперь проверь порядок своих модификаторов для простыни. Модификатор Clothдолжен стоять первым (верхним). Если это не так, то передвинь его на первую позицию.

27. В настройках симуляции ткани найди раздел ClothCacheи нажми кнопку Bake. Блендер начнёт выпекать анимацию. Это займёт приличное время, на среднем компьютере выпекание такого рода длится 30 минут. Если после выпекания ткань недостаточно хороша, нажми FreeBaked, замедли или измени анимацию и выпеки снова.

28. Когда анимация будет удовлетворительной самое время настроить материалы. Добавь материал обезьянке и простыне.

29. Настрой материал обезьянки так, чтобы она светилась. Используй несколько материалов EmissionBSDF, чтобы создать разное свечение по поверхности глаз и остальным частям.

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

31. Можно рендерить картинку. Призрак готов!


Дата добавления: 2018-05-12; просмотров: 310; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!