[Bf-blender-cvs] [e61dbcd2849] id_copy_refactor: Fix T51774: Children particles hair interpolation not correct with textures or dp.

Bastien Montagne noreply at git.blender.org
Tue Jun 20 17:56:25 CEST 2017


Commit: e61dbcd28492b6bafd962b56aa179fe7d9e739e5
Author: Bastien Montagne
Date:   Sun Jun 18 23:54:52 2017 +0200
Branches: id_copy_refactor
https://developer.blender.org/rBe61dbcd28492b6bafd962b56aa179fe7d9e739e5

Fix T51774: Children particles hair interpolation not correct with textures or dp.

Children where always getting at least one segment of fixed length...

Now fully hidden ones (zero length) get no segment at all.

Note that even very short ones keep getting one 'unit' length segment - would
rather avoid changing that at this point, given how complex children
particles 'length' can get with all kind of modifiers... Think we can
live with that for now anyway.

===================================================================

M	source/blender/blenkernel/intern/particle_child.c

===================================================================

diff --git a/source/blender/blenkernel/intern/particle_child.c b/source/blender/blenkernel/intern/particle_child.c
index 842de869291..bfcda89a635 100644
--- a/source/blender/blenkernel/intern/particle_child.c
+++ b/source/blender/blenkernel/intern/particle_child.c
@@ -355,9 +355,13 @@ void psys_apply_child_modifiers(ParticleThreadContext *ctx, struct ListBase *mod
 
 	{
 		const float step_length = 1.0f / (float)(totkeys - 1);
-		
 		float cur_length = 0.0f;
-		
+
+		if (max_length <= 0.0f) {
+			keys->segments = -1;
+			totkeys = 0;
+		}
+
 		/* we have to correct velocity because of kink & clump */
 		for (k = 0, key = keys; k < totkeys; ++k, ++key) {
 			if (k >= 2) {




More information about the Bf-blender-cvs mailing list