pymel.core.modeling.transferShadingSets¶
- transferShadingSets(*args, **kwargs)¶
Command to transfer shading set assignments between meshes. The last mesh in the list receives the shading assignments from the other meshes. In query mode, return type is based on queried flag.
Flags:
Long Name / Short Name Argument Types Properties sampleSpace / spa int Selects which space the attribute transfer is performed in. 0 is world space, 1 is model space. The default is world space. searchMethod / sm int Specifies which search method to use when correlating points. 0 is closest along normal, 3 is closest to point. The default is closest to point. Flag can have multiple arguments, passed either as a tuple or a list. Derived from mel command maya.cmds.transferShadingSets
Example:
import pymel.core as pm # make a low res sphere with shaders low = pm.polySphere( sx=6, sy=6 )[0] lowShape = pm.listRelatives( low, fullPath=True, shapes=True )[0] redSG = pm.sets( r=True, em=True ) redMat = pm.shadingNode( "lambert", asShader=True ) pm.setAttr( redMat + ".color", 1, 0, 0, type='double3' ) pm.connectAttr( redMat + ".outColor", redSG + ".surfaceShader", f=True ) greenSG = pm.sets( r=True, em=True ) greenMat = pm.shadingNode( "lambert", asShader=True ) pm.setAttr( greenMat + ".color", 0, 1, 0, type='double3' ) pm.connectAttr( greenMat + ".outColor", greenSG + ".surfaceShader", f=True ) pm.sets( lowShape + '.f[0:17]', e=True, fe=redSG ) pm.sets( lowShape + '.f[18:36]', e=True, fe=greenSG ) # make a high res sphere high = pm.polySphere( sx=20, sy=20 )[0] highShape = pm.listRelatives( high, fullPath=True, shapes=True )[0] pm.xform( high, ws=True, t=(2, 0, 0) ) # transfer the shading sets pm.select( low, r=True ) pm.select( high, tgl=True ) pm.transferShadingSets( sampleSpace=1 )