summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2017-11-08 16:24:18 +0100
committerGitHub <noreply@github.com>2017-11-08 16:24:18 +0100
commit5fb359d8b1d58061af2d64b304dc0e62c9228efc (patch)
tree58af5aefefdeaebd98fe6bf8459457c7e042247e
parentb5e8cd3c706839cbc39e3b6bbb717b1b0b50549c (diff)
parenteaa8c461c3c156d3c3d2a85dae90bc2d5b47a9fe (diff)
Merge pull request #12706 from MillionOstrich/particle-random-velocity
Fix randomisation of initial particle velocity
-rw-r--r--scene/3d/particles.cpp4
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";