trigger.utils.jointify ====================== .. py:module:: trigger.utils.jointify .. autoapi-nested-parse:: Module for converting blendshape deformations joint based deformations Classes ------- .. autoapisummary:: trigger.utils.jointify.Bone trigger.utils.jointify.Driver trigger.utils.jointify.Jointify trigger.utils.jointify.Progressbar trigger.utils.jointify.Shape Functions --------- .. autoapisummary:: trigger.utils.jointify.get_std_deviation Module Contents --------------- .. py:class:: Bone(joint) Bases: :py:obj:`object` .. py:method:: add_driver(t_matrix_plug, r_matrix_plug, position_offset=(0, 0, 0)) .. py:method:: clear_keys() .. py:method:: is_active(time_gap, translate_threshold=0.01, rotate_threshold=0.5, decimal=3) Checks if the object is moving between the given time gap .. py:method:: is_clean() .. py:property:: name .. py:class:: Driver(name='drv', bone=None, time_gap=None, parent_node=None) Bases: :py:obj:`object` .. py:method:: clear_node() .. py:method:: copy_keys() copies the keys from the joint .. py:method:: drive() .. py:method:: get_animcurves() .. py:property:: bone .. py:property:: name .. py:property:: time_gap .. py:class:: Jointify(blendshape_node=None, joint_count=30, shape_duration=0, joint_iterations=30, fbx_source=None, root_nodes=None, parent_to_roots=True, correctives=False, corrective_threshold=0.01, *args, **kwargs) Bases: :py:obj:`object` .. py:method:: collect_original_data() Collects all target and hook plug data Sample: { 'blink': { 'connected': True, 'in': 'morph_hook.blink', 'out': 'trigger_morph_blendshape.blink', 'type': 'base'}, 'browLowerer': { 'connected': True, 'in': 'morph_hook.browLowerer', 'out': 'trigger_morph_blendshape.browLowerer', 'type': 'base'} } .. py:method:: copy_keys(source, target, time_range=None, start_frame=None) :staticmethod: .. py:method:: create_dem_bones() Exports the training set to DEM bones. does the training and get back the FBX .. py:method:: get_inbetween_values(blendshape_node, target_name) :staticmethod: Returns percentages of inbetween targets. If there are no inbetweens, returns [100] .. py:method:: jointify() Creates a joint version of the blendshape deformations using the dem bones data as guidance .. py:method:: prepare_training_set(smooth=False) Creates a ROM from blendshape targets .. py:method:: run() .. py:class:: Progressbar(title='', max_value=100) Bases: :py:obj:`object` .. py:method:: close() .. py:method:: is_cancelled() .. py:method:: update(step=1) .. py:class:: Shape(name, jointify_node, duration, combination_of=None, hook_attrs=None, delta_shape=None, corrective_bs=None) Bases: :py:obj:`object` .. py:method:: add_driver(driver) .. py:method:: get_driver_names() .. py:method:: make_connections() .. py:function:: get_std_deviation(value_list)