37 Q_PROPERTY(
float emitRate READ emitRate WRITE setEmitRate NOTIFY emitRateChanged)
38 Q_PROPERTY(
int lifeSpan READ lifeSpan WRITE setLifeSpan NOTIFY lifeSpanChanged)
39 Q_PROPERTY(
int lifeSpanVariation READ lifeSpanVariation WRITE setLifeSpanVariation NOTIFY lifeSpanVariationChanged)
40 Q_PROPERTY(
float particleScale READ particleScale WRITE setParticleScale NOTIFY particleScaleChanged)
41 Q_PROPERTY(
float particleEndScale READ particleEndScale WRITE setParticleEndScale NOTIFY particleEndScaleChanged)
42 Q_PROPERTY(
float particleScaleVariation READ particleScaleVariation WRITE setParticleScaleVariation NOTIFY particleScaleVariationChanged)
43 Q_PROPERTY(
float particleEndScaleVariation READ particleEndScaleVariation WRITE setParticleEndScaleVariation NOTIFY particleEndScaleVariationChanged)
44 Q_PROPERTY(
QVector3D particleRotation READ particleRotation WRITE setParticleRotation NOTIFY particleRotationChanged)
45 Q_PROPERTY(
QVector3D particleRotationVariation READ particleRotationVariation WRITE setParticleRotationVariation NOTIFY particleRotationVariationChanged)
46 Q_PROPERTY(
QVector3D particleRotationVelocity READ particleRotationVelocity WRITE setParticleRotationVelocity NOTIFY particleRotationVelocityChanged)
47 Q_PROPERTY(
QVector3D particleRotationVelocityVariation READ particleRotationVelocityVariation WRITE setParticleRotationVelocityVariation NOTIFY particleRotationVariationVelocityChanged)
48 Q_PROPERTY(
float depthBias READ depthBias WRITE setDepthBias NOTIFY depthBiasChanged)
60 float emitRate() const;
61 float particleScale() const;
62 float particleEndScale() const;
63 float particleScaleVariation() const;
64 float particleEndScaleVariation() const;
66 int lifeSpanVariation() const;
70 QVector3D particleRotationVariation() const;
71 QVector3D particleRotationVelocity() const;
72 QVector3D particleRotationVelocityVariation() const;
73 float depthBias() const;
85 void setEmitRate(
float emitRate);
86 void setParticleScale(
float particleScale);
87 void setParticleEndScale(
float particleEndScale);
88 void setParticleScaleVariation(
float particleScaleVariation);
89 void setParticleEndScaleVariation(
float particleEndScaleVariation);
90 void setLifeSpan(
int lifeSpan);
91 void setLifeSpanVariation(
int lifeSpanVariation);
94 void setParticleRotation(const
QVector3D &particleRotation);
95 void setParticleRotationVariation(const
QVector3D &particleRotationVariation);
96 void setParticleRotationVelocity(const
QVector3D &particleRotationVelocity);
97 void setParticleRotationVelocityVariation(const
QVector3D &particleRotationVelocityVariation);
98 void setDepthBias(
float bias);
101 void velocityChanged();
102 void systemChanged();
103 void emitRateChanged();
104 void particleScaleChanged();
105 void particleEndScaleChanged();
106 void particleScaleVariationChanged();
107 void particleEndScaleVariationChanged();
108 void lifeSpanChanged();
109 void lifeSpanVariationChanged();
110 void particleChanged();
112 void particleRotationChanged();
113 void particleRotationVariationChanged();
114 void particleRotationVelocityChanged();
115 void particleRotationVariationVelocityChanged();
116 void enabledChanged();
117 void depthBiasChanged();
124 void componentComplete() override;
127 void generateEmitBursts();
129 void emitParticles();
133 int getEmitAmountFromDynamicBursts(
int triggerType = 0);
141 void clearEmitBursts();
143 void removeLastEmitBurst();
164 float m_emitRate = 0.0f;
166 int m_prevEmitTime = 0;
168 int m_prevBurstTime = 0;
169 float m_particleScale = 1.0f;
170 float m_particleEndScale = -1.0f;
171 float m_particleScaleVariation = 0.0f;
172 float m_particleEndScaleVariation = -1.0f;
173 int m_lifeSpan = 1000;
174 int m_lifeSpanVariation = 0;
175 float m_unemittedF = 0.0f;
176 float m_depthBias = 0.0f;
182 QVector3D m_particleRotationVelocityVariation;
183 bool m_enabled =
true;
185 bool m_burstGenerated =
false;
188 QList<QQuick3DParticleEmitBurst *> m_emitBursts;
189 QList<BurstEmitData> m_burstEmitData;