From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Імітація тканин

Приклад імітації тканини.
Тканина на різьблених дерев'яних чоловічках (зроблено motorsep).
Ще приклад імітації тканини.

Імітація тканин є одним з найважчих аспектів комп'ютерної графіки, оскільки оманливо простий об'єкт реального світу, який вважається таким явищем, що само собою зрозуміле, насправді має дуже складні внутрішні та зовнішні взаємодії. Після кількох років розробки Blender отримав свій надійний імітатор тканин, що може використовуватися для імітації одягу, стягів, банерів тощо. Тканина взаємодіє та піддається впливу інших рухомих об'єктів, вітру та інших сил, а також як і будь-яка аеродинамічна модель повністю підконтрольна вам.

Опис

Шматок тканини — це будь-яка сіть, закрита або відкрита, що отримала властивість тканин та визначена в якості тканини. Для визначення сіті в якості тканини використовується додання модифікатора Cloth (Тканина). Після його додання параметри тканини відображаються не контексті «Модифікатори», як це є для більшості з них, а у контексті Physics (Фізика) (для модифікаторів імітації фізичних взаємодій це звичайна практика).

Тканина у більшості випадків імітується на основі примітивів сітьової площини або сітьового куба. Однак, система М'якого Тіла (Softbody) забезпечує кращу імітацію закритих сітей. Як правило, імітатор «Тканина» спеціалізується саме на імітації власне шматків тканини на основі відкритих сітей.

«Тканина», як і всі інші модифікатори, взаємодіє з останніми (зокрема, Armature (Арматура) and Subdivision Surface (Підподіл Поверхні)) відповідно до розміщення у стеку модифікаторів.

Додати модифікатор «Тканина» ви можете у двох місцях: у контексті «Модифікатори», вибравши його у меню «Додати Модифікатор», та у контексті «Фізика», натиснувши кнопку «Cloth» (Тканина).

Ви можете Apply (Застосувати) модифікатор у будь-який момент для фіксації змін, зроблених ним, що видалить його зі стека. Наприклад, ви драпіруєте скатертину на стіл, спочатку додавши модифікатор, далі налаштувавши його, потім запустивши імітацію, та у кінці застосовуєте його. Тепер, ви можете його знову додати або додати інший модифікатор, таким чином економлячи час на моделювання.

Оскільки, модифікатор обробляє багато даних, то результати обчислення останніх зберігаються ним у кеш, що запобігає їх втраті та економить час, усуваючи потребу їх переобчислення. Запуск обчислення імітації повністю автоматичний та не вимагає додаткових кроків.

Обчислення форми тканини у кожному кадрі також є автоматичним та здійснюється у фоні — тому ви можете працювати, не чекаючи проведення обчислень. Однак, така зручність має свою ціну — потрібний досить потужний комп'ютер (головний процесор та графічний процесор) для більш складних сцен.

Не забігайте вперед
Якщо ви налаштували імітацію тканини, то запустіть відтворення її анімації, щоб Blender обчислив її. А тоді вже переходьте у потрібний вам кадр. Якщо ж Blender чомусь не обчислює її, то перевірте безпомилковість базової сіті та правильність налаштувань. Після виправлення проблем, знову спочатку запустіть обчислення, а потім вже рухайтесь по анімації імітації, як вам хочеться.


Загальний порядок роботи з тканиною

Узагальнений алгоритм роботи з тканиною у Blender'і наступний:

  1. Змоделюйте та перевірте базовий сітьовий об'єкт, що отримає властивості тканини.
  2. Достатньо (до 8-10 «Кількість Поділів») підподіліть сіть об'єкта майбутньої тканини для отримання належного її вигляду при відтворенні імітації за допомогою W > Specials (Спеціальне) > Subdivide (Підподіл) (та при потребі також за допомогою модифікатора Subdivision Surface (Підподіл Поверхні), хоча останній рекомендується додавати, як правило, вже після додання модифікатора Cloth (Тканина)).
  3. Визначте цей об'єкт як «тканина», додавши однойменний модифікатор через контекст Modefiers (Модифікатори) або контекст Physics (Фізика) у вікні Properties (Властивості).
  4. Змоделюйте та налаштуйте інші об'єкти, що будуть взаємодіяти та зіштовхуватися з тканиною. Переконайтесь, що модифікатор Collision (Зіткнення) для цих зіштовхуваних з тканиною об'єктів стоїть останнім у стосі після всіх модифікаторів, що деформують сіть.
  5. Достатньо збільшіть значення параметра Quality: (Якість) Steps (Кроки) для отримання належної якості імітації тканини.
  6. Налаштуйте освітлення тканини та призначте матеріали і текстури, якщо хочете, зробіть розгортку UV-координат.
  7. Якщо потрібно додайте додатково систему частинок для тканини за допомогою однойменного модифікатора, наприклад, для імітації водяного пару, що виходить з її поверхні.
  8. Запустіть анімацію імітації тканини та налаштуйте опції імітації у контексті «Фізика», переходячи у потрібний її кадр за допомогою Часової Шкали.
  9. За бажанням застосуйте модифікатор «Тканина» у потрібній вам точці імітації, щоб мати нову стартову форму для подальшої роботи з тканиною.
  10. Зробіть тонкі налаштування кадр-за-кадром (наприклад, застосуйте Згладження Тонування (Shading: Smooth) для отримання згладженішого вигляду тканини) і можете візуалізувати імітацію тканини.


Створення імітації тканини

Створення імітації Тканини.

Для створення імітації тканини на виділеному об'єкті клацніть на кнопці «Cloth» (Тканина) у контексті Physics (Фізика) або додайте модифікатор «Cloth» (Тканина) у контексті Modefiers (Модифікатори) вікна Properties (Властивості). Виберіть серед переднаборів потрібний вам вид тканини для імітації.

Як можете зазначити, чим важче тканина, тим вона більш тугіша (жорсткіша) та тим менш розтягується і менше піддається впливу повітря.

Опції і параметри


Головна секція «Тканина» (Cloth)

Секція Cloth.
Presets: (Переднабори)
Дозволяє вибрати з наперед визначених стандартних Переднаборів Тканини (Cloth Presets) потрібний переднабір для імітації.
Наразі для вибору доступними є такі переднабори:
Cotton (Бавовна)
Denim (Денім)
Цупка бавовняна тканина, що використовується для виготовлення джинсів.
Leather (Шкіра)
Rubber (Гума)
Silk (Шовк)
Quality: (Якість)
Steps (Кроки)
Визначає кількість кроків імітації на кадр. Вищі значення дають кращу якість, але обчислюються повільніше.
Material: (Матеріал)
Mass (Маса)
Маса матеріалу тканини.
Structural (Структурність)
Загальна тугість (жорсткість) тканини.
Bending (Згин)
Коефіцієнт зморшення. Вищі значення створюють більші загини.
Damping: (Згасання)
Spring (Пружність)
Згасання швидкості динаміки тканини. Вищі значення — більш згладжений вигляд динаміки і менше тремтіння.
Air (Повітряність)
Повітря зазвичай має деяку щільність, що уповільнює спадання тканини, дає згасання падіння.
Velocity (Швидкість)
Згасання швидкості допомагає тканині швидше досягти позиції спокою, швидше «заспокоїтись» (значення «1.0» = без згасання, «0.0» = повне згасання).
Pinning (Пришпилення)
Вмикає/вимикає пришпилення вершин тканин у певних позиціях.
Перед пришпиленням тканини вам необхідна Група Вершин. Щоб це зробити, у вас є кілька способів, включаючи Малювання Вагомостей.
Після створення групи вершини ви просто вмикаєте стяг Pinning (Пришпилення) у секції Cloth (Тканина), вибираєте у полі цю групу вершин та при потребі налаштовуєте тугість пришпилення.
Поле Групи Вершин
Призначене для вибору Групи Вершин для пришпилення у місцях цих вершин тканини.
Stiffness (Тугість)
Визначає тугість пружності пришпилення. Можете стандартне значення «1.0» залишати без змін — воно і так не погано працює.
Pre roll: (Перед-прокрутка)
Frames (Кадри)
Визначає кількість попередніх кадрів до початку імітації, щоб на початок імітації тканина вже осіла на передбачене для неї місце.


Кешування та запікання динаміки тканини

Параметри для кешування і запікання динаміки тканини такі ж, як і для інших систем фізичної динаміки. Детальний опис дивіться тут і тут.

Параметри

Секція Cloth Cache з параметрами кешування і запікання динаміки тканини
Список кешів
Дозволяє використовувати більше ніж один кешів та управляти ними — додавати. вилучати та перейменовувати.
Кнопки + та -
Додають та вилучають відповідно кеші у/з список кешів.
Start (Старт)
Кадр, з якого буде починатися кешування.
End (Кінець)
Кадр, на якому кешування імітації закінчиться.
Disk Cache (Кеш на Диск)
Вмикає/вимикає збереження на жорсткий диск комп'ютера. Доступно тільки тоді, коли перед цем спершу збережений даний .blend-файл.
Use Lib Path (Використати Шлях Бібліотеки)
Вмикає/вимикає використання для кешування заданого шляху, коли бібліотека зв'язана з іншим файлом (для локальних запікань файлу по сценам, вимкніть цю опцію).
Compression (Стиснення)
Дозволяє вмикати/вимикати та вибирати ступінь стиснення файлу кешу.
None (Нема)
Вимикає стиснення файлу кешу.
Light (Слабо)
Швидке, але не дуже ефективне стиснення.
Heavy (Сильно)
Ефективне, але повільніше стиснення.
Bake (Запікання)
Запікає поточну фізику даної Тканини.
Free Bake (Вивільнити Запікання)
Вивільняє (очищує дані) запечену фізику даної Тканини.
Calculate To Frame (Перерахувати до Кадру)
Повторно запікає фізику цієї Тканини від першого до поточного кадру сцени.
Після запечення усієї динаміки (Bake All Dynamics) дана опція стає недоступною. Для оновлення запікання використовуйте натомість Update All To Frame.
Current Cache to Bake (Поточний Кеш у Запікання)
Запікає поточний кеш Тканини.
Bake All Dynamics (Запекти Усю Динаміку)
Запікає усю фізику (динаміку) на об'єкті Тканини (може бути кілька систем частинок, систем імітації м'якого тіла та тканин).
Free All Bakes (Вивільнити Усі Запікання)
Вивільняє усі запечені кеші для усіх об'єктів у поточній сцені.
Update All To Frame (Оновити Усе до Кадру)
Оновлює усі запечену фізику (динаміку) для об'єкта Тканини від першого до поточного кадру сцени.


Інтерактивне редагування кешованої імітації

Кеш містить форми сіті Тканини для кожного кадру. Ви можете редагувати кешовану імітацію, попередньо запікши її, як і для частинок у м'яких тіл у спеціальному режимі Particle Edit (Правка Частинок) для тканин.

Детальніше дивіться тут.

Зіткнення тканин

Загальний порядок налаштування динаміки зіткнень тканин

У більшості випадків шматок тканини не тільки висить десь у 3D-просторі, він також зіштовхується з іншими об'єктами навколишнього середовища. Для правильного налаштування у таких ситуаціях імітації тканини слід звернути увагу на наступне:

  1. Для об'єкта «Тканина» слід явно увімкнути властивість брати участь у зіткненнях.
  2. Факультативно (але і рекомендовано) також явно вмикати властивість самозіткнення.
  3. Зіштовхувані з тканиною об'єкти мають знаходитися на одному з нею шарі сцени.
  4. Зіштовхувані об'єкти повинні бути сітьовими (mesh) об'єктами.
  5. Зіштовхувані об'єкти можуть рухатися або деформуватися ще іншими об'єктами (наприклад, арматурами або ключами форм).
  6. Для зіштовхуваних об'єктів має бути явно увімкнена властивість загальних зіткнень (додана загальна фізика Collision).
  7. .blend-файл сцени має бути збережений перед відтворенням імітації з метою уникання втрати даних.
  8. Імітацію тканини слід запекти (Bake) з метою запобігання втраті результатів.
  9. Ви можете інтерактивно редагувати запечену імітацію зі зіткненнями у тому ж режимі «Правка Частинок».
  10. При зміні зіштовхуваних об'єктів чи навколишнього середовища імітацію слід повторно запекти.


Параметри зіткнень з іншими об'єктами сцени

Секція Cloth Collision.

Стяг біля імені секції Cloth Collision (Зіткнення Тканини) вмикає/вимикає участь Тканини у зіткненнях.

Quality (Якість)
Визначає міру якості зіткнень — кількість повторів їх вирахування. Вищі значення дають кращу якість (менше розривів та проникань), однак обчислюються повільніше.
Distance (Відстань)
Мінімальна відстань в одиницях Blender'а від тканини до зіштовхуваного об'єкта, на якій буде вважатися зіткнення і тканина далі буде відштовхуватися від зіштовхуваного об'єкта.
Repel (Відштовх)
Величина сили відштовхування тканини при наближенні зіткнення.
Repel Distance (Відстань Відштовху)
Максимальна відстань дії сили відштовхування. Повинна бути більша, ніж мінімальна відстань зіткнення (Distance).
Friction (Тертя)
Величина тертя, якщо зіткнення відбулося. Вищі значення уповільнюють рух тканини. Наприклад, шовк має нижчу цю величину, ніж бавовна.
Collision Group (Група Зіткнення)
Дозволяє задати групу об'єктів - зіштовхувачів з тканиною, тільки для яких працюватиме зіткнення (зіткнення будуть лише між тканиною і цими об'єктами).


Самозіткнення

Приклад самозіткнення тканини.

Тканини у реальному світі не можуть проникати самі крізь себе, тому для імітації також слід вмикати самозіткнення тканини за допомогою стягу біля імені секції Cloth Self Collision (Самозіткнення Тканини). Це звичайно збільшить час на зображування сцени, однак дасть їй більший реалізм.

Quality (Якість)
Міра якості самозіткнень — кількість повторів їх вирахування. Вищі значення дають кращу якість, однак розраховуються повільніше. Рекомендується задавати однакове значення для цього параметра та параметра якості (Collision Quality) зовнішніх зіткнень.
Distance (Відстань)
Дає змогу задавати мінімальну відстань для самозіткнень. Найкраще значення — «0.75». Для швидких рухів слід встановлювати найбільше значення — «1.0». А от нижче значення «0.5» несе ризик самопроникання тканини, хоча розраховується швидше.
Поле Група Вершин
Дозволяє визначати тут групу вершин об'єкта тканини для виключення цих вершин з врахування самозіткнень.

Файл прикладу самозіткнення тканини: Cloth selfcollisions.

Масштабування тугості тканини

Секція Cloth Stiffness Scaling.
Structural Stiffness: (Структурна Тугість)
Поле Група Вершин
Дозволяє визначити групу вершин об'єкта тканини для керування загальною тугістю її структури.
Max (Макс)
Визначає максимальне значення тугості структури тканини.
Bending Stiffness: (Тугість Згину)
Поле Група Вершин
Дозволяє визначити групу вершин об'єкта тканини для керування загальною тугістю згину.
Max (Макс)
Визначає максимальне значення тугості згину тканини.


Пружини зшивання тканини

Секція Cloth Sewing Springs.
Sewing Force (Сила Зшивання)
Максимальна сила зшивання.
Shrinking: (Стискання)
Поле Група Вершин
Дає змогу задавати групу вершин для стискання тканини.
Min (Мін)
Мінімальна величина стискання тканини.
Max (Макс)
Максимальна міра стискання тканини.


Вплив зовнішніх сил на тканину

Секція Cloth Field Weights.

Як і інші фізичні системи динаміки, імітація Тканини також піддається впливу ефекторів зовнішніх силових полів. Секція Cloth Field Weights (Вагомості Полів Тканини) дозволяє регулювати ці впливи ефекторів саме на тканину (наскільки тканину буде піддаватися впливу того чи іншого силового поля та гравітації світу сцени).

Поради


Сумісний шар

Припустімо у нас є два об'єкти: пара Штанів на шарах 2 і 3 та сіть вашого Персонажа на шарах 1 та 2. Щоб працювала динаміка тканини для ніг Персонажа, штани та ноги персонажа мають бути на сумісному одному шарі — у нашому випадку, це шар 2. Для цього, за допомогою клавіші M перенесіть ноги та штани, які будуть брати участь у динаміці тканини на шар 2. Також з натисненою ⇧ Shift та клацками LMB Template-LMB.png по кнопкам шарів ви можете зробити активними одночасно кілька шарів, щоб бачити усю вашу сцену.

Зіткнення тканин можливе тільки із сітьовими об'єктами

Якщо зіштовхуваний об'єкт з тканиною наразі не сітьовий (mesh), а наприклад, НОРБС-поверхня або текст, то ви повинні його конвертувати у сітьовий об'єкт за допомогою пункту у меню Object (Об'єкт) → Convert To (Конвертувати У) (AltC) та вибрати у спливному меню Mesh from Curve/Meta/Surf/Text (Сіть із Крива/Мета/Сплайн/Текст).

Зіткнення тканина — інший об'єкт

Параметри загальної фізики зіткнення для зіштовхуваного з тканиною об'єкта.

Для зіштовхуваного з тканиною об'єкта має бути увімкнена та нашаштована загальна фізика імітації зіткнення за допомогою її додання для останньої клацком по кнопці Collision (Зіткнення) у контексті Physics (Фізика) вікна Properties (Властивості).

Зверніть увагу, системи динаміки у Blender'і мають додатково специфічні для них свої параметри зіткнень (які працюють лише у ситуаціях з їх участю) у відповідних для них секціях.

Стос модифікаторів зіштовхуваного з тканиною сітьового об'єкта

Форма зіштовхуваного з тканиною сітьового об'єкта деформує останню, тому для імітації необхідно, щоб модифікатор Collision був після всіх (внизу стосу) модифікаторів, доданих на цей об'єкт.

Проблеми та ймовірні способи їх вирішення

При проблемах відтворення імітації тканини спробуйте наступні способи:

  • Найшвидший — збільшити значення параметра Distance у секції Cloth Collision. Однак, він менш точний і дає не дуже хороший вигляд тканини при імітації. Використовуйте його при виглядах тканини у позиції спокою, оскільки він дає дуже заокруглений її вигляд.
  • Другий — збільшити значення параметра Quality у секції Cloth Collision. Дає більше повторів розрахунку імітації, а тому сповільнює її обчислення.
  • Якщо жоден з вищенаведених способів не спрацював, спробуйте інтерактивно відредагувати запечену тканину у режимі Particle Edit.
Модифікатор Subdivision Surface
Рекомендується використовувати однакові значення роздільності модифікатора для зображування та перегляду.


Приклади


Приклад імітації динаміки тканини.

Для прикладу створимо шматок тканинної матерії. Видалимо стандартний куб та додамо сітьову площину. Збільшимо її масштаб по Y-осі.

Щоб наша тканина була гнучка, підподілимо її кілька разів, наприклад, 8. Для цього, натиснемо ⇆ Tab для переходу у режим Edit та натиснемо W → Subdivide, і задамо для параметра Number of Cuts на Полиці Інструментів значення «8».

Далі, увімкнемо для площини фізику тканини у контексті Physics, клацнувши по кнопці Cloth. Запустимо відтворення на Шкалі Часу для запечення імітації.

Наостанок, ви можете налаштувати будь-які параметри імітації тканини у секціях контексту Physics.

Згладження тканини

Після додання нами фізики тканини остання виглядає дещо грубувато. Для отримання більш гарного вигляду тканини додамо для об'єкта тканини модифікатор Subdivision Surface у контексті Modifiers та клацнемо на кнопці Smooth у групі Shading: на Полиці Інструментів.

Тепер, при відтворенні імітації (AltA) тканина буде виглядати гладенькою.

Використання результатів імітації для отримання потрібної форми сітьового об'єкта

Ви можете клацнути на кнопці Apply (Застосувати) у секції модифікатора Cloth для зафіксування форми тканини у форму сіті об'єкта. Фізика тканини при цьому вимикається і сіть об'єкта буде редагуватися як звичайно. При потребі ви знову можете вмикати фізику тканини та застосовувати її необхідну кількість для вас раз.

Таким же чином ми можемо визначати форму, наприклад, прапора. Налаштуємо просту сітьову гратку як прапор і пришпильте її бокове ребро до флагштока. Виберіть кадр з бажаною формою розвівання прапора та застосуйте модифікатор Cloth. Якщо треба буде змінити форму або анімувати прапор, додайте та налаштуйте знову для нього фізику тканини.

Тканина на арматурі

Приклад поєднання анімації арматури з імітацією тканини.

Об'єкт тканини може бути приріднений до арматури та деформуватися з анімацією останньої і разом з тим імітувати тканинну природу: blend-файл поєднання анімації арматури з імітацією тканини..

Тканина з анімованими групами вершин

Приклад імітації тканини з анімованими групами вершин.

Імітація тканини з анімованими групами вершин: blend-файл імітації тканини з анімованими групами вершин.

Тканина з динамічним малюванням

Приклад імітації тканини з динамічним малюванням.

Імітація тканини з динамічним малюванням використовує також анімовані групи вершин: blend-файл імітації тканини з динамічним малюванням.

Тканина і М'яке Тіло

Приклад поєднання імітацій тканини і м'якого тіла.

Імітація тканини може поєднуватися з імітацією м'якого тіла. На даному прикладі для тканини вибрано матеріал Rubber: blend-файл поєднання імітацій тканини і м'якого тіла.

Палахкотіння тканини на вітрі

Прапор майорить на вітрі.

Типовий приклад поєднання імітації тканини і силового поля «Вітер» — палахкотіння прапора на вітрі: blend-файл прикладу поєднання імітації тканини і силового поля вітру при палахкотінні прапора на вітрі.




Про модифікатор «Хвиля» | Про модифікатор «Зіткнення»

Попередня: Про інші параметри М'якого Тіла | Головна | Наступна: Імітація Твердих Тіл

Contents