Як зробити червоний вогонь

Як зробити червоний вогонь

Як зробити червоний вогонь



Система частинок в Unity для смолоскипу



Частинки також надають достовірності ігровим сценам. Вони можуть стати основою ревущого багаття або світлових ефектів заклинань чарівника. Крім того, вони можуть бути використані для створення диму, пилу, вибухів і навіть веселки!



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



Unity дозволяє легко створювати системи часток. Unity використовує потужну модулярну систему частинок під назвою Shuriken, що неважко вивчити, і яка дозволяє створювати складні ефекти.



У цьому уроці ви дізнаєтеся таке:





  • Як додати нову систему частинок у Unity.


  • Що роблять модулі систем часток, що найчастіше використовуються, а також те, як їх використовувати.




Початок роботи з частинками в Unity



Завантажте стартовий проект і розпакуйте у зручному місці. Ви будете використовувати його як відправну точку.



Цей підручник і двох основних частин; у першій, ви створюватимете полум'я для факела, а у другій - ефект вибуху бомби.



Відкрийте Starter Project в Unity з розсортованими всередині по наступним папкам ассетами:



Materials Містить матеріал вогню. Models Містить моделі факела та бомби та їх матеріали. Prefabs префаб бомби. Scenes Містить сцени з факелом та бомбою. Scripts Містить скрипти. Textures Містить текстуру для вогню.



Додавання системи частинок



Система частинок випромінює частинки випадковим чином у межах заздалегідь визначеного простору, який може мати форму кулі або конуса. Система визначає термін служби самої частки і після закінчення цього часу життя руйнує частинку.Приємною особливістю систем частинок є те, що є компонентами, які можна додати до будь-якого ігрового об'єкта (GameObject) в сцені.



Відкрийте сцену Torch а вікні Project і запустіть сцену:



Ми бачимо ліхтар на стіні, але ніякого вогню немає. Спочатку нам потрібно додати систему частинок. Виберіть TorchFireParticles у Ієрархії. Усередині Інспектора натисніть кнопку Add Component, знайдіть Particle System і натисніть кнопку, щоб додати її:



Можливо, ви помітили, що ми не додали систему частинок безпосередньо до ігрового об'єкта факелу. Це тому, що частинки будуть випромінюється з середини факела, а не з паливного контейнера у верхній частині.



Запустіть сцену і ви побачите, що у вас є частинки, що випромінюються:



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



При виборі ігрового об'єкта (GameObject) із прикріпленою системою частинок, ви побачите чорне діалогове вікно у нижньому правому куті вікна Сцени (Scene view). Це діалогове вікно дає можливість моделювати або зупинити систему частинок. Клацніть на кнопці Simulate (Змоделювати) активізує вашу систему частинок та змінить кнопку на кнопку Pause (Пауза). Щоб зупинити моделювання, натисніть кнопку Stop (Стоп).



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



Пильний погляд на систему частинок



Погляньте на вкладку Інспектор, і Ви помітите, що в ній з'явився компонент системи частинок, який має декілька підрозділів:



Кожен із цих підрозділів називається Модулем.Ці модулі містять параметри системи частинок. Модуль, що відкривається за замовчуванням – модуль Main module:



Головний модуль – основа будь-якої системи частинок у Unity. Найбільш поширені параметри частинок:



Тривалість часу, протягом якого буде працювати система. Залишіть значення за промовчанням 5.00 . Looping



Якщо увімкнено, система почне свою роботу в місці завершення свого duration циклу та почне все заново.



Увімкнено (ліворуч) та вимкнено (праворуч)



Вогонь повинен горіти безперервно, тому залишимо включеним.



Prewarm Якщо увімкнена, система буде ініціалізована так, ніби вона вже пройшла через весь цикл своєї роботи. Працює тільки коли Looping також увімкнено. Увімкнено (ліворуч) та вимкнено (праворуч)



Для нашого полум'я залишимо його вимкненим, щоб смолоскип виглядав щойно запаленим.



Start Delay Затримка за секунди до запуску системи випромінювання частинок після її включення. Залишіть значення за промовчанням 0 . Start Lifetime



Початкова тривалість життя частинок.



Вгорі: 8 сек., вгорі: 3 сек.



Встановіть тривалість 1.2 секунди, щоб полум'я не було занадто високим.



Початкова швидкість кожної частки у відповідному напрямі. Чим більша швидкість частинок, тим більше поширення вони отримають.



Встановіть швидкість, що дорівнює 0.75. Це зробить полум'я щільнішим.



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



Спецефект, що вийшов, виглядає досить круто, але нагадує швидше пар, дим, але ніяк не вогонь.Вже зараз ви можете порадіти своїм успіхам, але приготуйтеся до наступної партії налаштувань основного модуля! :]



Додаткові властивості основного модуля



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



Виберіть ігровий об'єкт TorchFireParticles ієрархії і прокрутіть вниз до системи частинок, якщо вона ще не відкрита. Погляньте на наступні властивості під Main Module (Головний модуль):



Початковий розмір кожної частки.



Встановіть розмір частинки 0.25; це керований розмір, що дозволяє побачити окремі частинки чіткіше.



Початковий кут повороту кожної частки.



Зробіть початковий кут повороту рівним 0 °, оскільки нашу частинки мають круглу форму, так що ви навряд чи помітите різницю.



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



Масштабування значення гравітації у менеджері фізики (physics manager). Значення, що дорівнює 0, призведе до відключення гравітації.



Зображення вище взято із системи зі значенням Модифікатора Гравітації, рівним 1 завдяки якому частинки летять вниз як вода у водоспаді. Залишимо цей параметр на 0; частинки будуть рухатися вгору зі швидкістю, заданою в Start Speed.



Запускає частинки з тією самою швидкістю velocity як і система частинок. Працює лише тоді, коли до системи частинок додано Rigidbody.



Залишіть Inherit Velocity рівної 0, оскільки для створення ефекту вогню вона нам не знадобиться.



Вказує щодо якої із систем координат (с.к.) мають розпочати свій рух частинки? Локальній (і як наслідок рухатися разом із самими об'єктом) чи світовою?



Угорі: локальна с.к., внизу: світова с.к.



Виберіть Local Space (Локальна система координат). Ефект буде помітний лише при переміщенні системи частинок.



Play On Awake Чи починає система автоматично працювати в момент створення об'єкта?



Максимальна кількість частинок, що одночасно знаходяться в системі, будуть видалені, коли буде досягнуто межу їх життєвого циклу.



Це був досить значний список, але в результаті ви дізналися, як додати систему частинок до сцени і як налаштувати її на свій смак. Запустіть сцену ще раз, щоб побачити ефект від внесених змін:



Виглядає все більше і більше схоже на вогонь, правда? emission of the system.



Введення в модуль Emission (Emission Module)



Модуль Emission є одним з найбільш важливих модулів у системах частинок Unity. Він обробляє число і час випромінювання частинок у системі, щоб створити безперервний потік або раптовий викид частинок залежно від ваших потреб. Emission:



Вкладка модуля розкриється і дасть можливість задати значення:



Rate є кількість частинок випромінюваних за одиницю часу (Time), або пройденого шляху (Distance). Ви можете перемикатися між цими двома режимами, клацнувши на полі зі списком та вибравши потрібний режим:



Залишіть налаштування в Time та зміните Rate на 50 . Запустіть сцену знову:



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



Додавання користувацьких текстур



Усі частинки мають матеріал та текстуру, які визначають їхній вигляд. Є багато варіантів, які можна зробити зі стандартною текстурою. Змінюючи текстури, ви можете створювати такі ефекти як чарівні зірки, дим і, звичайно ж, вогонь.



Змінювати текстуру часток досить легко. До цих пір частинки були намальовані на екрані за допомогою матеріалу Default-Particle який є матеріалом частинок із круговою градієнтною текстурою:



Щоб змінити матеріал, виберіть ігровий об'єкт TorchFireParticles всередині Ієрарархії. Потім знайдіть компонент системи частинок в Інспекторі та відкрийте модуль Renderer системи частинок.



Відкрийте папку Materials у вікні проекту та перетягніть FireMaterial Material у властивість Material:



Тепер запустіть сцену, щоб побачити вашу користувальницьку текстуру в дії:



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



Зміна форми системи частинок



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



Розгорніть модуль Shape в Інспекторі:



Форма shape вашої системи частинок встановлена ​​як конусоподібна (cone), що означає, що частинки з'являються в основі (base) і рухаються із заданим кутом (angle).



У наведеному вище прикладі, основа забарвлена ​​у синій колір, кут – зелений, а частинки – червоні. Зверніть увагу на те, що поки у вас відкритий модуль форм (Shape Module), вам доступний зручний перегляд створюваного конуса:



Зміна кута Angle змінює і розмір конуса, роблячи його ширшим чи вже. Встановіть його значення рівним 10 і ви отримаєте хороший щільний вогонь, який трохи розширюється в міру зростання частки.



Зміна радіусу Radius змінює розмір основи; чим вище значення, тим більше частки розкидатимуться з появою. Встановіть це значення 0.2 ; це забезпечить те, що вогонь виходитиме з потрібного місця на смолоскипі.



Запустіть вашу сцену і подивіться, як змінилася форма полум'я:



Це вже схоже на справжній вогонь! Завершальним штрихом є зміна розміру частинок протягом життя.



Зміна розміру з часом



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



Знайдіть Size over Lifetime у списку модулів систем частинок. На відміну від попередніх модулів, він за замовчуванням вимкнено. Натисніть на прапорець поруч із ім'ям модуля, щоб увімкнути його:



Відкрийте модуль Size over Lifetime, клацнувши за його назвою. Відкриється темно-сіре віконце з плоскою лінією нагорі:



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



Ви можете переміщати ключі на обох кінцях червоної лінії для редагування кривої. Ви також можете додати додаткові ключі, двічі клацнувши у будь-якому місці на кривій. Щоб видалити ключі, клацніть правою кнопкою миші на ключ, щоб видалити та виберіть Delete Key.



Ви можете також вибрати одну з встановлених кривих в нижній частині:



Щоб зробити вогонь більш схожим на справжній, виберіть третю праворуч налаштування, щоб створити лінію, що йде вниз:



Запустіть сцену, щоб побачити свій ефект у всій своїй вогненній славі!



Якщо ви працювали в основній формі з Animations, давайте тепер подивимося, як можна створити реалістичні тремтячі тіні! Як створити тремтячі тіні? Дуже просто:





  1. Вимкніть Directional Light (Спрямоване світло) у Ієрархії.


  2. Додати Point Light (Точкове світло) до центру частинок полум'я (0, 0, 4).


  3. Зробіть Color (Колір) злегка помаранчевим (HEX-значення FFC68AFF).


  4. Встановіть Range (Діапазон) у 50 .


  5. Встановіть Intensity (Інтенсивність) 3 .


  6. Додати Animation і збережіть її десь у папці Assets.


  7. Надайте анімацію Animation, яку ви щойно створили, до Point Light.


  8. Відкрийте Animation Window.


  9. Виберіть Point Light (Точкове світло).


  10. Встановіть Shadow Type в Hard Shadows.


  11. Встановіть Samples у 50 .


  12. Через кожні кілька кадрів додавайте ключовий кадр keyframe і злегка рухайте Point Light (точкове світло) по осях X і Y. Немає жодних стандартів та норм, просто спробуйте підібрати максимально реалістичні параметри.


  13. Запустіть сцену.




Ось що приблизно повинно вийти:



Мої вітання! Ви дізналися як створити нову систему частинок і підкорили її своїй волі, роблячи красивий ефект палаючого вогню у факелі. Зробіть перерву, а потім поверніться, щоб навчитися створювати ефекти вибуху в Unity!



Як змішати кольори для отримання рожевого



Співавтор(и): Jeanine Hattas Wilson. Жанін Хаттас Вілсон – професійна художниця та президент компанії Hattas Public Murals, Inc.Має близько 20 років досвіду, спеціалізується на створенні, дизайні, контролі та практичному втіленні розписів стін. Здобула ступінь бакалавра за спеціальністю «Реклама» в Університеті Маркетта та диплом зі студійного живопису в Інституті мистецтв та дизайну Мілуокі. Навчалася в Atelier Artien у Парижі (Франція), Лос-Анджелесській академії фігуративного мистецтва, а також у таких відомих художників, як Роберт Лібераче, Майкл Сігел та Вільям Кокрен. На сьогоднішній день Hattas Public Murals створила на замовлення близько 5000 розписів як у будинках, так і у комерційних та громадських просторах.



Кількість джерел, використаних у цій статті: 7. Ви знайдете їх список унизу сторінки.



Кількість переглядів цієї статті: 192603.



Related

Категорії