← ⚡ Physics & Mechanics
🧣 Cloth Simulation · Verlet

🧣 Cloth



LMB — drag node
RMB — rotate scene
RMB — rotate · Scroll — zoom · LMB on cloth — drag

🧵 Симуляція Тканини — 3D

Тривимірна симуляція тканини на основі системи пружин: кожна точка тканини з'єднана розтяжними та вигинальними пружинами. Реалістична реакція на вітер, силу тяжіння та зіткнення з об'єктами.

🔬 Що демонструє

Тканина моделюється як сітка точок, з'єднаних силами пружини Гука. Пружини розтягнення утримують тканину цілою; пружини вигину опираються складанню. Метод інтегрування Верле поширює сили в часі.

🎮 Як використовувати

Клацніть і перетягніть, щоб потягнути тканину. Використовуйте повзунок вітру для розвіювання. Прикріпіть різні кути, щоб побачити, як тканина звисає та складається.

💡 Чи знали ви?

Ту ж саму систему пружних коливань, що і тканина, використовують у відеоіграх для симуляції волосся, м'язів та органічних поверхонь. В ігровій серії Assassin's Creed таким чином симулюється рух плащів і прапорів.

Про цю симуляцію

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

🔬 Що показує

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

🎮 Як користуватися

Повзунки задають Gravity (гравітацію), Wind X, Wind Z (вітер), Stiffness (жорсткість пружин), Damping (згасання) та Sphere radius (радіус сфери зіткнення). Перетягуйте вузол тканини лівою кнопкою миші, щоб тягнути тканину; перетягування правою кнопкою обертає камеру, а прокрутка масштабує. Reset перебудовує тканину, а Freeze призупиняє фізику.

💡 Чи знали ви?

Модель тканини «маса-пружина» популяризував Ксав'є Прово 1995 року, додавши обмеження «суперпружності», щоб тканина не могла розтягуватися нереалістично далеко — цей прийом і досі застосовують у сучасних ігрових рушіях.

Поширені запитання

Що таке симуляція тканини на пружинах (маса-пружина)?

Вона представляє тканину як сітку точкових мас, з'єднаних пружинами. Тут сітку з 30 на 24 вузли з'єднують структурні, зсувні та згинальні пружини, що опираються розтягуванню, зсуву й складанню. Спільна поведінка цих пружин дає хвилі, складки й драпірування, які ви бачите, без моделювання тканини як суцільного матеріалу.

Як симуляція рухає тканину в кожному кадрі?

Вона використовує інтегрування Верле. Кожен вузол зберігає поточну та попередню позицію, а швидкість виводиться з різниці між ними. Додається прискорення від гравітації та вітру, після чого дванадцять проходів «розслаблення» обмежень підтягують з'єднані вузли до їхньої природної довжини. Кадр поділено на п'ять фізичних підкроків для стабільності.

Що контролюють повзунки?

Gravity задає силу тяжіння, що тягне кожен вузол униз, тоді як Wind X і Wind Z прикладають горизонтальну силу з вбудованою турбулентністю. Stiffness визначає, наскільки сильно пружини опираються розтягуванню, Damping задає, скільки енергії втрачається за крок, а Sphere radius змінює розмір рухомої кулі для зіткнень, по якій драпірується тканина.

Чи є симуляція фізично точною?

Це радше правдоподібне наближення, ніж точна модель. Моделі «маса-пружина» відтворюють якісний вигляд драпірування та надимання тканини й широко застосовуються в іграх та кіно, але вони не відтворюють справжню жорсткість матеріалу так, як методи скінченних елементів. Параметри тут підібрані для стабільного, привабливого руху, а не у виміряних фізичних одиницях.

Чому на кожному кроці потрібно кілька ітерацій обмежень?

Корекція однієї пружини може порушити сусідні, бо вузли спільні. Багаторазове «розслаблення» обмежень — тут дванадцять разів за крок — дає змогу корекціям поширюватися сіткою, тож усе полотно сходиться до узгодженої форми. Більше ітерацій дає жорсткішу, менш розтяжну тканину ціною додаткових обчислень.