Статьи

3D Studio MAX: перші кроки. Урок 16. Системи частинок. Частина 1

  1. вибух геосфери
  2. Рухомий косяк риби

Світлана Шляхтина

теоретичні аспекти

Spray

вогні феєрверку

різнокольорове конфетті

зливовий дощ

Snow

снігопад

Кружляють кленове листя

РАrrау

вибух геосфери

Рухомий косяк риби

Система частинок РАrrау (Масив частинок) - довільна множина частинок, які можуть розподілятися на поверхні об'єктів певним чином і дозволяють імітувати вибухи і скупчення об'єктів. Принциповою відмінністю даної системи від розглянутих вище є можливість визначення геометричного об'єкта, який буде вести себе як емітер, тобто випускати частинки. Однак це буде лише віртуальний джерело частинок - справжнім джерелом є реальний емітер, який генерує частинки відповідно до визначених для них параметрами, але, на відміну від розглянутих вище систем частинок Spray і Snow, ніяк не впливає на них своїм місцезнаходженням, напрямком або розміром.

Створіть систему частинок РАrrау і довільний об'єкт, який буде використовуватися в якості віртуального емітера, наприклад звичайну геосферу (рис. 39). Запустіть анімацію - ніяких частинок генеруватися поки не буде, так як віртуальний катод не вказано. У свиті Basic Parameters клацніть на кнопці Pick Object і вкажіть геосферу. Натисніть кнопку Play на панелі анімації - частинки тут же з'являться, причому вони будуть вилітати не з реального РАrrау-емітера, а з замінної його геосфери (рис. 40).

40)

Мал. 39. Вихідні об'єкти - геосфера і РАrrау-джерело

Мал. 40. Вид проекцій з РАrrау-частинками в одному з проміжних кадрів

За настройку параметрів РАrrау-частинок відповідає ціла група сувоїв:

  • Basic Parameters - визначає базові параметри частинок: розмір емітера (Icon Size), спосіб розміщення частинок над поверхнею (Particle Formation), варіант відображення їх у вікнах проекцій (Viewport Display) і т.д .;
  • Particle Generation - регулює параметри виникнення частинок: кількість частинок, що з'являються в одному кадрі (Use Rate), загальне число частинок, що створюються за весь час життя системи (Use Total), швидкість / розкид один щодо одного / кут розбіжності (Speed / Variation / Divergence ), момент появи / зникнення (Emit Start / Emit Stop), тривалість життя (Life), розмір (Size) і т.п .;
  • Particle Type - встановлює тип частинок;
  • Rotation and Collision - управляє обертанням частинок (швидкістю обертання - Spin Speed Controls і віссю обертання - Spin Axis Controls) і зіткненнями між ними (Interparticle Collisions);
  • Object Motion Inheritance - дозволяє управляти рухом частинок за допомогою переміщення емітера, визначаючи відсоток частинок, які успадкують рух об'єкта-емітера в момент формування частинок (Influence), регулюючи силу, з якою рух емітера впливає на частки (Multiplier) і встановлюючи відсоток випадкового зміни параметра Multiplier (Variation);
  • Bubble Motion - відповідає за створення ефекту похитування частинок при їх руху (даний ефект має місце, наприклад, при піднятті бульбашок повітря на водну поверхню) за допомогою таких параметрів, як пройдене часткою відстань (Amplitude), часовий період проходження одного коливання бульбашкового хвилі (Period) , початкове зміщення бульбашкового візерунка вздовж вектора (Phase) та ін .;
  • Particle Spawn - визначає поведінку частинок, які пережили зіткнення або смерть;
  • Load / Save Presets - дозволяє зберігати / завантажувати параметри налаштування частинок для подальшого використання даних налаштувань в інших системах частинок.

Розберемося з деякими базовими настройками параметрів частинок безпосередньо на прикладі створеної вище РА rrау-системи. Збільште число частинок, встановивши параметр Use Rate (сувій Particle Generation) рівним 100 (рис. 41). Теоретично кількість частинок може здаватися і через параметр Use Total, але частіше за все він використовується для імітації потоку частинок, що рухаються без сліду, в той час як параметр Use Rate оптимальний для створення потоку частинок, що залишають слід. Треба збільшити розмір часток до 5 (параметр Size в свиті Particle Generation) - на зовнішньому вигляді частинок в вікнах проекцій це ніяк не позначиться, оскільки за замовчуванням вони відображаються у вигляді хрестиків (варіант Ticks в свиті Basic Parameters), однак буде помітно при візуалізації (рис . 42).

42)

Мал. 41. Результат збільшення числа частинок

Мал. 42. Вид сцени з вихідним (зліва) і збільшеним розміром частинок

Частинки можуть визуализироваться по-різному залежно від типу, до якого належать, - установка типу виробляється в свиті Particle Type. За замовчуванням частки мають тип Standart Particles, а тому можуть відображатися у вигляді трикутників (Trangle), шестикутників (SixPoint), кубів (Cube), прямокутників (Facing), тетраедрів (Tetra), сфер (Sphere) і т.д. (Рис. 43).

Мал. 43. Варіанти відображення частинок типу StandartParticles - у вигляді шестикутників (зліва) і кубів

В якості інших типів частинок передбачені типи (рис. 44):

  • MetaParticles (Метачастіци) - кожна частка при візуалізації замінюється мета-сферою (metaball), в результаті чого частинки зливаються один з одним на кшталт реальних водяних крапель;
  • Object Fragments (Фрагменти об'єкта) - частинки відображаються у вигляді фрагментів об'єкта, що вилітають з його поверхні, що дозволяє створювати імітацію вибуху чи іншого руйнування об'єкта;
  • Instanced Geometry (Геометрія зразка) - частинки успадковують властивості деякого об'єкта сцени, взятого в якості зразка, тому системи таких часток використовуються для імітацій скупчень деяких об'єктів (зграя птахів, косяк риб і т.п.).

Мал. 44. Інші варіанти відображення частинок - MetaParticles (зліва), ObjectFragments (в центрі), InstancedGeometry (праворуч)

Встановіть тип частинок Object Fragments, зменшіть швидкість переміщення частинок до 1, а тривалість життя кожної частки збільште до 100, відповідним чином змінивши параметри Speed і Life в свиті Particle Generation, і візуалізують всі кадри анімації. Частинки виявляться представленими окремими плоскими фрагментами об'єкта, які почнуть повільно відпливати від об'єкта в різні боки, а об'єкт, незважаючи на подібне руйнування, буде залишатися цілим і неушкодженим (рис. 45). Тому виділіть геосферу і сховайте її (команда Hide Selection з контекстного меню), а для додання товщини її осколкам встановіть для параметра Thickness значення 5 (сувій Particle Type) - рис. 46. ​​Як видно з анімації, частинки-фрагменти при русі не змінюють площині, в якій спочатку були розташовані, а тому їх анімація на руйнування об'єкта (наприклад, в результаті вибуху) не схожа. Для виправлення ситуації збільште розкид частинок один щодо одного і кут розбіжності часток (параметри Variation і Divergence в свиті Particle Generation), а також значення швидкості розкиду часток (Speed) приблизно до 5 (рис. 47). В результаті геосфера стане розсипатися на шматки, що розлітаються випадковим чином (рис. 48). Збережіть створену анімацію - трохи пізніше вона нам буде потрібно.

Мал. 45. Відкидання плоских фрагментів від об'єкта (об'єкт бачимо)

Відкидання плоских фрагментів від об'єкта (об'єкт бачимо)

Мал. 46. Відкидання об'ємних фрагментів від об'єкта (об'єкт невидимий)

Мал. 47. Налаштування параметрів розкиду часток

Налаштування параметрів розкиду часток

Мал. 48. Вид розлітається на шматки геосфери в одному з проміжних кадрів

За замовчуванням частки розміщуються над поверхнею об'єкта безладно (включений варіант Over Entire Surface в свиті Basic Parameters), однак для частинок типів Standard Particles і MetaParticles можливі й інші варіанти, коли частинки розташовуються:

  • по видимим ребрах об'єкта - Along Visible Edges;
  • по всіх вершин - At All Vertices;
  • в окремих точках - At Distinct Points;
  • в центрах граней - Face Centers.

Для того щоб більш наочно побачити різницю між вищеназваними варіантами розміщення частинок, створіть нову сцену з кубом і системою РА rrау-частинок і вкажіть куб в якості віртуального емітера. Зменшіть швидкість часток до 1 і збільшить розмір до 5 (параметри Speed і Size в свиті Particle Generation), а в свиті Particle Type для частинок типу Standard Particles виберіть варіант Sphere. Потім в якості варіанту розміщення спочатку встановіть в свиті Basic Parameters метод Along Visible Edges, а потім - At All Vertices, кожен раз проводячи рендеринг, - в результаті частинки будуть вилітати не безладно, а строго з ребер або з вершин куба відповідно (рис. 49 ).

49 )

Мал. 49. Вид сцени в проміжному кадрі анімації: варіант AlongVisibleEdges (зліва), AtAllVertices (праворуч)

вибух геосфери

Скористаємося збереженої анімацією для створення імітації вибуху геосфери. Поки отриманий варіант часток, що розлітаються геосфери на вибух мало схожий хоча б тому, що геосферу ми приховали (інакше вона залишалася б на екрані неушкодженою, незважаючи на появу розлітаються з неї осколків), а вона повинна бути видна в декількох початкових кадрах і лише потім повинна зникнути . Безпосередньо анімувати її видимість не вийде, проте це можливо через редактор дескрипторів Dope Sheet. Для відкриття редактора виберіть з меню Graph Editor (Редактор графів) команду Track View - Dope Sheet. Підсвітите в його лівій частині об'єкт GeoSphere 01 і створіть трек видимості, застосувавши команду Track s => Visibility Track => Add (рис. 50). У списку параметрів об'єкта з'явиться додатковий рядок Visibility - виділіть її, активуйте інструмент Add Keys (Створити ключі) і клацніть в довільному місці рядка треку видимості. За замовчуванням значення даного ключа дорівнює 1 у всіх кадрах, а значить, об'єкт завжди бачимо. Активуйте створений ключ і в нижніх полях введення вкажіть для нього номер кадру, в якому об'єкт повинен пропадати, і значення 0 (рис. 51) - в результаті об'єкт буде самостійно зникати при початку його розриву на окремі фрагменти. Додатково створіть ключ в 0-м кадрі і встановіть його рівним 1, щоб в початкових кадрах анімації сфера залишалася видимою.

Додатково створіть ключ в 0-м кадрі і встановіть його рівним 1, щоб в початкових кадрах анімації сфера залишалася видимою

Мал. 50. Створення треку видимості

Мал. 51. Визначення параметрів ключа видимості

Для того щоб вибух об'єкта виглядав більш реально, бажано підібрати геосфері і частинкам відповідні матеріали. В даному випадку для геосфери використано текстуроване зображення, а для частинок - стандартний матеріал з червоним кольором на каналі Diffuse і великим значенням Specular Level. У самій геосфері потрібно зімітувати ефект горіння на початковій стадії вибуху, чого можна домогтися за допомогою атмосферного ефекту Fire Effect. Для створення такого ефекту скористайтеся командою Rendering => Environment (Візуалізація => Оточення), на вкладці Atmosphere (Атмосфера) клацніть на кнопці Add (Додати) і виберіть ефект Fire Effect. Перейдіть на панель Create => Helpers, виберіть на ній рівень Atmospheric Apparatus і створіть сферичний Гизмо SphereGizmo. Додайте Гизмо всередині сфери і відрегулюйте його розмір так, щоб він був трохи менше сфери. В області Fire Effect Parameters вікна Environment and Effects клацніть на кнопці Pick Gismo (Вказати Гизмо) і вкажіть створений допоміжний об'єкт на будь-якому з видових екранів. Налаштуйте параметри ефекту відповідно до рис. 52. У групі Explosion клацніть на кнопці Setup Explossion і встановіть початок і кінець вибуху (рис. 53).

Мал. 52. Налаштування параметрів ефекту Fire Effect

Налаштування параметрів ефекту Fire Effect

Мал. 53. Встановлення часу початку і кінця вибуху

Після додавання ефекту горіння доведеться скорегувати процес розкидання частинок в ході вибуху - в даному випадку виявилося досить змінити момент появи частинок в сцені (параметр Emit Start в свиті Particle Generation) - рис. 54. У результаті буде отримана досить реалістична анімація вибуху, коли геосфера спочатку починає світитися, а потім розлітається на безліч розносяться в різні боки осколків (рис. 55).

Мал. 54. Коригування часу початку появи частинок

Коригування часу початку появи частинок

Мал. 55. Окремі кадри анімації вибуху

Рухомий косяк риби

Нехай у нас є зразок деякого об'єкту, наприклад риби (рис. 56), на основі якого потрібно згенерувати групу однотипних об'єктів - косяк риби. Завантажте об'єкт-зразок, створіть систему РА rrау-частинок і циліндр, призначте циліндр віртуальним емітером, клацнувши в свиті Basic Parameters на кнопці Pick Object, а потім на циліндрі (рис. 57). У свиті Particle Type спочатку встановіть тип частинок Instanced Geometry, а потім клацніть на кнопці Pick Object і задайте об'єкт-зразок. Після цього зменшіть кількість частинок, що з'являються в одному кадрі, до 1 (в іншому випадку риб буде занадто багато), а сам розмір часток - до 1 (параметри Use Rate і Size в свиті Particle Generation). Візуалізують один з проміжних кадрів і побачите, що кожна частка виявиться заміненої на зразок риби, при цьому всі частинки будуть дислокуватися в районі циліндра, що грає роль віртуального емітера (рис. 58).

58)

Мал. 56. Зразок риби

Мал. 57. Вихідні об'єкти анімації

Вихідні об'єкти анімації

Мал. 58. Первісний вигляд косяка риби

Область розподілу часток-зразків можна коригувати, керуючи формою і розміром віртуального емітера, - досить, наприклад, зменшити висоту циліндра (що грає роль віртуального емітера) і частки будуть розташовуватися більш купчасто або спотворити його форму деформуючим модифікатором (Bend, Ripple і т.п. ), що також призведе до передислокації частинок (рис. 59).

59)

Мал. 59. Зміна розміщення частинок в результаті масштабування циліндра (зліва) і деформування його модифікатором Ripple (праворуч)

Утворені в результаті спадкування за законом Instanced Geometry об'єкти можуть бути анімовані за допомогою анімації об'єкта-зразка - характер анімації у зразка і побудованих на його основі частинок буде ідентичний. Для прикладу активуйте перший кадр, включіть режим автоматичного створення ключів, перейдіть в останній кадр і перемістіть зразок довільним чином, вимкніть режим автоматичного створення ключів. Після візуалізації всіх кадрів ви зможете переконатися, що косяк риби рухається разом з об'єктом-зразком. Після закінчення сховайте віртуальний катод (команда Hide Selection з контекстного меню), призначте зразком і створеним у ній частинкам відповідний матеріал і помістіть створену групу риб у водне середовище. Для створення подібної середовища в даному випадку була використана Path-сітка (Create => Geometry => Path Grids => Quad Patch), оброблена модифікатором Noise, і текстура води (рис. 60), яка була встановлена як фон і додатково призначена напівпрозорої сфері , виставленої на передньому плані і призначеної для створення ілюзії знаходження риб в товщі води (рис. 61). Можливий вид одного з проміжних кадрів отриманої в результаті анімації представлений на рис. 62.

62

Мал. 60. Текстура води

Мал. 61. Остаточних вид сцени у вікнах проекцій

Остаточних вид сцени у вікнах проекцій

Мал. 62. Рухомий косяк риб

Рухомий косяк риб

КомпьютерПресс 5'2007

Новости