mgear.rigbits.sdk_io module
Rigbits, SDK i/o
exportSDKs([“drivenNodeA”, “drivenNodeB”], “path/to/desired/output.json”) importSDKs(path/to/desired/output.json)
# MIRRORING ——- # copy from source, say left, to target, right copySDKsToNode(“jacketFlap_L1_fk0_sdk”,
“neck_C0_0_jnt”, “jacketFlap_R1_fk0_sdk”)
# invert/mirror the attributes necessary for the other side, # in this case it is the following attributes mirrorSDKkeys(“jacketFlap_R1_fk0_sdk”,
attributes=[“rotateZ”], invertDriver=True, invertDriven=False)
- mirrorSDKkeys(“jacketFlap_R1_fk0_sdk”,
attributes=[“translateX”, “translateY”], invertDriver=True, invertDriven=True)
# in this other instance, it was the same copySDKsToNode(“jacketFlap_L0_fk0_sdk”,
“neck_C0_0_jnt”, “jacketFlap_R0_fk0_sdk”)
- mgear.rigbits.sdk_io.SDK_ANIMCURVES_TYPE
sdk anim curves to support
- Type:
list
- mgear.rigbits.sdk_io.copySDKsToNode(sourceDriven, targetDriver, targetDriven, sourceAttributes=[], sourceDriverFilter=None)
Duplicates sdk nodes from the source drive, to any designated target driver/driven
- Parameters:
sourceDriven (pynode) – source to copy from
targetDriver (pynode) – to drive the new sdk node
targetDriven (pynode) – node to be driven
sourceAttributes (list, optional) – of attrs to copy, if none provided
all (assume) –
sourceDriverFilter (list, pynode) – Driver transforms to filter by,
returned. (if the connected SDK is not driven by this node it will not be) –
- Returns:
n/a
- Return type:
TYPE
- mgear.rigbits.sdk_io.createSDKFromDict(sdkInfo_dict)
Create a sdk node from the provided info dict
- Parameters:
sdkInfo_dict (dict) – dict of node information to create
- Returns:
created sdk node
- Return type:
PyNode
- mgear.rigbits.sdk_io.exportSDKs(nodes, filePath)
exports the sdk information based on the provided nodes to a json file
- Parameters:
nodes (list) – of nodes to export
filePath (string) – full filepath to export jsons to
- mgear.rigbits.sdk_io.getAllSDKInfoFromNode(node)
returns a dict for all of the connected sdk/animCurve on the provided node
- Parameters:
node (pynode) – name of node to the be searched
- Returns:
of all of the sdk nodes
- Return type:
dict
- mgear.rigbits.sdk_io.getBlendNodes(attrPlug)
Check the attrPlug (node.attr) provided for any existing connections if blendWeighted exists, return the appropriate input[#], if sdk, create a blendweighted and connect sdk, return input[#]
- Parameters:
attrPlug (string) – node.attr
- Returns:
node.attr of the blendweighted node that was just created or existing
- Return type:
string
- mgear.rigbits.sdk_io.getConnectedSDKs(driven, curvesOfType=[], sourceDriverFilter=None)
get all the sdk, animcurve, nodes/plugs connected to the provided node.
- Parameters:
node (str, pynode) – name of node, or pynode
curvesOfType (list, optional) – animCurve nodes of type if none provided
set. (will fall back on module defined supported) –
sourceDriverFilter (list, pynode) – Driver transforms to filter by,
returned. (if the connected SDK is not driven by this node it will not be) –
- Returns:
of sdk nodes, paired with the node/attr they effect
- Return type:
list
- mgear.rigbits.sdk_io.getMultiDriverSDKs(driven, sourceDriverFilter=None)
get the sdk nodes that are added through a blendweighted node
- Parameters:
driven (string) – name of the driven node
sourceDriverFilter (list, pynode) – Driver transforms to filter by,
returned. (if the connected SDK is not driven by this node it will not be) –
- Returns:
of sdk nodes
- Return type:
list
- mgear.rigbits.sdk_io.getPynodes(nodes)
Conevenience function to allow uses to pass in strings, but convert to pynodes if not already.
- Parameters:
nodes (list) – string names
- Returns:
of pynodes
- Return type:
list
- mgear.rigbits.sdk_io.getSDKDestination(animNodeOutputPlug)
Get the final destination of the sdk node, skips blendweighted and conversion node to get the transform node. TODO: Open this up to provided type destination
- Parameters:
animNodeOutputPlug (string) – animationNode.output
- Returns:
name of the node, and attr
- Return type:
list
- mgear.rigbits.sdk_io.getSDKInfo(animNode)
get all the information from an sdk/animCurve in a dictioanry for exporting.
- Parameters:
animNode (pynode) – name of node, pynode
- Returns:
dictionary of all the attrs to be exported
- Return type:
dict
- mgear.rigbits.sdk_io.importSDKs(filePath)
create sdk nodes from json file, connected to drivers and driven
- Parameters:
filePath (string) – path to json file
- mgear.rigbits.sdk_io.invertKeyValues(newKeyNode, invertDriver=True, invertDriven=True)
Mirror keyframe node procedure, in case you need to flip your SDK’s.
- Parameters:
newKeyNode (PyNode) – sdk node to invert values on
invertDriver (bool, optional) – should the drivers values be inverted
invertDriven (bool, optional) – should the drivens values be inverted
- mgear.rigbits.sdk_io.mirrorSDKkeys(node, attributes=[], invertDriver=True, invertDriven=True)
mirror/invert the values on the specified node and attrs, get the sdks and invert those values
- Parameters:
node (pynode) – node being driven to have its sdk values inverted
attributes (list, optional) – attrs to be inverted
invertDriver (bool, optional) – should the driver, “time” values
inverted (be) –
invertDriven (bool, optional) – should the driven, “value” values
inverted –
- mgear.rigbits.sdk_io.removeSDKs(node, attributes=[], sourceDriverFilter=None)
Convenience function to remove, delete, all sdk nodes associated with the provided node
- Parameters:
node (pynode) – name of the node
attributes (list, optional) – list of attributes to remove sdks from
all (if none provided, assume) –
sourceDriverFilter (list, pynode) – Driver transforms to filter by,
returned. (if the connected SDK is not driven by this node it will not be) –
- mgear.rigbits.sdk_io.stripKeys(animNode)
remove animation keys from the provided sdk node
- Parameters:
animNode (pynode) – sdk/anim node