diff options
author | Lucio Rossi <lucio.rossi75@gmail.com> | 2017-06-01 16:24:01 +0300 |
---|---|---|
committer | Lucio Rossi <lucio.rossi75@gmail.com> | 2017-06-01 16:24:17 +0300 |
commit | 5b1b7b94893a3a873b3d511d8859ab75301f31c6 (patch) | |
tree | fb617c630a19da304dc3249976452753fea60403 /rigify/rigs/widgets.py | |
parent | 21158cf1554e7a224c5ac519143f7cc900ee3c51 (diff) |
Rigify 0.5 general maintenance and bug fixing
Diffstat (limited to 'rigify/rigs/widgets.py')
-rw-r--r-- | rigify/rigs/widgets.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/rigify/rigs/widgets.py b/rigify/rigs/widgets.py index 0d3e9305..b7e71195 100644 --- a/rigify/rigs/widgets.py +++ b/rigify/rigs/widgets.py @@ -1,6 +1,7 @@ import bpy import importlib import importlib +from mathutils import Matrix from ..utils import create_widget WGT_LAYERS = [x == 19 for x in range(0, 20)] # Widgets go on the last scene layer. @@ -97,7 +98,7 @@ def create_face_widget(rig, bone_name, size=1.0, bone_transform_name=None): return None -def create_ikarrow_widget(rig, bone_name, size=1.0, bone_transform_name=None): +def create_ikarrow_widget(rig, bone_name, size=1.0, bone_transform_name=None, roll=0): obj = create_widget(rig, bone_name, bone_transform_name) if obj is not None: verts = [(0.10000000149011612*size, 0.0*size, -0.30000001192092896*size), (0.10000000149011612*size, 0.699999988079071*size, -0.30000001192092896*size), (-0.10000000149011612*size, 0.0*size, -0.30000001192092896*size), (-0.10000000149011612*size, 0.699999988079071*size, -0.30000001192092896*size), (0.20000000298023224*size, 0.699999988079071*size, -0.30000001192092896*size), (0.0*size, 1.0*size, -0.30000001192092896*size), (-0.20000000298023224*size, 0.699999988079071*size, -0.30000001192092896*size), (0.10000000149011612*size, 0.0*size, 0.30000001192092896*size), (0.10000000149011612*size, 0.699999988079071*size, 0.30000001192092896*size), (-0.10000000149011612*size, 0.0*size, 0.30000001192092896*size), (-0.10000000149011612*size, 0.699999988079071*size, 0.30000001192092896*size), (0.20000000298023224*size, 0.699999988079071*size, 0.30000001192092896*size), (0.0*size, 1.0*size, 0.30000001192092896*size), (-0.20000000298023224*size, 0.699999988079071*size, 0.30000001192092896*size), ] @@ -107,6 +108,10 @@ def create_ikarrow_widget(rig, bone_name, size=1.0, bone_transform_name=None): mesh = obj.data mesh.from_pydata(verts, edges, faces) mesh.update() + + if roll != 0: + rot_mat = Matrix.Rotation(roll, 4, 'Y') + mesh.transform(rot_mat) return obj else: return None |