Spec-Zone.ru › Qt 5.9

Использование системы частиц Qt Quick

Документацию по всем типам систем частиц можно найти на странице модуля QtQuick.Particles.

Обратите внимание, что для использования типов из модуля частиц необходимо импортировать типы с помощью следующей строки:

import QtQuick.Particles 2.0

Система частиц

Эта система частиц содержит четыре основных типа QML типов: ParticleSystem, Painters, Emitters и Affectors.

Тип ParticleSystem связывает все другие типы вместе и управляет общим временным отрезком. Painters, Emitters и Affectors должны иметь один и тот же ParticleSystem, чтобы взаимодействовать друг с другом.

Вы можете иметь любое количество систем частиц, подчиняясь этому ограничению, поэтому логическое разделение заключается в том, чтобы иметь одну ParticleSystem для всех типов, которые вы хотите взаимодействовать, или только одну, если количество типов невелико и их легко контролировать.

Логические частицы

Все типы систем частиц действуют на «логические частицы». Каждая частица имеет логическое представление внутри системы частиц, и именно на это воздействуют типы. Не каждая логическая частица должна визуализироваться, и некоторые логические частицы могут привести к отображению на экране нескольких визуальных частиц.

Группы частиц

Каждая логическая частица является членом группы частиц, и каждая группа идентифицируется по имени. Если не указана другая группа, логическая частица принадлежит группе с именем "" (пустая строка), которая ведет себя так же, как любая другая группа. Группы используются для двух целей: для управления частицами и потому что они могут иметь стохастические переходы состояний.

Группы управляют частицами, потому что вы никогда не можете получить доступ к отдельной частице с помощью любого из типов систем частиц. Все типы действуют на группы в целом, и поэтому любые частицы, которые должны вести себя по-разному (кроме обычного стохастического изменения параметров), должны принадлежать к разным группам.

Частицы также могут динамически изменять группы. Когда это происходит, траектория частиц не изменяется, но на неё могут повлиять разные ParticlePainters или Affectors. Частицы могут изменить свою группу с помощью Affector, или стохастические переходы состояний могут быть определены в типе ParticleGroup.

Как правило, группы должны определяться только в ParticleGroup, если они требуют стохастических переходов состояний. В противном случае достаточно, чтобы группы были определены просто строками, используемыми в свойствах particle/particles типов.

Эмиттеры

Эмиттеры испускают логические частицы в систему. Эти частицы имеют траекторию и срок жизни, но не визуализацию. Эти частицы испускаются из расположения Эмиттера.

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/qt-5.9/qtquick-effects-particles.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API