Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Властивості технологічного матеріалу

Властивості ParticleProcessMaterial

Min, max і властивості кривої

Властивості цього матеріалу визначають, як частинки поводяться та змінюються протягом свого життя. Багато з них мають значення Min, Max і Curve, які дозволяють точніше налаштувати їх поведінку. Відношення між цими значеннями таке: коли частинка породжується, властивість встановлюється випадковим значенням між Min і Max. Якщо Min і Max однакові, значення завжди буде однаковим для кожної частинки. Якщо також встановлено Криву, значення властивості буде помножено на значення кривої в поточній точці часу життя частинки. Використовуйте криву, щоб змінити властивість протягом життя частинки. Таким чином можна виразити дуже складну поведінку.

Примітка

This page covers how to use ParticleProcessMaterial for 3D scenes specifically. For information on how to use it in a 2D Scene see ParticleProcessMaterial 2D Usage.

час

Властивість Випадковість тривалості життя контролює, скільки випадковості застосовувати до часу життя кожної частинки. Значення 0 означає, що випадковості взагалі немає, і всі частинки живуть протягом однакового періоду часу, встановленого властивістю Lifetime. Значення «1» означає, що тривалість життя частинки абсолютно випадкова в діапазоні [0,0, Lifetime].

Прапори частинок

Властивість Align Y вирівнює вісь Y кожної частинки з її швидкістю. Увімкнення цієї властивості те саме, що встановлення властивості Transform Align на Y to Velocity.

Властивість Rotate Y працює з властивостями в групах Angle <#angle>__ і Angular Velocity <#angular-velocity>__ для керування обертанням частинок. Обертання Y має бути ввімкнено, якщо ви хочете застосувати обертання до частинок. Винятком є будь-яка частинка, яка використовує Стандартний матеріал, де для властивості Billboard встановлено значення Particle Billboard. У цьому випадку частинки обертаються навіть без увімкнення Rotate Y.

Якщо активовано властивість Вимкнути Z, частинки не рухатимуться вздовж осі Z. Чи буде це локальна вісь Z системи частинок чи світова вісь Z, визначається властивістю Local Coords.

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

Спаун

Форма викиду

Частинки можуть випромінюватися з однієї точки простору або таким чином, що вони заповнюють форму. Властивість Shape контролює цю форму. Точка є значенням за замовчуванням. Усі частинки випромінюються з однієї точки в центрі системи частинок. Якщо встановлено значення Сфера або Коробка, частинки випромінюють таким чином, що вони рівномірно заповнюють форму сфери або коробки. Ви повністю контролюєте розмір цих форм. Поверхня кулі працює як Сфера, але замість того, щоб заповнити її, усі частинки породжуються на поверхні сфери.

Прості форми випромінювання частинок

Частинки, що випромінюються з точки (ліворуч), у сфері (посередині) і в коробці (праворуч)

Кільцеподібна система частинок

Система частинок у формі кільця

Форма випромінювання кільце змушує частинки випромінюватися у формі кільця. Ви можете контролювати напрямок кільця, змінюючи властивість Ring Axis. Висота кільця контролює товщину кільця вздовж його осі. Радіус кільця і Внутрішній радіус кільця визначають ширину кільця та розмір отвору в середині. На зображенні показано систему частинок із радіусом 2 і внутрішнім радіусом 1,5, вісь спрямована вздовж глобальної осі Z.

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

Кут

Властивість Angle керує початковим обертанням частинки, як описано вище. Щоб реально вплинути на частинку, вам потрібно ввімкнути одну з двох властивостей: Rotate Y повертає частинку навколо осі Y системи частинок. Властивість Billboard у Standard Material, якщо для неї встановлено Particle Billboard, обертає частинку навколо осі, що вказує від частинки до камери.

Напрямок

Примітка

Однієї властивості Напрямок недостатньо, щоб побачити будь-який рух частинок. Будь-які значення, які ви встановите тут, набудуть чинності лише після встановлення властивостей швидкості чи прискорення.

Властивість Напрямок — це вектор, який контролює напрямок руху кожної частинки в момент її породження. Значення "(X=1,Y=0,Z=0)" призведе до того, що всі частинки рухатимуться вбік уздовж осі X. Для чогось на зразок фонтану, з якого частинки вилітають у повітря, значення (X=0,Y=1,Z=0) було б хорошою відправною точкою.

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

Різні значення напрямку: лише вісь Y (ліворуч), однакові значення для X і Y (посередині), X і Y із увімкненою силою тяжіння (праворуч)

Після встановлення напрямку ви помітите, що всі частинки рухаються в одному напрямку по прямій лінії. Властивість Spread додає деякі варіації та випадковість до напрямку кожної частинки. Чим вище значення, тим сильніше відхилення від початкового шляху. Значення 0 означає відсутність розповсюдження взагалі, тоді як значення 180 змушує частинки вилітати в усіх напрямках. Ви можете використовувати це для чогось на зразок уламків під час ефекту вибуху.

Різні значення для розповсюдження частинок

Без розвороту (ліворуч), кут 45 градусів (посередині), повні 180 градусів (праворуч)

Властивість Flatness обмежує поширення вздовж осі Y. Значення 0 означає відсутність обмеження, а значення 1 усуне всі рухи частинок вздовж осі Y. Частинки розповзуться абсолютно «плоско».

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

Початкова швидкість

Тоді як властивість Напрямок контролює напрямок руху частинки, Початкова швидкість контролює швидкість її руху. Він розділений на Velocity Min і Velocity Max, обидва встановлені на 0 за замовчуванням, тому спочатку ви не бачите жодного руху. Щойно ви встановите значення для будь-якої з цих властивостей, як описано вище <#process-material-properties>`__, частинки починають рухатися. Напрямок множиться на ці значення, тому ви можете змусити частинки рухатися у протилежному напрямку, встановивши від’ємну швидкість.

Прискорення

Тяжіння

Наступні кілька груп властивостей тісно співпрацюють, щоб контролювати рух і обертання частинок. Гравітація тягне частинки в напрямку, на який вона вказує, який за замовчуванням є прямим униз відповідно до сили тяжіння Землі. Гравітація впливає на всі рухи частинок. Якщо у вашій грі використовується фізика, а гравітація світу може змінюватися під час виконання, ви можете використовувати цю властивість, щоб синхронізувати гравітацію гри з гравітацією частинок. Значення Гравітації (X=0,Y=0,Z=0) означає, що жодна частинка не буде рухатися взагалі, якщо жодна з інших властивостей руху не встановлена.

Різні значення сили тяжіння частинок

Ліворуч: (X=0,Y=-9,8,Z=0), посередині: (X=0,Y=9,8,Z=0), праворуч: (X=4,Y=2,Z=0) ).

Кутова швидкість

Кутова швидкість контролює швидкість обертання частинки, як описано вище. Ви можете змінити напрямок, використовуючи від’ємні числа для Velocity Min або Velocity Max. Подібно до властивості Angle, обертання буде видно, лише якщо встановлено прапор Rotate Y або режим Particle Billboard вибрано в Standard Material.

Примітка

Властивість Damping не впливає на кутову швидкість.

Лінійне прискорення

Швидкість частинки є постійною величиною: якщо її встановити, вона не змінюється, і частинка завжди рухатиметься з однаковою швидкістю. Ви можете використовувати властивість Linear Accel, щоб змінювати швидкість руху за час життя частинки як описано вище. Додатні значення прискорять частинку та змусять її рухатися швидше. Від’ємні значення сповільнять його, поки він не зупиниться і не почне рухатися в іншому напрямку.

Різні значення лінійного прискорення частинки

Негативне (верхнє) і позитивне (нижнє) лінійне прискорення

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

Радіальне прискорення

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

Різні значення радіального прискорення частинок

Від’ємне (ліворуч) і позитивне (праворуч) радіальне прискорення

Тангенціальне прискорення

Дотичні до кола

Дотичні до кола

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

Давайте розпакуємо це.

Дотична до кола — це пряма лінія, яка «торкається» кола під прямим кутом до радіуса кола в точці дотику. Коло на площині XZ системи частинок — це коло, яке ви бачите, дивлячись на систему частинок зверху вниз.

Тангенціальне прискорення зверху

Тангенціальне прискорення зверху

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

Властивість Дотичне прискорення змусить частинки обертатися навколо центру системи частинок, але радіус постійно збільшуватиметься. Якщо дивитися зверху, частинки рухатимуться від центру по спіралі. Від’ємні значення змінюють напрямок.

В’язкість

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

Взаємодія атракторів

Якщо ви хочете, щоб система частинок взаємодіяла з атракторами частинок, вам потрібно перевірити властивість Enabled. Коли його вимкнено, система частинок ігнорує всі атрактори частинок.

Дисплей

Масштаб

Масштаб контролює розмір частинки як описано вище. Ви можете встановити різні значення для Scale Min і Scale Max, щоб рандомізувати розмір кожної частинки. Від’ємні значення не допускаються, тому ви не зможете перевертати частинки з цією властивістю. Якщо ви випускаєте частинки як рекламні щити, властивість Keep Size для Standard Material у ваших проходах малювання має бути ввімкнено, щоб будь-яке масштабування мало ефект.

Колір

Властивість Color керує початковим кольором частинки. Це матиме ефект лише після ввімкнення властивості Використовувати як альбедо у групі Колір вершини Стандартного матеріалу. Ця властивість доповнюється кольором, отриманим від власної властивості Колір або Текстура матеріалу частинки.

Рамп кольору частинок

Налаштування кольорової рампи

Є дві властивості Ramp у групі Color. Вони дозволяють визначити діапазон кольорів, які використовуються для встановлення кольору частинки. Властивість Color Ramp змінює колір частинки протягом її життя. Він переміщається по всьому діапазону кольорів, які ви визначили. Властивість Color Initial Ramp вибирає початковий колір частинки з випадкової позиції на кольоровій рампі.

Щоб налаштувати зміну кольору, клацніть поле поруч із назвою властивості та виберіть із спадного меню «Нова текстура градієнта1D». Клацніть на поле ще раз, щоб відкрити деталі текстури. Знайдіть властивість Gradient, клацніть поле поруч із ним і виберіть New Gradient. Клацніть на цьому полі ще раз, і ви побачите діапазон кольорів. Клацніть будь-де на цьому діапазоні, щоб вставити новий маркер. Ви можете переміщати маркер мишкою та видаляти його, клацнувши правою кнопкою миші. Коли маркер вибрано, ви можете скористатися палітрою кольорів поруч із діапазоном, щоб змінити його колір.

Варіація відтінку

Як і властивість Color, Hue Variation контролює колір частинки, але в інший спосіб. Це робиться не шляхом безпосереднього встановлення значень кольору, а шляхом зміщення відтінку кольору.

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

Він працює поверх поточного кольору частинки. Значення, які ви встановлюєте для Variation Min і Variation Max, визначають, наскільки дозволено змінювати відтінок у будь-якому напрямку. Більше значення призводить до більшої варіації кольорів, тоді як низьке значення обмежує доступні кольори найближчими сусідами оригінального кольору.

Різні значення для варіації відтінку

Різні значення для варіації відтінку, обидва рази з синім як базовим кольором: 0,6 (ліворуч) і 0,1 (праворуч)

Анімація

Група властивостей Animation контролює поведінку анімацій аркуша спрайтів у Standard Material частинки. Значення Min, Max і Curve працюють, як описано вище.

Анімований аркуш спрайтів — це текстура, яка містить кілька менших зображень, вирівняних у сітці. Зображення показуються одне за одним так швидко, що вони об’єднуються для відтворення короткої анімації, як фліпбук. Ви можете використовувати їх для анімованих частинок, таких як дим або вогонь. Ось кроки для створення анімованої системи частинок:

Аркуш спрайтів

Анімований спрайт диму розміром 8x8

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

  2. Налаштуйте систему частинок принаймні з одним проходом малювання та призначте Стандартний матеріал для сітки в цьому проході малювання.

  3. Призначте аркуш спрайтів властивості Текстура у групі Альбедо

  4. Встановіть властивість Billboard матеріалу на Particle Billboard. Це робить групу Particles Anim доступною в матеріалі.

  5. Встановіть H Frames на кількість стовпців, а V Frames на кількість рядків у аркуші спрайтів.

  6. Позначте Повтор, якщо ви хочете, щоб анімація постійно повторювалася.

Ось і все для стандартного матеріалу. Ви не побачите жодної анімації одразу. Ось тут і з’являються властивості Анімація. Властивості Швидкість контролюють швидкість анімації аркуша спрайтів. Установіть Speed Min і Speed Max на 1, і ви побачите відтворення анімації. Властивості Offset визначають, де починається анімація на щойно створеній частинці. За замовчуванням це завжди буде перше зображення в послідовності. Ви можете додати трохи різноманітності, змінивши Offset Min і Offset Max, щоб рандомізувати початкову позицію.

Анімовані частинки

Три різні системи частинок, що використовують той самий аркуш спрайтів диму

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

Примітка

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

\[Анімація\FPS = \frac{Кількість\зображень}{Тривалість}\]

Якщо ваш аркуш спрайтів містить 64 (8x8) зображення, а час життя частинки встановлено на 1 секунду, анімація буде дуже плавною зі швидкістю 64 FPS (1 секунда / 64 зображення). якщо тривалість життя встановлена на 2 секунди, вона буде досить плавною при 32 FPS. Але якщо частинка жива протягом 8 секунд, анімація буде помітно уривчастою при 8 FPS. Щоб знову зробити анімацію гладкою, вам потрібно збільшити швидкість анімації приблизно до «3», щоб досягти прийнятної частоти кадрів.

Час життя анімованих частинок

Одна і та сама система частинок за різний час життя: 1 секунда (ліворуч), 2 секунди (посередині), 8 секунд (праворуч)

Зауважте, що Fixed FPS вузла GPUParticles3D також впливає на відтворення анімації. Для плавного відтворення анімації рекомендується встановити значення 0, щоб частинка моделювалася на кожному відтвореному кадрі. Якщо це не підходить для вашого сценарію використання, установіть Фіксований FPS таким, щоб дорівнювати ефективній частоті кадрів, яку використовує анімація фліпбука (формулу див. вище).

Турбулентність

Турбулентність додає шум до руху частинок, створюючи цікаві та жваві візерунки. Поставте прапорець поруч із властивістю Ввімкнено, щоб активувати його. З’являється ряд нових властивостей, які контролюють швидкість руху, структуру шуму та загальний вплив на систему частинок. Ви можете знайти їх детальне пояснення в розділі turbulence частинок.

Зіткнення

Властивість Mode контролює, як і якщо випромінювачі стикаються з вузлами зіткнення частинок. Встановіть для нього значення Disabled, щоб вимкнути будь-які зіткнення для цієї системи частинок. Встановіть значення «Приховувати при контакті», якщо ви хочете, щоб частинки зникали, щойно вони стикаються. Встановіть для нього значення Constant, щоб частинки стикалися та відскакували. Ви побачите, що в інспекторі з’являться дві нові властивості. Вони контролюють поведінку частинок під час зіткнень.

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

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

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

Підвипромінювач

Режими субемітера

Доступні субемітерні режими

Властивість Mode контролює, як і коли створюються суб-випромінювачі. Установіть для нього значення Disabled, і жодні суб-випромінювачі ніколи не створюватимуться. Встановіть значення Constant, щоб субвипромінювачі з’являлися постійно з постійною швидкістю. Властивість Frequency контролює, як часто це відбувається протягом однієї секунди. Встановіть режим на Наприкінці, щоб субемітер породжувався в кінці життєвого циклу батьківської частинки, безпосередньо перед її знищенням. Властивість Amount At End контролює, скільки суб-випромінювачів буде створено. Встановіть режим «При зіткненні», щоб під час зіткнення частинки з навколишнім середовищем з’являлися субвипромінювачі. Властивість Amount At Collision контролює, скільки суб-випромінювачів буде створено.

Коли ввімкнено властивість Keep Velocity, щойно створений суб-випромінювач починає зі швидкістю батьківської частинки на момент створення суб-випромінювача.

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