From 6af061bc26e95caf534ee60d6848967d14b97d7b Mon Sep 17 00:00:00 2001
From: Alexander Gavrilov <angavrilov@gmail.com>
Date: Mon, 11 Jul 2022 19:45:29 +0300
Subject: [PATCH] Rigify: fix T96376 - adjust node match epsilon according to
 scale.

---
 rigify/utils/node_merger.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/rigify/utils/node_merger.py b/rigify/utils/node_merger.py
index 617b99df8..2da48adaf 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)
-- 
GitLab