Skip to content

Commit

Permalink
Add files via upload
Browse files Browse the repository at this point in the history
- fixed the axis orientation for Y being represented as Z and vice-versa by adding a "fix object axis" control in the misc tools
- fixed the IK leg python script to use new axis orientation
- fixed the other add root/center/groove/waist bones to use the new axis 
- added "import nala" a simple shortcut for myself until I add proper import fbx file prompt to correct axis orientation with all the proper default options selected
  • Loading branch information
wikid24 authored Jan 15, 2023
1 parent e054d9c commit 187a4b5
Show file tree
Hide file tree
Showing 2 changed files with 240 additions and 43 deletions.
36 changes: 18 additions & 18 deletions ffxiv_mmd_tools_helper_beta/add_foot_leg_ik.py
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ def main(context):
bone = bpy.context.active_object.data.edit_bones.new(LEG_IK_LEFT_BONE)
bone.head = bpy.context.active_object.data.edit_bones[ANKLE_LEFT].head
bone.tail = bpy.context.active_object.data.edit_bones[ANKLE_LEFT].head
bone.tail.y = bpy.context.active_object.data.edit_bones[ANKLE_LEFT].head.y + LENGTH_OF_FOOT_BONE
bone.tail.z = bpy.context.active_object.data.edit_bones[ANKLE_LEFT].head.z + LENGTH_OF_FOOT_BONE
if ROOT in bpy.context.active_object.data.edit_bones.keys():
print(ROOT, ROOT in bpy.context.active_object.data.edit_bones.keys())
bone.parent = bpy.context.active_object.data.edit_bones[ROOT]
Expand All @@ -230,7 +230,7 @@ def main(context):
bone = bpy.context.active_object.data.edit_bones.new(LEG_IK_RIGHT_BONE)
bone.head = bpy.context.active_object.data.edit_bones[ANKLE_RIGHT].head
bone.tail = bpy.context.active_object.data.edit_bones[ANKLE_RIGHT].head
bone.tail.y = bpy.context.active_object.data.edit_bones[ANKLE_RIGHT].head.y + LENGTH_OF_FOOT_BONE
bone.tail.z = bpy.context.active_object.data.edit_bones[ANKLE_RIGHT].head.z + LENGTH_OF_FOOT_BONE
if ROOT in bpy.context.active_object.data.edit_bones.keys():
print(ROOT, ROOT in bpy.context.active_object.data.edit_bones.keys())
bone.parent = bpy.context.active_object.data.edit_bones[ROOT]
Expand All @@ -240,22 +240,22 @@ def main(context):
bone = bpy.context.active_object.data.edit_bones.new(TOE_IK_LEFT_BONE)
bone.head = bpy.context.active_object.data.edit_bones[TOE_LEFT].head
bone.tail = bpy.context.active_object.data.edit_bones[TOE_LEFT].head
bone.tail.y = bpy.context.active_object.data.edit_bones[TOE_LEFT].head.y - QUARTER_LENGTH_OF_FOOT_BONE
bone.tail.z = bpy.context.active_object.data.edit_bones[TOE_LEFT].head.z - QUARTER_LENGTH_OF_FOOT_BONE
print('bone = ', bone)
bone.parent = bpy.context.active_object.data.edit_bones[LEG_IK_LEFT_BONE]
bone.use_connect = False

bone = bpy.context.active_object.data.edit_bones.new(TOE_IK_RIGHT_BONE)
bone.head = bpy.context.active_object.data.edit_bones[TOE_RIGHT].head
bone.tail = bpy.context.active_object.data.edit_bones[TOE_RIGHT].head
bone.tail.y = bpy.context.active_object.data.edit_bones[TOE_RIGHT].head.y - QUARTER_LENGTH_OF_FOOT_BONE
bone.tail.z = bpy.context.active_object.data.edit_bones[TOE_RIGHT].head.z - QUARTER_LENGTH_OF_FOOT_BONE
bone.parent = bpy.context.active_object.data.edit_bones[LEG_IK_RIGHT_BONE]
bone.use_connect = False

bone = bpy.context.active_object.data.edit_bones.new(LEG_IK_LEFT_BONE_TIP)
bone.head = bpy.context.active_object.data.edit_bones[LEG_IK_LEFT_BONE].head
bone.tail = bpy.context.active_object.data.edit_bones[LEG_IK_LEFT_BONE].head
bone.tail.y = bone.tail.y + TWENTIETH_LENGTH_OF_FOOT_BONE
bone.tail.z = bone.tail.z + TWENTIETH_LENGTH_OF_FOOT_BONE
bone.parent = bpy.context.active_object.data.edit_bones[LEG_IK_LEFT_BONE]
bone.use_connect = False
bpy.ops.object.mode_set(mode='POSE')
Expand All @@ -270,7 +270,7 @@ def main(context):
bone = bpy.context.active_object.data.edit_bones.new(LEG_IK_RIGHT_BONE_TIP)
bone.head = bpy.context.active_object.data.edit_bones[LEG_IK_RIGHT_BONE].head
bone.tail = bpy.context.active_object.data.edit_bones[LEG_IK_RIGHT_BONE].head
bone.tail.y = bone.tail.y + TWENTIETH_LENGTH_OF_FOOT_BONE
bone.tail.z = bone.tail.z + TWENTIETH_LENGTH_OF_FOOT_BONE
bone.parent = bpy.context.active_object.data.edit_bones[LEG_IK_RIGHT_BONE]
bone.use_connect = False
bpy.ops.object.mode_set(mode='POSE')
Expand All @@ -285,7 +285,7 @@ def main(context):
bone = bpy.context.active_object.data.edit_bones.new(TOE_IK_LEFT_BONE_TIP)
bone.head = bpy.context.active_object.data.edit_bones[TOE_IK_LEFT_BONE].head
bone.tail = bpy.context.active_object.data.edit_bones[TOE_IK_LEFT_BONE].head
bone.tail.y = bone.tail.y - TWENTIETH_LENGTH_OF_FOOT_BONE
bone.tail.z = bone.tail.z - TWENTIETH_LENGTH_OF_FOOT_BONE
bone.parent = bpy.context.active_object.data.edit_bones[TOE_IK_LEFT_BONE]
bone.use_connect = False
bpy.ops.object.mode_set(mode='POSE')
Expand All @@ -300,7 +300,7 @@ def main(context):
bone = bpy.context.active_object.data.edit_bones.new(TOE_IK_RIGHT_BONE_TIP)
bone.head = bpy.context.active_object.data.edit_bones[TOE_IK_RIGHT_BONE].head
bone.tail = bpy.context.active_object.data.edit_bones[TOE_IK_RIGHT_BONE].head
bone.tail.y = bone.tail.y - TWENTIETH_LENGTH_OF_FOOT_BONE
bone.tail.z = bone.tail.z - TWENTIETH_LENGTH_OF_FOOT_BONE
bone.parent = bpy.context.active_object.data.edit_bones[TOE_IK_RIGHT_BONE]
bone.use_connect = False
bpy.ops.object.mode_set(mode='POSE')
Expand All @@ -318,47 +318,47 @@ def main(context):
bone = bpy.context.active_object.data.edit_bones.new(LEG_LEFT_D)
bone.head = bpy.context.active_object.data.edit_bones[LEG_LEFT].head
bone.tail = bpy.context.active_object.data.edit_bones[LEG_LEFT].head
bone.tail.y = bpy.context.active_object.data.edit_bones[LEG_LEFT].head.y + HALF_LENGTH_OF_FOOT_BONE
bone.tail.z = bpy.context.active_object.data.edit_bones[LEG_LEFT].head.z + HALF_LENGTH_OF_FOOT_BONE
print('bone = ', bone)
bone.parent = bpy.context.active_object.data.edit_bones[LOWER_BODY]
bone.use_connect = False

bone = bpy.context.active_object.data.edit_bones.new(LEG_RIGHT_D)
bone.head = bpy.context.active_object.data.edit_bones[LEG_RIGHT].head
bone.tail = bpy.context.active_object.data.edit_bones[LEG_RIGHT].head
bone.tail.y = bpy.context.active_object.data.edit_bones[LEG_RIGHT].head.y + HALF_LENGTH_OF_FOOT_BONE
bone.tail.z = bpy.context.active_object.data.edit_bones[LEG_RIGHT].head.z + HALF_LENGTH_OF_FOOT_BONE
print('bone = ', bone)
bone.parent = bpy.context.active_object.data.edit_bones[LOWER_BODY]
bone.use_connect = False

bone = bpy.context.active_object.data.edit_bones.new(KNEE_LEFT_D)
bone.head = bpy.context.active_object.data.edit_bones[KNEE_LEFT].head
bone.tail = bpy.context.active_object.data.edit_bones[KNEE_LEFT].head
bone.tail.y = bpy.context.active_object.data.edit_bones[KNEE_LEFT_D].head.y + HALF_LENGTH_OF_FOOT_BONE
bone.tail.z = bpy.context.active_object.data.edit_bones[KNEE_LEFT_D].head.z + HALF_LENGTH_OF_FOOT_BONE
print('bone = ', bone)
bone.parent = bpy.context.active_object.data.edit_bones[LEG_LEFT_D]
bone.use_connect = False

bone = bpy.context.active_object.data.edit_bones.new(KNEE_RIGHT_D)
bone.head = bpy.context.active_object.data.edit_bones[KNEE_RIGHT].head
bone.tail = bpy.context.active_object.data.edit_bones[KNEE_RIGHT].head
bone.tail.y = bpy.context.active_object.data.edit_bones[KNEE_RIGHT_D].head.y + HALF_LENGTH_OF_FOOT_BONE
bone.tail.z = bpy.context.active_object.data.edit_bones[KNEE_RIGHT_D].head.z + HALF_LENGTH_OF_FOOT_BONE
print('bone = ', bone)
bone.parent = bpy.context.active_object.data.edit_bones[LEG_RIGHT_D]
bone.use_connect = False

bone = bpy.context.active_object.data.edit_bones.new(ANKLE_LEFT_D)
bone.head = bpy.context.active_object.data.edit_bones[ANKLE_LEFT].head
bone.tail = bpy.context.active_object.data.edit_bones[ANKLE_LEFT].head
bone.tail.y = bpy.context.active_object.data.edit_bones[ANKLE_LEFT_D].head.y + HALF_LENGTH_OF_FOOT_BONE
bone.tail.z = bpy.context.active_object.data.edit_bones[ANKLE_LEFT_D].head.z + HALF_LENGTH_OF_FOOT_BONE
print('bone = ', bone)
bone.parent = bpy.context.active_object.data.edit_bones[KNEE_LEFT_D]
bone.use_connect = False

bone = bpy.context.active_object.data.edit_bones.new(ANKLE_RIGHT_D)
bone.head = bpy.context.active_object.data.edit_bones[ANKLE_RIGHT].head
bone.tail = bpy.context.active_object.data.edit_bones[ANKLE_RIGHT].head
bone.tail.y = bpy.context.active_object.data.edit_bones[ANKLE_RIGHT_D].head.y + HALF_LENGTH_OF_FOOT_BONE
bone.tail.z = bpy.context.active_object.data.edit_bones[ANKLE_RIGHT_D].head.z + HALF_LENGTH_OF_FOOT_BONE
print('bone = ', bone)
bone.parent = bpy.context.active_object.data.edit_bones[KNEE_RIGHT_D]
bone.use_connect = False
Expand All @@ -367,10 +367,10 @@ def main(context):
bone = bpy.context.active_object.data.edit_bones.new(TOE_LEFT_EX)
bone.head = bpy.context.active_object.data.edit_bones[TOE_LEFT].head
bone.tail = bpy.context.active_object.data.edit_bones[TOE_LEFT].tail
bone.head.z = bone.head.z + QUARTER_LENGTH_OF_FOOT_BONE
bone.tail.z = bone.tail.z + QUARTER_LENGTH_OF_FOOT_BONE
bone.head.y = bone.head.y + QUARTER_LENGTH_OF_FOOT_BONE
bone.tail.y = bone.tail.y + QUARTER_LENGTH_OF_FOOT_BONE
bone.head.z = bone.head.z - QUARTER_LENGTH_OF_FOOT_BONE
bone.tail.z = bone.tail.z - QUARTER_LENGTH_OF_FOOT_BONE
bone.parent = bpy.context.active_object.data.edit_bones[ANKLE_LEFT_D]
bone.use_connect = False
bpy.ops.object.mode_set(mode='POSE')
Expand All @@ -385,10 +385,10 @@ def main(context):
bone = bpy.context.active_object.data.edit_bones.new(TOE_RIGHT_EX)
bone.head = bpy.context.active_object.data.edit_bones[TOE_RIGHT].head
bone.tail = bpy.context.active_object.data.edit_bones[TOE_RIGHT].tail
bone.head.z = bone.head.z + QUARTER_LENGTH_OF_FOOT_BONE
bone.tail.z = bone.tail.z + QUARTER_LENGTH_OF_FOOT_BONE
bone.head.y = bone.head.y + QUARTER_LENGTH_OF_FOOT_BONE
bone.tail.y = bone.tail.y + QUARTER_LENGTH_OF_FOOT_BONE
bone.head.z = bone.head.z - QUARTER_LENGTH_OF_FOOT_BONE
bone.tail.z = bone.tail.z - QUARTER_LENGTH_OF_FOOT_BONE
bone.parent = bpy.context.active_object.data.edit_bones[ANKLE_RIGHT_D]
bone.use_connect = False
bpy.ops.object.mode_set(mode='POSE')
Expand Down
Loading

0 comments on commit 187a4b5

Please sign in to comment.