Merge branch 'blender-v2.91-release'
This commit is contained in:
commit
2ab3a292b9
|
@ -45,7 +45,7 @@ from bpy.props import (
|
|||
|
||||
from bpy.types import Operator
|
||||
|
||||
def main_object(context, obj, level, **kw):
|
||||
def main_object(context, collection, obj, level, **kw):
|
||||
import random
|
||||
|
||||
# pull out some args
|
||||
|
@ -57,7 +57,6 @@ def main_object(context, obj, level, **kw):
|
|||
recursion_clamp = kw_copy.pop("recursion_clamp")
|
||||
recursion_chance = kw_copy.pop("recursion_chance")
|
||||
recursion_chance_select = kw_copy.pop("recursion_chance_select")
|
||||
collection_name = kw_copy.pop("collection_name")
|
||||
use_island_split = kw_copy.pop("use_island_split")
|
||||
use_debug_bool = kw_copy.pop("use_debug_bool")
|
||||
use_interior_vgroup = kw_copy.pop("use_interior_vgroup")
|
||||
|
@ -65,7 +64,6 @@ def main_object(context, obj, level, **kw):
|
|||
use_sharp_edges_apply = kw_copy.pop("use_sharp_edges_apply")
|
||||
|
||||
scene = context.scene
|
||||
collection = context.collection
|
||||
|
||||
if level != 0:
|
||||
kw_copy["source_limit"] = recursion_source_limit
|
||||
|
@ -79,9 +77,9 @@ def main_object(context, obj, level, **kw):
|
|||
obj_display_type_prev = obj.display_type
|
||||
obj.display_type = 'WIRE'
|
||||
|
||||
objects = fracture_cell_setup.cell_fracture_objects(context, obj, **kw_copy)
|
||||
objects = fracture_cell_setup.cell_fracture_objects(context, collection, obj, **kw_copy)
|
||||
objects = fracture_cell_setup.cell_fracture_boolean(
|
||||
context, obj, objects,
|
||||
context, collection, obj, objects,
|
||||
use_island_split=use_island_split,
|
||||
use_interior_hide=(use_interior_vgroup or use_sharp_edges),
|
||||
use_debug_bool=use_debug_bool,
|
||||
|
@ -131,7 +129,7 @@ def main_object(context, obj, level, **kw):
|
|||
objects_recursive = []
|
||||
for i, obj_cell in objects_recurse_input:
|
||||
assert(objects[i] is obj_cell)
|
||||
objects_recursive += main_object(context, obj_cell, level_sub, **kw)
|
||||
objects_recursive += main_object(context, collection, obj_cell, level_sub, **kw)
|
||||
if use_remove_original:
|
||||
collection.objects.unlink(obj_cell)
|
||||
del objects[i]
|
||||
|
@ -154,21 +152,6 @@ def main_object(context, obj, level, **kw):
|
|||
use_sharp_edges_apply=use_sharp_edges_apply,
|
||||
)
|
||||
|
||||
#--------------
|
||||
# Scene Options
|
||||
|
||||
# group
|
||||
if collection_name:
|
||||
group = bpy.data.collections.get(collection_name)
|
||||
if group is None:
|
||||
group = bpy.data.collections.new(collection_name)
|
||||
collection.children.link(group)
|
||||
group_objects = group.objects[:]
|
||||
for obj_cell in objects:
|
||||
if obj_cell not in group_objects:
|
||||
collection.objects.unlink(obj_cell)
|
||||
group.objects.link(obj_cell)
|
||||
|
||||
if kw_copy["use_debug_redraw"]:
|
||||
obj.display_type = obj_display_type_prev
|
||||
|
||||
|
@ -187,11 +170,21 @@ def main(context, **kw):
|
|||
# mass
|
||||
mass_mode = kw_copy.pop("mass_mode")
|
||||
mass = kw_copy.pop("mass")
|
||||
collection_name = kw_copy.pop("collection_name")
|
||||
|
||||
collection = context.collection
|
||||
if collection_name:
|
||||
collection_current = collection
|
||||
collection = bpy.data.collections.get(collection_name)
|
||||
if collection is None:
|
||||
collection = bpy.data.collections.new(collection_name)
|
||||
collection_current.children.link(collection)
|
||||
del collection_current
|
||||
|
||||
objects = []
|
||||
for obj in objects_context:
|
||||
if obj.type == 'MESH':
|
||||
objects += main_object(context, obj, 0, **kw_copy)
|
||||
objects += main_object(context, collection, obj, 0, **kw_copy)
|
||||
|
||||
bpy.ops.object.select_all(action='DESELECT')
|
||||
for obj_cell in objects:
|
||||
|
|
|
@ -122,7 +122,7 @@ def _points_from_object(depsgraph, scene, obj, source):
|
|||
return points
|
||||
|
||||
|
||||
def cell_fracture_objects(context, obj,
|
||||
def cell_fracture_objects(context, collection, obj,
|
||||
source={'PARTICLE_OWN'},
|
||||
source_limit=0,
|
||||
source_noise=0.0,
|
||||
|
@ -140,7 +140,6 @@ def cell_fracture_objects(context, obj,
|
|||
from . import fracture_cell_calc
|
||||
depsgraph = context.evaluated_depsgraph_get()
|
||||
scene = context.scene
|
||||
collection = context.collection
|
||||
view_layer = context.view_layer
|
||||
|
||||
# -------------------------------------------------------------------------
|
||||
|
@ -307,7 +306,7 @@ def cell_fracture_objects(context, obj,
|
|||
return objects
|
||||
|
||||
|
||||
def cell_fracture_boolean(context, obj, objects,
|
||||
def cell_fracture_boolean(context, collection, obj, objects,
|
||||
use_debug_bool=False,
|
||||
clean=True,
|
||||
use_island_split=False,
|
||||
|
@ -318,7 +317,6 @@ def cell_fracture_boolean(context, obj, objects,
|
|||
):
|
||||
|
||||
objects_boolean = []
|
||||
collection = context.collection
|
||||
scene = context.scene
|
||||
view_layer = context.view_layer
|
||||
|
||||
|
|
Loading…
Reference in New Issue