Использование системы частиц Qt Quick
Документацию по всем типам систем частиц можно найти на странице модуля QtQuick.Particles.
Обратите внимание, что для использования типов из модуля частиц вам необходимо импортировать типы с помощью следующей строки:
import QtQuick.Particles 2.0
Система частиц
Эта система частиц содержит четыре основных типа QML: ParticleSystem, Рисовальщики, Источники и Влияния.
Тип ParticleSystem связывает все остальные типы и управляет общей временной шкалой. Рисовальщики, Источники и Влияния должны все иметь один и тот же ParticleSystem, чтобы взаимодействовать друг с другом.
Вы можете иметь любое количество систем частиц, при условии этого ограничения. Поэтому логически следует иметь одну систему частиц для всех типов, которые вы хотите взаимодействовать, или только одну, если количество типов невелико и их легко контролировать.
Логические частицы
Все типы систем частиц действуют на «логические частицы». Каждая частица имеет логическое представление внутри системы частиц, и именно на него действуют типы. Не каждая логическая частица должна визуализироваться, и некоторые логические частицы могут привести к отображению на экране нескольких визуальных частиц.
Группы частиц
Каждая логическая частица является членом группы частиц, и каждая группа идентифицируется именем. Если не указана никакая другая группа, логическая частица принадлежит группе с именем «» (пустая строка), которая ведет себя так же, как любая другая группа. Группы используются для двух целей: для управления частицами и потому, что они могут иметь стохастические переходы состояния.
Группы управляют частицами, потому что вы никогда не можете получить доступ к отдельной частице с помощью любого из типов систем частиц. Все типы действуют на группы в целом, и поэтому любые частицы, которые должны вести себя по-разному (кроме обычного стохастического изменения параметров), должны находиться в разных группах.
Частицы также могут динамически изменять группы. Когда это происходит, траектория частиц не изменяется, но на нее могут повлиять различные рисовальщики частиц или влияния. Частицы могут изменить свою группу с помощью влияния, или стохастические переходы состояния могут быть определены в типе ParticleGroup.
В общем случае, группы должны быть определены только в ParticleGroup, если они требуют стохастических переходов состояния. В противном случае достаточно, чтобы группы были определены просто строками, используемыми в свойствах частицы/частиц типов.
Источники
Источники генерируют логические частицы в системе. Эти частицы имеют траекторию и срок жизни, но без визуализации. Эти частицы испускаются из местоположения источника.
TrailEmitters — это особый тип источника, который испускает частицы из местоположения других логических частиц. Любая логическая частица соответствующего типа в пределах TrailEmitter вызовет испускание частиц из ее местоположения, как будто на ней есть источник с такими же свойствами, как у TrailEmitter.
Рисовальщики частиц
Рисовальщики — это типы, которые визуализируют логические частицы. Для каждой логической частицы в группах, назначенных ей, которые находятся в пределах ее границ (или за пределами, если вы не задаете свойство обрезки для типа), она будет визуализироваться способом, зависящим от типа ParticlePainter. Базовый тип ParticlePainter ничего не рисует. ImageParticle рендерит изображение в месте частицы. CustomParticle позволяет вам написать собственные шейдеры для рендеринга частиц, передавая состояние логической частицы как данные вершин. ItemParticle позволяет визуализировать логические частицы с помощью произвольных QML делегатов. ModelParticle аналогично, но координирует данные модели среди делегатов аналогично классам представления.
Поскольку ParticlePainter является типом QML, визуализирующим частицы в сцене, важно его значение Z, когда вы пытаетесь разместить частицы над или под другими типами визуально.
Влияния
Влияния — это необязательная компонента системы частиц. Они могут выполнять различные манипуляции со симуляцией, например, изменять траекторию частиц или преждевременно завершать их жизнь в симуляции. По соображениям производительности рекомендуется не использовать влияния в системах частиц с высокой загрузкой.
Стохастические параметры
Поскольку системы частиц выигрывают от стохастического управления параметрами большого числа экземпляров, система частиц использует несколько стохастических вспомогательных типов. Если вы не хотите, чтобы эти параметры имели стохастические изменения, не указывайте никаких изменений в этих типах.
Направления
Направления могут быть заданы углом и величиной или x и y компонентами. Хотя любое направление можно задать любым методом, существует значительная разница между изменением x и y компонент и изменением угла и величины. Изменение x и y компонент приведет к прямоугольной области вокруг заданной точки, в то время как изменение угла приведет к дуге, центрированной в заданной точке.
Фигуры
Система частиц содержит несколько типов, представляющих фигуры. Эти типы не визуализируют фигуры и используются для выбора случайной точки внутри фигуры. Если вам нужна конкретная точка без случайности, используйте фигуру с шириной 0 и высотой 0 (по умолчанию). В противном случае вы можете использовать типы фигур для задания области, чтобы результат мог использовать случайную точку, выбранную из этой области.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qtquick-effects-particles.html