diff --git a/object_fracture_cell/__init__.py b/object_fracture_cell/__init__.py index 5c6938e7c043ec5574e93bd14dc9cdeff672adf2..b6b0c8c4715b531df3e825478ae5a90759c15b11 100644 --- a/object_fracture_cell/__init__.py +++ b/object_fracture_cell/__init__.py @@ -61,6 +61,9 @@ def main_object(scene, obj, level, **kw): use_debug_bool = kw_copy.pop("use_debug_bool") use_interior_vgroup = kw_copy.pop("use_interior_vgroup") + if level != 0: + kw_copy["source_limit"] = recursion_source_limit + from . import fracture_cell_setup # not essential but selection is visual distraction. @@ -88,7 +91,7 @@ def main_object(scene, obj, level, **kw): objects_recurse_input = [(i, o) for i, o in enumerate(objects)] - if recursion_chance != 1.0 or recursion_source_limit != 0: + if recursion_chance != 1.0: if 0: random.shuffle(objects_recurse_input) @@ -110,11 +113,7 @@ def main_object(scene, obj, level, **kw): if recursion_chance_select == 'CURSOR_MAX': objects_recurse_input.reverse() - recursion_tot = int(recursion_chance * len(objects_recurse_input)) - if recursion_source_limit != 0 and recursion_tot > recursion_source_limit: - recursion_tot = recursion_source_limit - - objects_recurse_input[recursion_tot:] = [] + objects_recurse_input[int(recursion_chance * len(objects_recurse_input)):] = [] objects_recurse_input.sort() # reverse index values so we can remove from original list.