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