Поради та секрети Marvelous Designer

У цій статті я поділюся тими спостереженнями (що стали для одних порадами, а для інших були досі секретами), які допомогли мені більш ефективно симулювати одяг Marvelous Designer 3 (MD3).
Виявляється, ядра почнуть завантажуватися максимально, якщо зменшити відстань між частинками (Particles distance), що означає, що ми збільшимо кількість полігонів.
Теоретично, здається, що й збільшувати кількість частинок до певного моменту, можна досягти підвищення якості симуляції безкоштовно, рахунок невикористовуваних ядер. Але зробивши експерименти, я довів, що це не так. Дивіться самі.
Дослідження параметра Particles distance.

Це графік залежності часу симуляції MD3 від кількості полігонів на тканині.
Експеримент я проробляв на такому одязі на налаштуваннях Complete:

У звичайному стані (коли немає ніяких глюків, виворотів, вибухів і заплутування тканини) для вищенаведеного одягу з відстанню між частинками (Particles distance) 5 мм, MD3 є 1.4 ГБ оперативної пам'яті і 40% процесора (спеціфікація мого комп'ютера) на всьому процесі.
Таким чином, я з'ясував, що чим більше полігонів в одязі, тим більше процесора і тим більше оперативної пам'яті є Marvelous Designer 3.
Причому залежність (як ви бачите на графіку вище) статечна
- Y – час симуляції.
- X – відстань між частинками.
- 1400 – це коефіцієнт для мого одягу (у вас він буде іншим).
Тобто, якщо грубо, то відстань між частинками потрібно помножити на себе три рази, щоб зрозуміти на скільки збільшиться час симуляції.
Наприклад,якщо відстань між частинками було 10 і, відповідно, час симуляції Y = 1400/(10*10*10) = 1,4 секунди, то при зменшенні відстані між частинками в два рази (до 5) час симуляції одного кадру зросте до Y = 1400 / (5 * 5 * 5) = 11 секунд!
Час виріс у вісім (!) разів, хоча відстань між частинками зменшили лише у двоє.
Висновок : з параметром Particles distance потрібно бути обережним.
Вплив параметра Number of Simulation на швидкість симуляції.
У налаштуваннях якості симуляції є параметр Number of Simulation, який відповідає за кількість виконаних симуляцій за один кадр. За промовчанням там стоїть значення 5. Це означає, що між кожним кадром MD3 буде симулити поведінку вашого одягу п'ять разів. Потім він ці поведінки усереднює і демонструє вам усереднене значення.
Таким чином, накручування цього параметра допомагає (теоретично) позбудеться дрібного тремтіння 3D тканини. На практиці це теж є, але ефект дуже незначний (або просто у мене траплялися такі випадки, що різниця була не дуже великою).
Ось графік залежності швидкості симуляції одягу від параметра Number of Simulation.

Формула виходить лінійна:
- Y – час симуляції.
- X – кількість симуляцій (Number of Simulation).
- 5 – коефіцієнт для мого одягу (у вас він буде іншим).
Вивод : кількість симуляцій - це і є САМЕ КІЛЬКІСТЬ симуляцій. Тобто. якщо було 5, а ви зробили 10 (збільшили вдвічі), то й час симуляції збільшиться у 2 рази.
Вплив параметра Self Collision Iteration Count на швидкість та якість симуляції одягу.
Схоже, що Self Collision Iteration Count – це неоднозначний параметр.
По-перше, його значенняможна поставити від 1 до 10, але MD3 не запам'ятовує значення цього параметра вище 5. (і це також видно на графіці нижче)
По-друге, його збільшення не завжди призводить до покращення симуляції, а іноді навіть навпаки.
Графік швидкості має приблизно логарифмічний вигляд. Це означає, що спочатку час симуляції зростає, а потім, починаючи з деякого значення - перестає рости, як би сильно ви цей параметр не збільшували:

За ідеєю, цей параметр покликаний покращити симуляцію у тих місцях, де тканина взаємодіє сама із собою. І оскільки збільшення цього параметра дається нам майже задарма, то я дуже часто накручував його до максимуму. Але потім зрозумів, що якість симуляції від цього не виграє.
А на практиці, як правило, так і буває - купа проникнень міша в міш. Тому, щоб тканина не вибухала, намагаючись витягнути себе з себе, я тримаю цей параметр на одиниці.
Чому MD3 зависає і як із цим боротися.
Якщо ви бачите подібні симптоми у себе, можете відразу вбивати процес MD3_Personal_x64.exe. Шанс, що ви зможете зупинити таку симуляцію майже нульовою.
Щоб уникнути цього, потрібно ретельно стежити за купою факторів. Я наведу деякі з них. Найбільш глючні зверху.
Number Of CPU In Use (скільки ядер використовує MD4 для симуляції)
Обов'язково поставте параметр Number Of CPU In Use рівним кількості логічних ядер у вашій системі. Наприклад, у мене такий процесор. У ньому 6 фізичних ядер, але 12 логічних. Відповідно, я виставляю Number Of CPU In Use = 12. Оскільки, за замовчуванням, там стоїть число 4:

Щоб знайти параметр Number Of CPU In Use, потрібно в меню Preferences натиснути Simulation Properties, тоді відкриється панель Property Editor де він ізнаходиться.
Стаття ще пишеться. Заходьте пізніше, щоб дізнатися про всі секрети
P.S. Дівчина на великій картинці зроблена мексиканським 3D художником Carlos Ortega Elizalde в Marvelous Designer 2 і Maya 2013 (тектури в Mudbox, а рендер - Mental Ray). Оригінал дивіться там.
Підпишіться на оновлення блога(ось 3 причини для цього).
Схожі статті:
Відповідей: 29 до статті “Секрети Marvelous Designer. Чому MD зависає і не використовує ядра на 100%?
У мене запитання до Вас, Юрію. Як я зрозумів - Ви працюєте в 3ds max. А чому симулюєте одяг у Marvelous Designer, а не модулем Cloth?
А ви намагалися шити одяг або симулити його в 3ds Max? Порівняно з MD3 – це тортури.
Ні, не куштував. Я тільки почав вивчати 3ds max. А не підкажете, де знайти виразні уроки з MD3 українською? (з англійською у мене туго)
Підкажіть, будь ласка, де змінювати параметр Number Of CPU In Use?
Ну, що ж ви так? Давайте будемо вчитися користуватися Help'ом
Знайшов, але він тільки за симуляції руху лекала працює?