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.
Checking the stable version of the documentation...
Системи частинок (3D)
Цей розділ підручника охоплює (3D) системи частинок із прискоренням GPU. Більшість речей, які тут обговорюються, також стосуються частинок ЦП.
Вступ
Ви можете використовувати системи частинок для імітації складних фізичних ефектів, таких як вогонь, іскри, дим, магічні ефекти та багато іншого. Вони дуже добре підходять для створення динамічної та органічної поведінки та додавання «життя» вашим сценам.
Ідея полягає в тому, що частинка випромінюється через фіксований інтервал і з фіксованим часом життя. Протягом свого життя кожна частинка матиме однакову базову поведінку. Що робить кожну частинку відмінною від інших і створює органічний вигляд, так це випадковість, яку ви можете додати до більшості її параметрів і поведінки.
Кожна система частинок, яку ви створюєте в Godot, складається з двох основних частин: частинок і емітерів.
Particles
Частинка - це видима частина системи частинок. Це те, що ви бачите на екрані, коли активна система частинок: крихітні порошинки, полум’я вогню, сяючі кулі з магічним ефектом. В одній системі може бути від кількох сотень до десятків тисяч частинок. Ви можете рандомізувати розмір частинки, її швидкість і напрямок руху, а також змінювати її колір протягом її життя. Коли ви думаєте про вогонь, ви можете уявити всі маленькі вуглинки, що відлітають від нього, як окремі частинки.
Випромінювачі
Емітер - це те, що створює частинки. Випромінювачі зазвичай не видно, але вони можуть мати форму. Ця форма контролює, де і як породжуються частинки, наприклад, чи мають вони заповнювати кімнату, як пил, чи вилітати з однієї точки, як фонтан. Повертаючись до прикладу з пожежею, випромінювач — це тепло в центрі вогню, яке створює вугілля та полум’я.
Огляд вузла
Усі тривимірні вузли частинок доступні в Godot
У Godot існує два типи систем 3D-частинок: GPUParticles3D, які обробляються на GPU, і CPUParticles3D, які обробляються на CPU.
Системи частинок центрального процесора менш гнучкі, ніж їхні аналоги GPU, але вони працюють на більш широкому діапазоні апаратного забезпечення та забезпечують кращу підтримку старіших пристроїв і мобільних телефонів. Оскільки вони обробляються центральним процесором, вони не такі продуктивні, як системи частинок GPU, і не можуть відтворити стільки окремих частинок. Крім того, наразі вони не мають усіх доступних опцій керування частинками GPU.
Системи частинок GPU працюють на GPU та можуть відтворювати сотні тисяч частинок на сучасному обладнанні. Ви можете написати для них власні шейдери частинок, що робить їх дуже гнучкими. Ви також можете змусити їх взаємодіяти з навколишнім середовищем, використовуючи вузли атрактора та зіткнення.
Є три вузли атрактора частинок: GPUParticlesAttractorBox3D, GPUParticlesAttractorSphere3D і GPUParticlesAttractorVectorField3D. Вузол атрактора застосовує силу до всіх частинок, які знаходяться в його досяжності, і притягує їх ближче або відштовхує залежно від напрямку цієї сили.
Є кілька вузлів зіткнення частинок. GPUParticlesCollisionBox3D і GPUParticlesCollisionSphere3D є простими. Ви можете використовувати їх для створення базових форм, як-от ящиків, підлоги чи стіни, з якими стикаються частинки. Інші два вузли забезпечують більш складну поведінку при зіткненні. GPUParticlesCollisionSDF3D корисний, коли ви хочете, щоб сцени в приміщенні зіткнулися з частинками без необхідності створювати всі окремі коробчасті та сферічні колайдери вручну. Якщо ви хочете, щоб частинки стикалися з великими сценами на відкритому повітрі, ви повинні використовувати вузол GPUParticlesCollisionHeightField3D. Він створює карту висот вашого світу та об’єктів у ньому та використовує її для великомасштабних зіткнень частинок.