[Bf-extensions-cvs] [236ce9e8] master: Rigify: add the jaw and teeth widgets to the registered list.

Alexander Gavrilov noreply at git.blender.org
Tue Dec 8 19:56:58 CET 2020


Commit: 236ce9e84674e51ad8542bf8674c36d08b39fcc6
Author: Alexander Gavrilov
Date:   Tue Dec 8 21:40:47 2020 +0300
Branches: master
https://developer.blender.org/rBA236ce9e84674e51ad8542bf8674c36d08b39fcc6

Rigify: add the jaw and teeth widgets to the registered list.

===================================================================

M	rigify/rigs/basic/copy_chain.py
M	rigify/rigs/limbs/simple_tentacle.py
M	rigify/rigs/widgets.py
M	rigify/utils/widgets.py
M	rigify/utils/widgets_basic.py

===================================================================

diff --git a/rigify/rigs/basic/copy_chain.py b/rigify/rigs/basic/copy_chain.py
index d43a83e5..54f09ad7 100644
--- a/rigify/rigs/basic/copy_chain.py
+++ b/rigify/rigs/basic/copy_chain.py
@@ -171,3 +171,5 @@ def create_sample(obj):
         bone.select_head = True
         bone.select_tail = True
         arm.edit_bones.active = bone
+
+    return bones
diff --git a/rigify/rigs/limbs/simple_tentacle.py b/rigify/rigs/limbs/simple_tentacle.py
index bf1b64aa..50a5c6ca 100644
--- a/rigify/rigs/limbs/simple_tentacle.py
+++ b/rigify/rigs/limbs/simple_tentacle.py
@@ -178,3 +178,5 @@ def create_sample(obj):
         bone.select_head = True
         bone.select_tail = True
         arm.edit_bones.active = bone
+
+    return bones
diff --git a/rigify/rigs/widgets.py b/rigify/rigs/widgets.py
index c6617702..ef0bb544 100644
--- a/rigify/rigs/widgets.py
+++ b/rigify/rigs/widgets.py
@@ -49,34 +49,16 @@ def create_ear_widget(rig, bone_name, size=1.0, bone_transform_name=None):
         return None
 
 
-def create_jaw_widget(rig, bone_name, size=1.0, bone_transform_name=None):
-    obj = create_widget(rig, bone_name, bone_transform_name)
-    if obj is not None:
-        verts = [(0.606898307800293*size, 0.6533132195472717*size, 0.09324522316455841*size), (0.5728408694267273*size, 0.7130533456802368*size, 0.04735109210014343*size), (0.478340744972229*size, 0.856249213218689*size, 0.0167550016194582*size), (0.3405401408672333*size, 1.0092359781265259*size, 0.003642391413450241*size), (0.1764744222164154*size, 1.1159402132034302*size, 0.0003642391529865563*size), (0.5728408694267273*size, 0.7130533456802368*size, 0.1391393542289734*size), (0.478340 [...]
-        edges = [(1, 0), (2, 1), (3, 2), (4, 3), (9, 4), (6, 5), (7, 6), (8, 7), (15, 8), (5, 0), (11, 10), (12, 11), (13, 12), (14, 13), (9, 14), (17, 16), (18, 17), (19, 18), (15, 19), (16, 10), ]
-        faces = []
-
-        mesh = obj.data
-        mesh.from_pydata(verts, edges, faces)
-        mesh.update()
-        return obj
-    else:
-        return None
+ at widget_generator(register="jaw")
+def create_jaw_widget(geom, size=1.0):
+    geom.verts = [(0.606898307800293*size, 0.6533132195472717*size, 0.09324522316455841*size), (0.5728408694267273*size, 0.7130533456802368*size, 0.04735109210014343*size), (0.478340744972229*size, 0.856249213218689*size, 0.0167550016194582*size), (0.3405401408672333*size, 1.0092359781265259*size, 0.003642391413450241*size), (0.1764744222164154*size, 1.1159402132034302*size, 0.0003642391529865563*size), (0.5728408694267273*size, 0.7130533456802368*size, 0.1391393542289734*size), (0.47834 [...]
+    geom.edges = [(1, 0), (2, 1), (3, 2), (4, 3), (9, 4), (6, 5), (7, 6), (8, 7), (15, 8), (5, 0), (11, 10), (12, 11), (13, 12), (14, 13), (9, 14), (17, 16), (18, 17), (19, 18), (15, 19), (16, 10)]
 
 
-def create_teeth_widget(rig, bone_name, size=1.0, bone_transform_name=None):
-    obj = create_widget(rig, bone_name, bone_transform_name)
-    if obj is not None:
-        verts = [(0.6314387321472168*size, 0.4999997019767761*size, 0.09999999403953552*size), (0.5394065976142883*size, 0.29289281368255615*size, 0.09999999403953552*size), (0.3887903690338135*size, 0.1339743733406067*size, 0.09999999403953552*size), (0.19801488518714905*size, 0.03407406806945801*size, 0.09999999403953552*size), (-3.4034394502668874e-07*size, 0.0*size, 0.09999999403953552*size), (-0.19801555573940277*size, 0.034074246883392334*size, 0.09999999403953552*size), (-0.700000 [...]
-        edges = [(25, 24), (24, 0), (0, 1), (1, 2), (2, 3), (3, 4), (7, 6), (8, 7), (9, 8), (10, 9), (11, 10), (12, 11), (13, 12), (14, 13), (15, 14), (16, 15), (17, 16), (18, 17), (4, 5), (5, 19), (19, 20), (20, 21), (21, 22), (22, 23), (18, 25), (6, 23), ]
-        faces = []
-
-        mesh = obj.data
-        mesh.from_pydata(verts, edges, faces)
-        mesh.update()
-        return obj
-    else:
-        return None
+ at widget_generator(register="teeth")
+def create_teeth_widget(geom, *, size=1.0):
+    geom.verts = [(0.6314387321472168*size, 0.4999997019767761*size, 0.09999999403953552*size), (0.5394065976142883*size, 0.29289281368255615*size, 0.09999999403953552*size), (0.3887903690338135*size, 0.1339743733406067*size, 0.09999999403953552*size), (0.19801488518714905*size, 0.03407406806945801*size, 0.09999999403953552*size), (-3.4034394502668874e-07*size, 0.0*size, 0.09999999403953552*size), (-0.19801555573940277*size, 0.034074246883392334*size, 0.09999999403953552*size), (-0.70000 [...]
+    geom.edges = [(25, 24), (24, 0), (0, 1), (1, 2), (2, 3), (3, 4), (7, 6), (8, 7), (9, 8), (10, 9), (11, 10), (12, 11), (13, 12), (14, 13), (15, 14), (16, 15), (17, 16), (18, 17), (4, 5), (5, 19), (19, 20), (20, 21), (21, 22), (22, 23), (18, 25), (6, 23)]
 
 
 def create_face_widget(rig, bone_name, size=1.0, bone_transform_name=None):
diff --git a/rigify/utils/widgets.py b/rigify/utils/widgets.py
index 725f8855..f39fa206 100644
--- a/rigify/utils/widgets.py
+++ b/rigify/utils/widgets.py
@@ -139,6 +139,15 @@ def create_registered_widget(obj, bone_

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list