Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Transforms to instance
- from pymel.core import *
- sl = selected()
- InstancePos = sl[:-1]
- InstanceObj = sl[-1]
- TransformToArrayCheck = ls(InstanceObj+"_TrToArray")
- if not TransformToArrayCheck:
- TransformToArrayNode = soup().create('transformsToArrays')
- rename(TransformToArrayNode, InstanceObj+"_TrToArray")
- TransformToArrayNode = ls(InstanceObj+"_TrToArray")[0]
- i = 0
- for pos in InstancePos:
- pos.worldMatrix[0] >> TransformToArrayNode.inTransforms[i].inMatrix
- i+=1
- # position_arrayToDynArrays Node
- posArray = ls(InstanceObj+"_position_arrayToDynArrays")
- if not posArray:
- posArray = createNode("arrayToDynArrays")
- rename(posArray, InstanceObj+"_position_arrayToDynArrays")
- posArray = ls(InstanceObj+"_position_arrayToDynArrays")
- TransformToArrayNode.outPositionPP >> posArray[0].inArray
- setAttr(InstanceObj+"_position_arrayToDynArrays"+".name","position",type="string")
- # rotate_arrayToDynArrays Node
- rotateArray = ls(InstanceObj+"_rotate_arrayToDynArrays")
- if not rotateArray:
- rotateArray = createNode("arrayToDynArrays")
- rename(rotateArray, InstanceObj+"_rotate_arrayToDynArrays")
- rotateArray = ls(InstanceObj+"_rotate_arrayToDynArrays")
- TransformToArrayNode.outRotationPP >> rotateArray[0].inArray
- rotateArray[0].outDynamicArrays >> posArray[0].inDynamicArrays
- setAttr(InstanceObj+"_rotate_arrayToDynArrays"+".name","rotation",type="string")
- # scale_arrayToDynArrays Node
- scaleArray = ls(InstanceObj+"_scale_arrayToDynArrays")
- if not scaleArray:
- scaleArray = createNode("arrayToDynArrays")
- rename(scaleArray, InstanceObj+"_scale_arrayToDynArrays")
- scaleArray = ls(InstanceObj+"_scale_arrayToDynArrays")
- TransformToArrayNode.outScalePP >> scaleArray[0].inArray
- scaleArray[0].outDynamicArrays >> rotateArray[0].inDynamicArrays
- setAttr(InstanceObj+"_scale_arrayToDynArrays"+".name","scale",type="string")
- # Instancer Node
- instancerNode = ls(InstanceObj+"_instancerNode")
- if not instancerNode:
- instancerNode = createNode("instancer")
- rename(instancerNode, InstanceObj+"_instancerNode")
- instancerNode = ls(InstanceObj+"_instancerNode")
- posArray[0].outDynamicArrays >> instancerNode[0].inputPoints
- InstanceObj.matrix >> instancerNode[0].inputHierarchy[0]
Advertisement
Add Comment
Please, Sign In to add comment