Створюємо потік іскор із плагіном Cebas Thinking

На плакаті це виглядає не дуже виразно, але якщо з розумом використовувати даний ефект в якомусь проекті, то.

Реалізація цього прикладу можлива і стандартними засобами Max, але використання плагіна Cebas Thinking вигідно скоротить час кінцевої візуалізації, процес створення легко контролюється на будь-якій стадії, при цьому не змушуючи комп'ютер "мчати" від напруги, що частенько буває при роботі з частинками.

1) Отже, створимо в будь-якому вікні систему частинок Thinking (Geometry & Ppt Systems & Thinking). Далі тиснемо кнопку Properties, у вікні (робоче вікно плагіна Сebas Thinking) у полі Mastr Systems виділимо All, натиснемо Сreate і створимо нову групу Sparks (Іскри). У нижньому полі виділимо Master Dynamic і в правій частині вікна клікнемо Edit on the fly і поставимо галочку на Show, щоб бачити весь процес створення у вікнах проекції.

2) Далі виділяємо у нижньому вікні Master Dynamic > тиснемо Create > та створюємо нову подію Create Sparks. Справа клік по закладці Operators > Generator > Position Born, зробимо клік у центральному вікні. У налаштуваннях оберемо групу Sparks. Якщо ми рухаємо повзунок на панелі анімації, побачимо потік частинок.

3) Цей потік частинок зараз прив'язаний до об'єкта Thinking01, нам необхідно, щоб він не був фіксований і переміщався б у будь-якому напрямку за нашим бажанням. Для цього нам потрібний Помічник. Відкриємо закладку Helpers > Point > створимо цей об'єкт у вікнах проекції. У робочому вікні плагіна Thinking перейдемо на закладку Helpers > Standard > Node. Клік у центральному вікні. Натискаємо Pick Node і в будь-якому вікні проекції натисніть на об'єкт Point01

4) У центральному вікні зв'яжемо ці два об'єкти, потім для Position Born встановимо наступні налаштування (див. мал. нижче)

5) Далі необхідно створити певні умови для нашого потоку, зокрема, щоб вони не розліталися хаотично в різні боки, а наслідували якийсь певний напрямок, ми будемо використовувати такі об'єкти як Gravity і UDeflector, але для початку створимо новий Dynamic Set і назвемо його Sparks_Dynamics

6) Створимо Operators > Initiator > PPass. Виберемо групу Sparks.

7) Operators > Dynamics > StdForce. Об'єднаємо ці два об'єкти

8) У будь-якому вікні проекції створимо новий об'єкт Gravity01 стрілкою вниз (закладка Space Warps Forces & Gravity).

9) На верхній панелі натиснемо кнопку Bind to Space Warps і зв'яжемо Gravity01 з Thinking01

10) Відкриємо вікно Thinking, виділимо StdForce і переведемо об'єкт Gravity01 з неактивного списку активний, натиснувши кнопку Activate. У налаштуваннях Gravity01 встановимо Strength = 2,0

11) У вікні Top створимо примітив Plane 200x200

12) У вікні Thinking створимо UDeflector (Operators & Dynamics & UDeflector). Встановимо для нього параметр Bounce = 1,0

13) Створимо Node (Helpers & Standard & Not). Натискаємо Pick Node та робимо клік по об'єкту Plane01. Усі об'єкти пов'язуємо (див. мал. нижче).

За створеними нами умовами частки (іскри/Sparks) при зіткненні з поверхнею (Plane01) відскакуватимуть від неї.

14) Задамо колір іскор. Виділимо групу Sparks у верхньому вікні > Color, налаштуємо колір (на власний розсуд).

15) Створимо новий Dynamic Set і назвемо його Spark_Shape (тут будуть визначені умови для форми іскор).

16) Далі, Operators > Initiator > PPass. Групу встановимо Sparks.

17) Operators > Shape > Std Shape. Зв'яжемо об'єкти. Форму оберемо Cube.

18) При візуалізації ролика, внаслідокшвидкоплинність наші іскри матимуть вигляд точок і майже не будуть видні, тому змінимо їх форму, зробимо її витягнутою. Для цього ми створимо оператор і помічник. Створимо новий оператор Scale (Operators & Standard & Scale), зв'яжемо його зі Sparks. Зробимо клік правою кнопкою миші оператором Scale і виберемо ZScale (масштабування по осі Z).

19) Далі, закладка Helpers & gt; Standard > Float. Встановимо Value = 0,05. Зв'яжемо всі об'єкти, як на малюнку нижче.

20) Додамо швидкості частинкам. Перейдемо на оператор Sparks, клік правою кнопкою миші, поставимо галочку на Velocity

21) Орієнтуємо форму частинок у напрямку руху, для цього створимо ще один оператор Alignment (Вирівнювання). Встановимо Direction of Travel.

22) Якщо ми посуваємо повзунок анімації, то можемо бачити потік частинок, але якось не дуже цікаво, тому спробуємо ускладнити завдання. Спробуємо зробити імітацію зварювання, коли при дотику електрода з металом утворюється сніп іскор. Як електрод і метал у нас виступлять дві звичайні сфери (радіусом = 1,0). Створимо одну по центру помічника Point01 та назвемо її welding_machine (зварювальна машина), іншу сферу створимо поряд і назвемо pipe (труба). У робочому вікні Thinking01 перейдемо на рядок Create_Sparks і створимо два помічники Node (Helpers & Standard & Not) . Для одного натискаємо кнопку Pick Node та клік по сфері welding_machine, для іншого – сфера pipe.

Оскільки потік частинок у нас прив'язаний до помічника Point01, то і сферу welding_machine прив'яжемо до цього помічника, виділяємо welding_machine у ​​вікні проекції, на верхній панелі натискаємо кнопку Select and Link та утримуючи лев. кнопку миші наводимо курсор на об'єкт Point01, рухаємо сферу welding_machine, об'єкти повинні переміщатися разом.

23) Увімкнемо панель анімації (Auto Key). Створимо кілька ключових кадрів, у яких об'єкт welding_machine співпадає з об'єктом pipe.

24) Для здійснення задуманого, у вікні Thinking01 створимо ще один об'єкт Distance (Conditions & Standard & Distance). Встановлюємо Radius1 = 0,0; Radius2 = 3,0. Зв'язуємо всі об'єкти як на малюнку нижче.

25) Для частинок ми встановили тимчасовий колір, як варіант можна застосувати цей:

Поставимо для Self-Illumination Color=100. Перетягуємо створений матеріал у вікно Thinking01 (Spark_Shape - Std Shape)

26) Ще трохи ускладнимо завдання, зробимо так, що при зіткненні двох сфер включається джерело світла (omni), відповідно, коли сфери розведені, джерело світла вимикається. Створимо джерело світла Omni01 у будь-якому вікні проекції.

27) Тепер, можливо, вперше для вас, відкриємо Utilities > MAXScript > Open Listener

28) Звернімо увагу на два останні рядки ($. enabled = on; $. enabled = off). Тепер не закриваючи MaxScript, перейдемо в налаштування Omni01 і там де Light Type поставимо, знімемо галочку з On, одночасно дивимося на MAXScript, останній рядок повинен змінювати своє значення.

29) Дізнавшись цю особливість, йдемо у вікно налаштувань Thinking01 (в Create_Sparks) і створимо новий оператор MAXScript (Operators & Standard & MAXScript). У верхньому полі пропишемо $Omni01.enabled=on; у нижньому полі - $Omni01.enabled=off . Зв'яжемо оператор з Distance.

Посуваємо повзунок на панелі анімації та зможемо спостерігати бажані зміни.

30) У будь-якому вікні проекції натисніть правою кнопкою миші по об'єкту Thinking01 і виберемо Object Properties. Встановимо налаштування як на малюнку нижче.

31) Переходимо до налаштувань рендеру (кнопка F10). Виберемо рендер (Common & gt;Assign Renderer) finalRender stage-1.

32) Відкриємо закладку finalRender і встановимо налаштування як на малюнку нижче.

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