92void QQuick3DParticleVectorDirection::setDirectionVariation(
const QVector3D &directionVariation)
94 if (m_directionVariation == directionVariation)
97 m_directionVariation = directionVariation;
98 Q_EMIT directionVariationChanged();
110QVector3D QQuick3DParticleVectorDirection::sample(
const QQuick3DParticleData &d)
115 auto rand = m_system->rand();
116 ret.setX(m_direction.x() - m_directionVariation.x() + rand->get(d.index, QPRand::VDirXV) * m_directionVariation.x() * 2.0f);
117 ret.setY(m_direction.y() - m_directionVariation.y() + rand->get(d.index, QPRand::VDirYV) * m_directionVariation.y() * 2.0f);
118 ret.setZ(m_direction.z() - m_directionVariation.z() + rand->get(d.index, QPRand::VDirZV) * m_directionVariation.z() * 2.0f);
120 ret = m_direction.length() * ret.normalized();