Использование системы частиц Qt Quick
Документацию по всем типам систем частиц можно найти на странице модуля QtQuick.Particles.
Обратите внимание, что для использования типов из модуля частиц вам необходимо импортировать типы с помощью следующей строки:
import QtQuick.Particles 2.11
Система частиц
Эта система частиц содержит четыре основных типа QML: ParticleSystem, Рисовальщики, Источники и Влияния.
Тип ParticleSystem связывает все остальные типы вместе и управляет общей временной шкалой. Рисовальщики, Источники и Влияния должны иметь одинаковую систему ParticleSystem, чтобы взаимодействовать друг с другом.
Вы можете иметь любое количество систем частиц, соблюдая это ограничение. Поэтому логично иметь одну ParticleSystem для всех типов, с которыми вы хотите взаимодействовать, или всего одну, если количество типов невелико и их легко контролировать.
Логические частицы
Все типы системы частиц действуют на «логические частицы». Каждая частица имеет логическое представление внутри системы частиц, и именно на это действуют типы. Не каждая логическая частица должна визуализироваться, и некоторые логические частицы могут привести к отрисовке на экране нескольких визуальных частиц.
Группы частиц
Каждая логическая частица является членом группы частиц, и каждая группа идентифицируется именем. Если не указана другая группа, логическая частица принадлежит группе с именем "" (пустая строка), которая ведет себя так же, как и любая другая группа. Группы используются для двух целей: управления частицами и для того, чтобы они могли иметь стохастические переходы состояний.
Группы управляют частицами, потому что вы никогда не можете получить доступ к отдельной частице с помощью любого из типов системы частиц. Все типы действуют на группы в целом, и поэтому любые частицы, которые должны вести себя по-разному (кроме обычного стохастического изменения параметров), должны находиться в разных группах.
Частицы также могут динамически изменять группы. Когда это происходит, траектория частиц не изменяется, но на них могут действовать разные ParticlePainters или Влияния. Группы частиц могут быть изменены влиянием, или стохастические переходы состояний могут быть определены в типе ParticleGroup.
Как правило, группы должны быть определены только в ParticleGroup, если они требуют стохастических переходов состояний. В противном случае достаточно, чтобы группы были определены просто строками, используемыми в свойствах частицы/частиц типов.
Источники
Источники генерируют логические частицы в системе. Эти частицы имеют траекторию и срок существования, но без визуализации. Эти частицы генерируются из местоположения Источника.
TrailEmitters — это специальный тип источника, который генерирует частицы из местоположения других логических частиц. Любая логическая частица соответствующего типа в пределах TrailEmitter вызовет генерацию частиц из ее местоположения, как если бы на ней был Источник с такими же свойствами, как и у TrailEmitter.
Рисовальщики частиц
Рисовальщики — это типы, которые визуализируют логические частицы. Для каждой логической частицы в группах, назначенных ей, которые находятся в пределах ее границ (или вне их, если вы не задаете свойство clip для типа), она будет визуализироваться способом, зависящим от типа 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.11/qtquick-effects-particles.html