def execute(self, context): obj = context.active_object root = mmd_model.Model.findRoot(obj) mmd_root=root.mmd_root rig = mmd_model.Model(root) armature = rig.armature() morph = mmd_root.bone_morphs[mmd_root.active_morph] morph_data = morph.data[morph.active_data] utils.selectSingleBone(context, armature, morph_data.bone) return { 'FINISHED' }
def execute(self, context): obj = context.active_object root = mmd_model.Model.findRoot(obj) mmd_root=root.mmd_root rig = mmd_model.Model(root) armature = rig.armature() morph = mmd_root.bone_morphs[mmd_root.active_morph] morph_data = morph.data[morph.active_data] p_bone = armature.pose.bones[morph_data.bone] p_bone.location = morph_data.location p_bone.rotation_quaternion = morph_data.rotation utils.selectSingleBone(context, armature, p_bone.name) return { 'FINISHED' }
def execute(self, context): obj = context.active_object root = mmd_model.Model.findRoot(obj) mmd_root=root.mmd_root rig = mmd_model.Model(root) armature = rig.armature() utils.selectSingleBone(context, armature, None, True) morph = mmd_root.bone_morphs[mmd_root.active_morph] for morph_data in morph.data: p_bone = armature.pose.bones.get(morph_data.bone, None) if p_bone: p_bone.bone.select = True p_bone.location += morph_data.location p_bone.rotation_quaternion *= morph_data.rotation return { 'FINISHED' }
def execute(self, context): obj = context.active_object root = mmd_model.Model.findRoot(obj) mmd_root = root.mmd_root rig = mmd_model.Model(root) armature = rig.armature() morph = mmd_root.bone_morphs[mmd_root.active_morph] morph_data = morph.data[morph.active_data] p_bone = armature.pose.bones[morph_data.bone] mtx = Quaternion( *morph_data.rotation.to_axis_angle()).to_matrix().to_4x4() mtx.translation = morph_data.location p_bone.matrix_basis = mtx utils.selectSingleBone(context, armature, p_bone.name) return {'FINISHED'}
def execute(self, context): from mmd_tools_local.bpyutils import matmul obj = context.active_object root = mmd_model.Model.findRoot(obj) mmd_root = root.mmd_root rig = mmd_model.Model(root) armature = rig.armature() utils.selectSingleBone(context, armature, None, True) morph = mmd_root.bone_morphs[mmd_root.active_morph] for morph_data in morph.data: p_bone = armature.pose.bones.get(morph_data.bone, None) if p_bone: p_bone.bone.select = True mtx = matmul( p_bone.matrix_basis.to_3x3(), Quaternion(*morph_data.rotation.to_axis_angle()).to_matrix( )).to_4x4() mtx.translation = p_bone.location + morph_data.location p_bone.matrix_basis = mtx return {'FINISHED'}
def execute(self, context): obj = context.active_object root = mmd_model.Model.findRoot(obj) mmd_root = root.mmd_root frame = ItemOp.get_by_index(mmd_root.display_item_frames, mmd_root.active_display_item_frame) if frame is None: return {'CANCELLED'} item = ItemOp.get_by_index(frame.items, frame.active_item) if item is None: return {'CANCELLED'} if item.type == 'MORPH': morphs = getattr(mmd_root, item.morph_type) index = morphs.find(item.name) if index >= 0: mmd_root.active_morph_type = item.morph_type mmd_root.active_morph = index else: utils.selectSingleBone(context, mmd_model.Model(root).armature(), item.name) return {'FINISHED'}