@@ -104,10 +104,10 @@ def __init__(self, obj, bone_name, params):
104104 # else:
105105 # return 'ERROR'
106106
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 ))
109109
110- setattr (v ,axis ,scale )
110+ setattr (v , axis , scale )
111111
112112 if reverse :
113113 tail_vec = v * self .obj .matrix_world
@@ -380,7 +380,7 @@ def create_hips( self, hip_bones ):
380380 def create_tail ( self , tail_bones ):
381381 pass
382382
383- def create_chain (self ):
383+ def create_chain (self , pivot = None ):
384384 org_bones = self .org_bones
385385
386386 bpy .ops .object .mode_set (mode = 'EDIT' )
@@ -498,6 +498,10 @@ def create_chain(self):
498498
499499 ctrl += [ctrl_name ]
500500
501+ # Pivot alignment
502+ if pivot :
503+ align_bone_x_axis (self .obj , pivot , - v_point )
504+
501505 conv_twk = ''
502506 # Convergence tweak
503507 if self .params .conv_bone :
@@ -1156,7 +1160,9 @@ def generate(self):
11561160 bones ['def' ] = self .create_deform ()
11571161 if len (self .org_bones ) > 2 :
11581162 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 ()
11601166
11611167 # Adjust Roll in SINGLE_BONE case
11621168 #if self.SINGLE_BONE:
0 commit comments