remove pep8 warnings
This commit is contained in:
parent
dd04e25a14
commit
e3dba7d6f4
@ -25,8 +25,9 @@ import bpy
|
||||
import Mathutils
|
||||
from Mathutils import Vector, Euler, Matrix, RotationMatrix, TranslationMatrix
|
||||
|
||||
|
||||
class bvh_node_class(object):
|
||||
__slots__=(\
|
||||
__slots__ = (
|
||||
'name',# bvh joint name
|
||||
'parent',# bvh_node_class type or None for no parent
|
||||
'children',# a list of children of this type.
|
||||
@ -63,7 +64,6 @@ class bvh_node_class(object):
|
||||
#
|
||||
self.anim_data = [(0, 0, 0, 0, 0, 0)]
|
||||
|
||||
|
||||
def __repr__(self):
|
||||
return 'BVH name:"%s", rest_loc:(%.3f,%.3f,%.3f), rest_tail:(%.3f,%.3f,%.3f)' %\
|
||||
(self.name,\
|
||||
@ -71,24 +71,23 @@ class bvh_node_class(object):
|
||||
self.rest_head_world.x, self.rest_head_world.y, self.rest_head_world.z)
|
||||
|
||||
|
||||
|
||||
# Change the order rotation is applied.
|
||||
MATRIX_IDENTITY_3x3 = Matrix([1, 0, 0], [0, 1, 0], [0, 0, 1])
|
||||
MATRIX_IDENTITY_4x4 = Matrix([1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1])
|
||||
|
||||
|
||||
def eulerRotate(x, y, z, rot_order):
|
||||
# Clamp all values between 0 and 360, values outside this raise an error.
|
||||
mats = [RotationMatrix(x, 3, 'X'), RotationMatrix(y, 3, 'Y'), RotationMatrix(z, 3, 'Z')]
|
||||
# print rot_order
|
||||
# Standard BVH multiplication order, apply the rotation in the order Z,X,Y
|
||||
return (MATRIX_IDENTITY_3x3 * mats[rot_order[0]] * (mats[rot_order[1]] * (mats[rot_order[2]]))).to_euler()
|
||||
|
||||
#XXX, order changes???
|
||||
#eul = (mats[rot_order[2]]*(mats[rot_order[1]]* (mats[rot_order[0]]* MATRIX_IDENTITY_3x3))).to_euler()
|
||||
eul = (MATRIX_IDENTITY_3x3*mats[rot_order[0]]*(mats[rot_order[1]]* (mats[rot_order[2]]))).to_euler()
|
||||
# Should work but doesnt!
|
||||
'''
|
||||
eul = Euler(x,y,z)
|
||||
eul.order = "XYZ"[rot_order[0]] + "XYZ"[rot_order[1]] + "XYZ"[rot_order[2]]
|
||||
return tuple(eul.to_matrix().to_euler())
|
||||
'''
|
||||
|
||||
eul = eul.x, eul.y, eul.z
|
||||
|
||||
return eul
|
||||
|
||||
def read_bvh(context, file_path, ROT_MODE='XYZ', GLOBAL_SCALE=1.0):
|
||||
# File loading stuff
|
||||
@ -137,7 +136,7 @@ def read_bvh(context, file_path, ROT_MODE='XYZ', GLOBAL_SCALE=1.0):
|
||||
#print '%snode: %s, parent: %s' % (len(bvh_nodes_serial) * ' ', name, bvh_nodes_serial[-1])
|
||||
|
||||
lineIdx += 2 # Incriment to the next line (Offset)
|
||||
rest_head_local = Vector( GLOBAL_SCALE * float(file_lines[lineIdx][1]), GLOBAL_SCALE * float(file_lines[lineIdx][2]), GLOBAL_SCALE * float(file_lines[lineIdx][3]))
|
||||
rest_head_local = Vector(float(file_lines[lineIdx][1]), float(file_lines[lineIdx][2]), float(file_lines[lineIdx][3])) * GLOBAL_SCALE
|
||||
lineIdx += 1 # Incriment to the next line (Channels)
|
||||
|
||||
# newChannel[Xposition, Yposition, Zposition, Xrotation, Yrotation, Zrotation]
|
||||
@ -150,9 +149,12 @@ def read_bvh(context, file_path, ROT_MODE='XYZ', GLOBAL_SCALE=1.0):
|
||||
for channel in file_lines[lineIdx][2:]:
|
||||
channel = channel.lower()
|
||||
channelIndex += 1 # So the index points to the right channel
|
||||
if channel == 'xposition': my_channel[0] = channelIndex
|
||||
elif channel == 'yposition': my_channel[1] = channelIndex
|
||||
elif channel == 'zposition': my_channel[2] = channelIndex
|
||||
if channel == 'xposition':
|
||||
my_channel[0] = channelIndex
|
||||
elif channel == 'yposition':
|
||||
my_channel[1] = channelIndex
|
||||
elif channel == 'zposition':
|
||||
my_channel[2] = channelIndex
|
||||
|
||||
elif channel == 'xrotation':
|
||||
my_channel[3] = channelIndex
|
||||
@ -276,14 +278,12 @@ def read_bvh(context, file_path, ROT_MODE='XYZ', GLOBAL_SCALE=1.0):
|
||||
|
||||
# Make sure tail isnt the same location as the head.
|
||||
if (bvh_node.rest_tail_local - bvh_node.rest_head_local).length <= 0.001 * GLOBAL_SCALE:
|
||||
|
||||
bvh_node.rest_tail_local.y = bvh_node.rest_tail_local.y + GLOBAL_SCALE / 10
|
||||
bvh_node.rest_tail_world.y = bvh_node.rest_tail_world.y + GLOBAL_SCALE / 10
|
||||
|
||||
return bvh_nodes
|
||||
|
||||
|
||||
|
||||
def bvh_node_dict2objects(context, bvh_nodes, IMPORT_START_FRAME=1, IMPORT_LOOP=False):
|
||||
|
||||
if IMPORT_START_FRAME < 1:
|
||||
@ -338,7 +338,6 @@ def bvh_node_dict2objects(context, bvh_nodes, IMPORT_START_FRAME= 1, IMPORT_LOOP
|
||||
return objects
|
||||
|
||||
|
||||
|
||||
def bvh_node_dict2armature(context, bvh_nodes, ROT_MODE='XYZ', IMPORT_START_FRAME=1, IMPORT_LOOP=False):
|
||||
|
||||
if IMPORT_START_FRAME < 1:
|
||||
@ -366,7 +365,6 @@ def bvh_node_dict2armature(context, bvh_nodes, ROT_MODE='XYZ', IMPORT_START_FRAM
|
||||
bpy.ops.object.mode_set(mode='EDIT', toggle=False)
|
||||
|
||||
|
||||
|
||||
# Get the average bone length for zero length bones, we may not use this.
|
||||
average_bone_length = 0.0
|
||||
nonzero_count = 0
|
||||
@ -395,7 +393,6 @@ def bvh_node_dict2armature(context, bvh_nodes, ROT_MODE='XYZ', IMPORT_START_FRAM
|
||||
# New editbone
|
||||
bpy.ops.armature.bone_primitive_add(name="Bone")
|
||||
|
||||
#XXX bone= bvh_node.temp= Blender.Armature.Editbone()
|
||||
bone = bvh_node.temp = arm_data.edit_bones[-1]
|
||||
|
||||
bone.name = name
|
||||
@ -448,9 +445,7 @@ def bvh_node_dict2armature(context, bvh_nodes, ROT_MODE='XYZ', IMPORT_START_FRAM
|
||||
pose = arm_ob.pose
|
||||
pose_bones = pose.bones
|
||||
|
||||
print('ROT_MODE', ROT_MODE)
|
||||
if ROT_MODE == 'NATIVE':
|
||||
print(1)
|
||||
eul_order_lookup = {\
|
||||
(0, 1, 2): 'XYZ',
|
||||
(0, 2, 1): 'XZY',
|
||||
@ -617,14 +612,15 @@ class BvhImporter(bpy.types.Operator):
|
||||
|
||||
menu_func = lambda self, context: self.layout.operator(BvhImporter.bl_idname, text="Motion Capture (.bvh)")
|
||||
|
||||
|
||||
def register():
|
||||
bpy.types.register(BvhImporter)
|
||||
bpy.types.INFO_MT_file_import.append(menu_func)
|
||||
|
||||
|
||||
def unregister():
|
||||
bpy.types.unregister(BvhImporter)
|
||||
bpy.types.INFO_MT_file_import.remove(menu_func)
|
||||
|
||||
if __name__ == "__main__":
|
||||
register()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user