Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'rigify/utils')
-rw-r--r--rigify/utils/collections.py2
-rw-r--r--rigify/utils/node_merger.py4
-rw-r--r--rigify/utils/widgets.py3
3 files changed, 7 insertions, 2 deletions
diff --git a/rigify/utils/collections.py b/rigify/utils/collections.py
index 8a299a9b..9eeaac51 100644
--- a/rigify/utils/collections.py
+++ b/rigify/utils/collections.py
@@ -53,7 +53,7 @@ def ensure_collection(context, collection_name, hidden=False) -> bpy.types.Colle
active_collection = active_layer_coll.collection
collection = bpy.data.collections.get(collection_name)
- if not collection:
+ if not collection or collection.library:
# Create the collection
collection = bpy.data.collections.new(collection_name)
collection.hide_viewport = hidden
diff --git a/rigify/utils/node_merger.py b/rigify/utils/node_merger.py
index 617b99df..2da48ada 100644
--- a/rigify/utils/node_merger.py
+++ b/rigify/utils/node_merger.py
@@ -73,7 +73,9 @@ class NodeMerger(GeneratorPlugin):
while pending:
added = set()
for j in pending:
- for co, idx, dist in tree.find_range(nodes[j].point, self.epsilon):
+ point = nodes[j].point
+ eps = max(1, point.length) * self.epsilon
+ for co, idx, dist in tree.find_range(point, eps):
added.add(idx)
pending = added.difference(merge_set)
merge_set.update(added)
diff --git a/rigify/utils/widgets.py b/rigify/utils/widgets.py
index e02f3387..5a16065b 100644
--- a/rigify/utils/widgets.py
+++ b/rigify/utils/widgets.py
@@ -86,6 +86,9 @@ def create_widget(rig, bone_name, bone_transform_name=None, *, widget_name=None,
if not obj:
# Search the scene by name
obj = scene.objects.get(obj_name)
+ if obj and obj.library:
+ local_objs = [obj for obj in scene.objects if obj.name == obj_name and not obj.library]
+ obj = local_objs[0] if local_objs else None
if obj:
# Record the generated widget