diff options
author | Mai Lavelle <lavelle@gmail.com> | 2015-04-13 12:14:43 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-04-13 12:17:00 +0300 |
commit | 176ed5bfe280ef2151f93c0940d54498aaf00d71 (patch) | |
tree | bc2a4dcdd093fb785f6a7b997c7c8691ec083cbb /source/blender/blenkernel/intern/particle_system.c | |
parent | 6fbf05f326911d10e6227837f8b5de1d86f950b2 (diff) |
Fix hair random rotation limited to 180 degrees
The issue was caused by phase being limited from 0 to 1, which gave only
0..M_PI distribution which is not good enough for good randomness.
Now the phase is being randomized across full 0..2*M_PI range.
Diffstat (limited to 'source/blender/blenkernel/intern/particle_system.c')
-rw-r--r-- | source/blender/blenkernel/intern/particle_system.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c index 5a263e24fc4..0439e56c294 100644 --- a/source/blender/blenkernel/intern/particle_system.c +++ b/source/blender/blenkernel/intern/particle_system.c @@ -928,7 +928,7 @@ void psys_get_birth_coords(ParticleSimulationData *sim, ParticleData *pa, Partic /* rotation phase */ phasefac = part->phasefac; if (part->randphasefac != 0.0f) - phasefac += part->randphasefac * psys_frand(psys, p + 20); + phasefac += part->randphasefac * psys_frand(psys, p + 20) * 2.0f; axis_angle_to_quat( q_phase,x_vec, phasefac*(float)M_PI); /* combine base rotation & phase */ |