Fix T90346: particle force field self effect amount off by one
When calculating the particle step in `get_effector_tot`, we have to round up (otherwise we might get an extra round in the for-loop in `BKE_effectors_apply` for certain cases). Example from the report: - 10.000 particles, Effector Amount 3 - was rounding the step down to 3333 - going into the for-loop for 0, 3333, 6666 and 9999 (4 times) - now rounding the step up to 3334 - going into the for-loop for 0, 3334 and 6668 (3 times as desired) Maniphest Tasks: T90346 Differential Revision: https://developer.blender.org/D12113
This commit is contained in:
parent
20d5d7b8ec
commit
b35a96e195
Notes:
blender-bot
2023-05-03 10:14:48 +02:00
Referenced by issue #90346, particle force field self effect number
|
@ -861,7 +861,7 @@ static void get_effector_tot(
|
|||
int totpart = eff->psys->totpart;
|
||||
int amount = eff->psys->part->effector_amount;
|
||||
|
||||
*step = (totpart > amount) ? totpart / amount : 1;
|
||||
*step = (totpart > amount) ? (int)ceil((float)totpart / (float)amount) : 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Reference in New Issue