@@ -104,10 +104,10 @@ def __init__(self, obj, bone_name, params):
104
104
# else:
105
105
# return 'ERROR'
106
106
107
- def orient_bone ( self , eb , axis , scale , reverse = False ):
108
- v = Vector ((0 ,0 , 0 ))
107
+ def orient_bone (self , eb , axis , scale , reverse = False ):
108
+ v = Vector ((0 , 0 , 0 ))
109
109
110
- setattr (v ,axis ,scale )
110
+ setattr (v , axis , scale )
111
111
112
112
if reverse :
113
113
tail_vec = v * self .obj .matrix_world
@@ -380,7 +380,7 @@ def create_hips( self, hip_bones ):
380
380
def create_tail ( self , tail_bones ):
381
381
pass
382
382
383
- def create_chain (self ):
383
+ def create_chain (self , pivot = None ):
384
384
org_bones = self .org_bones
385
385
386
386
bpy .ops .object .mode_set (mode = 'EDIT' )
@@ -498,6 +498,10 @@ def create_chain(self):
498
498
499
499
ctrl += [ctrl_name ]
500
500
501
+ # Pivot alignment
502
+ if pivot :
503
+ align_bone_x_axis (self .obj , pivot , - v_point )
504
+
501
505
conv_twk = ''
502
506
# Convergence tweak
503
507
if self .params .conv_bone :
@@ -1156,7 +1160,9 @@ def generate(self):
1156
1160
bones ['def' ] = self .create_deform ()
1157
1161
if len (self .org_bones ) > 2 :
1158
1162
bones ['pivot' ] = self .create_pivot ()
1159
- bones ['chain' ] = self .create_chain ()
1163
+ bones ['chain' ] = self .create_chain (bones ['pivot' ]['ctrl' ])
1164
+ else :
1165
+ bones ['chain' ] = self .create_chain ()
1160
1166
1161
1167
# Adjust Roll in SINGLE_BONE case
1162
1168
#if self.SINGLE_BONE:
0 commit comments