
Здравствуйте господа 3D-шнего.
З'явилася необхідність створити візуалізацію зимового фасаду. Є маса варіантів по створенню снігу на сцені, можна моделей сніг ручками, можна використовувати систему частинок, натикався навіть на варіант з використанням плагіна GLU (плагін для моделювання потоків води, але якщо воду зробити густий, то цілком схоже на сніг).
Оптимальним варіантом порахував використовувати скрипт SnowFlow. Але з його використанням багато стикаються з невеликими проблемами. Їх рішення я на форумі не знайшов, довелося розбиратися самостійно і коли з усім розібрався, вирішив описати всі труднощі і їх рішення в даній статті. Раптом кому стане в нагоді.
Але потім до мене дійшло, що це не плагін, а скрипт, і версія для 16го макса, цілком може працювати і на інших. Я поставив скрипт на 13й макс і все прекрасно запрацювало, так що думаю що і на 12м, і на 14-17м Максим проблем бути не повинно.
Отже ви завантажили архівчік.
Далі перетягуємо го в вікно макса. і нам видає віконце.
Кількома "Install". і нічого не відбувається. Все правильно, плагін встановився, і тепер нам потрібно зробити для нього кнопку.
Йдемо в меню Customize -> Cusomize User Interface, а там вибираємо вкладку "Toolbars" (1)
У свиті "Category" вибираємо пункт SnowFlow (2)
Натискаємо на кнопку "New" щоб створити нову менюшку (3), макс просить її як нитка назвати, я назвав просто "SF"

Ось що ми повинні побачити

Далі перетягуємо іконку "SnowFlow" З розділу "Action" в нашу створену менюшку "SF"

Все, кнопка готова, тепер її можна перетягнути на верхню панель, що б не маячила посеред екрану.

Кнопочка готова працювати. Можна робити сніг.
Кількома на неї і бачимо повідомлення.

Ніби як скрипт пропонує відкоригувати системні одиниці до сантиметрів, що начебто має в подальшому позбавити нас від проблем з довгим побудовою снігу, але на жаль, коригуємо ми одиниці чи ні, від проблем це не позбавляє, у мене принаймні виникли труднощі, так що відповідаємо "Ні". Що б сцена залишилася в первозданному вигляді.
І бачимо нарешті то віконце плагіна, опишу коротко основні настройки які будемо використовувати.

1. Кнопка "Select Object" - натискаємо кнопку і вибираємо об'єкт на який будемо накидати сніжок.
2. Сувій "Snow - Method" - Спосіб побудови снігу. За замовчуванням варто метод "snowflakes (for objects, high detail)" На мій погляд це найоптимальніший метод побудови (як зрозуміло з назви) для складних об'єктів, а й найдовший за часом, інші два методи будують більш просту сітку, напевно підійдуть для простих поверхностей.sf_pic8.jpg
3. Параметр "thickness" - що зрозуміло з назви товщина снігу
4. Параметр "noise" - то ж має бути ясно, "шум", наскільки наш сніжок буде "хвилюватися"
5. Параметр "surface relaxing" - згладжування геометрії снігу, чим більше, тим більше згладжена буде сітка.
6. параметр "number of partickes" - Кількість часток використовуваних для формування снігового покрова.По замовчуванням закритий, але якщо нижче у виборі Пресетів ми кликнемо на кнопку "default" (8) то параметр відкриється
7. Сувій "polycount" - Це щільність полігональної сітки з якої буде будується сніжний покров.Параметр має всього 7 значень: extremely low, very low, medium, high, very high, extremely high. Дуже шкода що розробники не зробили цей параметр більш гнучким, наприклад що б задавався числами, як інші параметри, на мій погляд використовувати його було б зручніше.
Це основні параметри які знадобляться нам для створення нескладного але красивого снігового покриву.
Коли об'єкт вибраний і всі параметри налаштовані, натискаємо кнопку "Let It Snow" (1)

Дивимося що вийшло, якщо щось не так, "граємося" з параметрами, тиснемо кнопку "Delete last SnowFlow" (2), що б видалити створений сніг, і знову тиснемо кнопку "Let It Snow" (1)
Спробуємо засніжити який-небудь більш реальний об'єкт. У нас є будиночок, покажу процес на прикладі даху.

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

Ми залишаємо в сіні тільки дах, натискаємо на створену кнопку, в віконці відповідаємо немає, вибираємо дах, налаштовуємо параметри, натискаємо кнопку "Let It Snow". і що ж ми бачимо.

Скрипт зависає намертво. Може у кого то на суперпотужний комп'ютері цієї проблеми не буде, але по форумам народ часто стикається з такою проблемою і рішення ніде описано не було.
Справа в тому що скрипт прекрасно працює з об'єктами розміром в 200-300мм, але якщо робите об'єкт хоча б метр на метр, то прорахунок геометрії покриву починає сильно затягуватися, навіть при виставленні мінімальної щільності сеткі.Что вже говорити про дах. Так ось граючись з різними параметрами я не зміг знайти їх комбінацію що б геометрія швидко прораховувалася або хоча б не Вісла, і тоді вирішив піти шляхом "від зворотного".
Взяв і зменшив дах в 100 разів, не забувши після цього зробити "Reset XForm", що б не виникли "косяки" з масштабом.
При такому розмірі моєї даху, використовуючи налаштування які були "за замовчуванням" хвилин за 5 скрипт побудував непоганий сніговий покрив.

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

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

Тепер повертаємося в нашу сцену. І імпортуємо сюди наш сніжок.

Сніжок у нас маленький, тому що працювали з дахом зменшеною в 100 раз, так що тепер збільшуємо його в 100 разів, тобто робимо масштаб 10000%
І ось снежек встав як рідний.

А тепер невеликий ЛАЙВХАК. Відомо що при потеплінні, раніше звільняється коник даху, тому що тане сніг починає сповзати вниз, а у нас дах рівномірно покрита снігом, і сніг рівномірно дірявий, що б добитися потрібного ефекту просто застосуємо до снігу модифікатор "FFD 2x2x2", і опустимо верхні точки трохи в низ, що б верхня частина снігу ушала "в дах "

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

Далі виконаємо ті ж маніпуляції з іншими об'єктами на яких повинен бути сніг.
Зауваження: Зменшувати об'єкт не обов'язково саме в 100 разів (як ми зробили з дахом), для кожного об'єкта потрібно окремо підбирати масштаб зменшення. Так для того що б побудувати сніг на перилах балконів, зменшення в 100 раз не давало потрібних результатів, навіть найдрібніша сітка (extremely high), була занадто великою для тонких перил, довелося зменшувати перила всього в 10 разів. При засніження ділянки навколо будинку, навпаки, зменшувати об'єкт довелося в 300 разів.
Підбирайте масштаб зменшення і параметри індивідуально для кожного об'єкта, в залежності від його розмірів.
Ось так у нас став виглядати засніжений будиночок.

Ну і в кінці можу показати що у мене вийшло.

Відразу прошу сильно не критикувати роботу. Я не позиціоную себе як супер професіонала, просто визуализатор дуже середнього рівня. А зимовий рендер робив взагалі вперше.
Хочеться звернути вашу увагу, на те що скрипт створює свій матеріал снігу, вміє створювати як стандартний, так і V-Ray матеріал, з прозорістю і без, але я вирішив створити свій матеріал.
Красивих всім рендерів, щедрих замовників, і пам'ятайте, ЗИМА БЛИЗЬКО.
моделювання снігу. snowflow. установка. зависає