diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2017-11-08 16:24:18 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-08 16:24:18 +0100 |
commit | 5fb359d8b1d58061af2d64b304dc0e62c9228efc (patch) | |
tree | 58af5aefefdeaebd98fe6bf8459457c7e042247e | |
parent | b5e8cd3c706839cbc39e3b6bbb717b1b0b50549c (diff) | |
parent | eaa8c461c3c156d3c3d2a85dae90bc2d5b47a9fe (diff) |
Merge pull request #12706 from MillionOstrich/particle-random-velocity
Fix randomisation of initial particle velocity
-rw-r--r-- | scene/3d/particles.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/scene/3d/particles.cpp b/scene/3d/particles.cpp index 4e19214c59..040266843d 100644 --- a/scene/3d/particles.cpp +++ b/scene/3d/particles.cpp @@ -642,7 +642,7 @@ void ParticlesMaterial::_update_shader() { code += " float angle1 = (rand_from_seed(alt_seed)*2.0-1.0)*spread/180.0*3.1416;\n"; code += " vec3 rot = vec3( cos(angle1), sin(angle1),0.0 );\n"; - code += " VELOCITY = (rot*initial_linear_velocity+rot*initial_linear_velocity_random*rand_from_seed(alt_seed));\n"; + code += " VELOCITY = rot*initial_linear_velocity*mix(1.0, rand_from_seed(alt_seed), initial_linear_velocity_random);\n"; } else { //initiate velocity spread in 3D @@ -650,7 +650,7 @@ void ParticlesMaterial::_update_shader() { code += " float angle2 = rand_from_seed(alt_seed)*20.0*3.1416; // make it more random like\n"; code += " vec3 rot_xz = vec3( sin(angle1), 0.0, cos(angle1) );\n"; code += " vec3 rot = vec3( cos(angle2)*rot_xz.x,sin(angle2)*rot_xz.x, rot_xz.z);\n"; - code += " VELOCITY = (rot*initial_linear_velocity+rot*initial_linear_velocity_random*rand_from_seed(alt_seed));\n"; + code += " VELOCITY = rot*initial_linear_velocity*mix(1.0, rand_from_seed(alt_seed), initial_linear_velocity_random);\n"; } code += " float base_angle = (initial_angle+tex_angle)*mix(1.0,angle_rand,initial_angle_random);\n"; |