• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Python cmds.setKeyframe函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中maya.cmds.setKeyframe函数的典型用法代码示例。如果您正苦于以下问题:Python setKeyframe函数的具体用法?Python setKeyframe怎么用?Python setKeyframe使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了setKeyframe函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: keyFullRotation

def keyFullRotation (pObjectName, pStartTime, pEndTime, pTargetAttribute):
    
     cmds.cutKey (pObjectName, time = (pStartTime, pEndTime), attribute=pTargetAttribute)
     cmds.setKeyframe (pObjectName, time = pStartTime, attribute=pTargetAttribute, value=0)
     cmds.setKeyframe (pObjectName, time = pEndTime, attribute=pTargetAttribute, value=360)
     cmds.selectKey (pObjectName, time = (pStartTime, pEndTime), attribute=pTargetAttribute, keyframe=True)
     cmds.keyTangent (inTangentType='linear', outTangentType='linear')
开发者ID:FranTirado,项目名称:PruebaMaya,代码行数:7,代码来源:#createRotwithUI.py


示例2: buildGhostAnimation

def buildGhostAnimation(*args):
    
    obj = 'ghost_body1'

    # get animation start and end points from ui controls
    animation_start = cmds.intField('animation_start', query=True, value=True)
    animation_end   = cmds.intField('animation_end', query=True, value=True)

    for current_time in range(animation_start, animation_end + 1):
        
        cmds.currentTime(current_time, edit=True)
        locatorPos = cmds.xform('character_locator', q=1, t=True)
        
        x = round(locatorPos[0], 2)
        z = round(locatorPos[2], 2)

        if x % 1 == 0.25 or z % 1 == 0.25:
            cmds.xform(obj, rotation = [0, 11.25, 0])
        elif x % 1 == 0.5 or z % 1 == 0.5:
            cmds.xform(obj, rotation = [0, 22.5, 0])
        elif x % 1 == 0.75 or z % 1 == 0.75:
            cmds.xform(obj, rotation = [0, 33.75, 0])
        elif x % 1 == 0 or z % 1 == 0:
            cmds.xform(obj, rotation = [0, 0, 0])
        else:
            assert False, "Unhandled character position"

        cmds.setKeyframe([obj])
开发者ID:andy-walker,项目名称:pacman-3d,代码行数:28,代码来源:pacTools.py


示例3: insertKeyToAnimLayer

def insertKeyToAnimLayer():
    '''
    inserts key to all animcurves in anim layer, wont key if objects has not been keyed but is in anim layer
    '''
    currentLayer = cmds.treeView ('AnimLayerTabanimLayerEditor', q=True, selectItem=True)
    curves = cmds.animLayer(currentLayer[0], q=True, anc=True)
    cmds.setKeyframe(curves, i=True)
开发者ID:boochos,项目名称:work,代码行数:7,代码来源:characterSet_lib.py


示例4: OnKeyChange

	def OnKeyChange( self, *args ):
		checks  = [ cmds.checkBox( self.cXKey, query = True, value = True ), cmds.checkBox( self.cYKey, query = True, value = True ), cmds.checkBox( self.cZKey, query = True, value = True ) ]
		attribs = [ ".translateX", ".translateY", ".translateZ" ]
		
		# ... se quieren cambios? ...
		sequence  = next( ( seq for seq in self.SequenceInfo if seq.GetNode() == self.ActiveNode ), None )
		frameInfo = sequence.GetFrameInfo( self.ActiveManip.GetFrame() )
		
		# ...
		refreshCurve = False
		frame        = self.ActiveManip.GetFrame() + self.StartFrame
		
		for i in range( 0, 3 ):
			if ( checks[ i ] != frameInfo.HasTranslationKeyAxis( i ) ):
				if ( checks[ i ] ): # ... se crea la key ...
					cmds.setKeyframe( self.ActiveNode + attribs[ i ], insert = True, time = ( frame, frame ) )
					frameInfo.SetTranslationKey( i )
				else: # ... se borra la key ...
					#cmds.selectKey( self.ActiveNode + attribs[ i ], add = True, keyframe = True, time = ( frame, frame ) )
					cmds.cutKey( self.ActiveNode + attribs[ i ], time = ( frame, frame ), option = "keys" )
					frameInfo.RemoveTranslationKey( i )
					
				refreshCurve = True
				
		# ...
		if ( refreshCurve ):
			self.CreateCurve()
开发者ID:malandrin,项目名称:maya-scripts,代码行数:27,代码来源:MTRuntimeKeyTransform.py


示例5: updateRot

def updateRot(indAnt, vel, curTri, newTri, comPos, nextLeft, extForceFrame):
    """Update the rotation of the character
    
    """
    if np.linalg.norm(extForceFrame) != 0:
        diff = np.average(newTri, axis=0) - np.average(curTri, axis=0)
    else:
        diff = np.average(newTri, axis=0) - comPos
    velNorm = np.linalg.norm(vel)
    diffNorm = np.linalg.norm(diff)
    newVel = velNorm*diff/diffNorm
    # normal is normalised
    triN = triangleNorm(curTri, nextLeft)
    velOnNormal = np.dot(newVel, triN)*triN
    velOnTri = newVel - velOnNormal    
    # scale matrix for the ant model
    scaleMatrix = np.matrix([[0.4, 0, 0, 0], 
                             [0, 0.4, 0, 0], 
                             [0, 0, 0.4, 0], 
                             [0, 0, 0, 1]])    
    rotMat = up.constructRotMat(triN, velOnTri, full=True)
    mat = np.asarray(rotMat*scaleMatrix).flatten()
    cmds.xform("antRig"+str(indAnt), m=mat)
    cmds.setKeyframe('antRig'+str(indAnt), at='rotate')   
    return newVel
开发者ID:shihuiguo,项目名称:pythant,代码行数:25,代码来源:triangleNew.py


示例6: constructNode

	def constructNode( self, timeOffset=0 ):
		'''
		constructs an animCurve node using the data stored on the instance

		returns the node created
		'''
		animCurveNode = createNode( self[ self.CURVE_TYPE ] )

		#massage the time values
		times = [ t+timeOffset for t in self[ self.TIME ] ]
		values = self[ self.VALUE ]
		maxIdxVal = len( values ) - 1

		setKeyframe = cmd.setKeyframe
		for time, value in zip( times, values ):
			setKeyframe( animCurveNode, t=time, v=value )

		#set key data
		setAttr( '%s.wgt' % animCurveNode, self[ self.WEIGHTED ] )
		setAttr( '%s.pre' % animCurveNode, self[ self.PRE_INF ] )
		setAttr( '%s.pst' % animCurveNode, self[ self.POST_INF ] )

		setAttr( '%s.keyBreakdown[0:%d]' % (animCurveNode, maxIdxVal), *self[ self.BREAKDOWN ] )
		setAttr( '%s.keyTanLocked[0:%d]' % (animCurveNode, maxIdxVal), *self[ self.TAN_LOCK ] )
		setAttr( '%s.keyWeightLocked[0:%d]' % (animCurveNode, maxIdxVal), *self[ self.WEIGHT_LOCK ] )

		setAttr( '%s.kix[0:%d]' % (animCurveNode, maxIdxVal), *self[ self.ITX ] )
		setAttr( '%s.kiy[0:%d]' % (animCurveNode, maxIdxVal), *self[ self.ITY ] )
		setAttr( '%s.kox[0:%d]' % (animCurveNode, maxIdxVal), *self[ self.OTX ] )
		setAttr( '%s.koy[0:%d]' % (animCurveNode, maxIdxVal), *self[ self.OTY ] )

		setAttr( '%s.kit[0:%d]' % (animCurveNode, maxIdxVal), *self[ self.ITT ] )
		setAttr( '%s.kot[0:%d]' % (animCurveNode, maxIdxVal), *self[ self.OTT ] )

		return animCurveNode
开发者ID:zethwillie,项目名称:zbw_python_tools,代码行数:35,代码来源:animClip.py


示例7: BezierInterpolate

def BezierInterpolate(curveName):
    rawKeyCount = mc.keyframe(curveName, query=True, keyframeCount=True)
    keyframes = mc.keyframe(curveName, query=True, timeChange=True, valueChange=True)
    
    if rawKeyCount < 4:
        print "Not enough control points, key count = " + str(rawKeyCount) + ", must have at least 4"
        return;
    
    keyCount = ((rawKeyCount - 4) // 3) * 3 + 4;
    curveCount = 1 + ((keyCount - 4) // 3);
    
    basisMatrix = matrix4x4([-1, 3, -3, 1, 3, -6, 3, 0, -3, 3, 0, 0, 1, 0, 0, 0])
    
    for index in range(curveCount):
        p1KeyArrayIndex = 2 * (index * 3);
        p2KeyArrayIndex = 2 * (index * 3 + 1);
        p3KeyArrayIndex = 2 * (index * 3 + 2);
        p4KeyArrayIndex = 2 * (index * 3 + 3);
        p1 = vector2(keyframes[p1KeyArrayIndex], keyframes[p1KeyArrayIndex + 1]);
        p2 = vector2(keyframes[p2KeyArrayIndex], keyframes[p2KeyArrayIndex + 1]);
        p3 = vector2(keyframes[p3KeyArrayIndex], keyframes[p3KeyArrayIndex + 1]);
        p4 = vector2(keyframes[p4KeyArrayIndex], keyframes[p4KeyArrayIndex + 1]);

        startTime = int(keyframes[p1KeyArrayIndex])
        endTime = int(keyframes[p4KeyArrayIndex])
        timeSteps = abs(endTime - startTime)
        
        for t in range(timeSteps + 1):
            time = float(t) / timeSteps
            timeVector = matrix1x4([time ** 3, time ** 2, time, 1]);
            inputPointsVector = matrix4x1([p1, p2, p3, p4]);
            
            output = timeVector * basisMatrix * inputPointsVector;
            mc.setKeyframe(curveName, time=output.x, value=output.y)
开发者ID:ddias3,项目名称:ddias3ComputerAnimationProjects,代码行数:34,代码来源:InterpolationCurves.py


示例8: setKeyByData

def setKeyByData(namespace, data):
    #- data format not right..
    if not isinstance(data, dict):
        return
    
    #- data is empty..
    if len(data) == 0:
        return
    
    #- object not exists..
    obj = getObjectReferencedName(namespace, data.get('object', '"'))
    if not mc.objExists(obj):
        return
    
    #- reading data..
    for attr, keydata in data.get('keyData', dict()).iteritems():
        #- testing attribute..
        
        #- key it
        for tm_V, va_V, ia_V, iw_V, oa_V, ow_V in keydata:
            #- set key
            mc.setKeyframe(obj, at=attr, t=tm_V, v=va_V)
            #- fix curve
            mc.keyTangent('%s.%s'%(obj, attr), l=False)
            mc.keyTangent(obj, e=True, at=attr, a=True, t=(tm_V, tm_V), ia=ia_V, iw=iw_V, oa=oa_V, ow=ow_V)
            mc.keyTangent('%s.%s'%(obj, attr), l=True)
开发者ID:auqeyjf,项目名称:poseLibrary,代码行数:26,代码来源:KeyData.py


示例9: apply

    def apply(self, attr):
        obj = attr.node()
        obj_mel = obj.__melobject__()
        attr_longName = attr.longName()
        attrMel = attr.__melobject__()
        if len(self.times) > 0:
            for time, value in zip(self.times, self.values):
                cmds.setKeyframe(obj_mel, time=time, attribute=attr_longName, value=value,
                     breakdown=False,  # TODO: Approve
                     hierarchy='none',  # TODO: Approve
                     controlPoints=False,  # TODO: Approve
                     shape=False)  # TODO: Approve

            # set tangents
            cmds.keyTangent(attrMel, edit=True, wt=int(self.weightedTangent))  # todo: approve int cast
            for time, inAngle, outAngle, inWeight, outWeight, inTangentType, outTangentType, lock in zip(
                self.times, self.inAngles, self.outAngles, self.inWeights, self.outWeights, self.inTangentTypes, self.outTangentTypes, self.locks):
                fn_keyTangent = functools.partial(cmds.keyTangent, attrMel, edit=True, time=(time, time))
                fn_keyTangent(inAngle=inAngle,
                    outAngle=outAngle,
                    inWeight=inWeight,
                    outWeight=outWeight)
                fn_keyTangent(inTangentType=inTangentType,outTangentType=outTangentType)
                fn_keyTangent(lock=lock) # TODO: Optimise

            # set infinity
            if self.preInfinity != "constant":
                cmds.setInfinity(obj, attribute=attr_longName, preInfinity=self.preInfinity)
            if self.postInfinity != "constant":
                cmds.setInfinity(obj, attribute=attr_longName, postInfinity=self.postInfinity)
        else:
            attr.set(self.value)
开发者ID:Leopardob,项目名称:omtk,代码行数:32,代码来源:cpAnim.py


示例10: cutEarlier

def cutEarlier(selectionOption=1, setKey=True):
    
    keySel = _getKeySelection(selectionOption)
    keySel.fromBeginning()
    if setKey and keySel.findKeyframe('previous', time=(keySel._timeRangeEnd,)) < keySel._timeRangeEnd :
        mc.setKeyframe(keySel.curves, time=keySel._timeRangeEnd)
    keySel.cutKey()
开发者ID:Italic-,项目名称:maya-prefs,代码行数:7,代码来源:ml_animCurveEditor.py


示例11: findSpeeds

def findSpeeds(arg):
    frameRates = {"game": 15, "film": 24, "pal": 25, "ntsc": 30, "show": 48, "palf": 50, "ntscf": 60}

    first_user_frame = cmds.intField(window_UI["first_frame"], query=True, value=True)
    last_user_frame = cmds.intField(window_UI["last_frame"], query=True, value=True)

    start_frame = cmds.playbackOptions(query=True, minTime=True)
    end_frame = cmds.playbackOptions(query=True, maxTime=True)

    if first_user_frame < start_frame or last_user_frame > end_frame:
        return

    current_frame = first_user_frame

    fps = frameRates[cmds.currentUnit(query=True, time=True)]
    timeInterval = 1.0 / fps

    selectedObjects = cmds.ls(selection=True)
    attr = "speed"
    addAttributeToObjects(selectedObjects, attr)

    prevPos = []
    for obj in selectedObjects:
        prevPos.append(cmds.getAttr(obj + ".translate")[0])

    while current_frame < last_user_frame:
        current_frame += 1
        for k in xrange(0, len(selectedObjects)):
            obj = selectedObjects[k]
            currentPos = cmds.getAttr(obj + ".translate", time=current_frame)[0]

            speed = getSpeed(prevPos[k], currentPos, timeInterval)

            cmds.setKeyframe(obj, at="speed", v=speed, t=current_frame)
            prevPos[k] = currentPos
开发者ID:juansc,项目名称:maya_speedometer,代码行数:35,代码来源:speedometer.py


示例12: PasteMirrorPose

def PasteMirrorPose():
    # создаю функцию, которая проверяет значение на '-'
    # и заменяет его на противоположное
    def MirrorChange(value):
        if '-' in value:
            value = value[1:]
        else:
            value = '-' + value
        return value
    
    # задаю префиксы, по которым ориентируюсь, правая или левая сторона
    lPref = 'l_'
    rPref = 'r_'
    
    # paste copied and mirrored keys
    for setAttrib in setAttribList:
        splitKey = setAttrib.split()
        object = splitKey[0]
        attribute = splitKey[1]
        value = splitKey[2]
        # извлекаю префикс из имени объекта
        objPref = object[0:2]
        # задаю условия для зеркального отображения объектов
        if 'rotateY' in attribute:
            value = MirrorChange(value)
        if 'rotateZ' in attribute:
            value = MirrorChange(value)    
        if 'translateX' in attribute:
            value = MirrorChange(value)
        if rPref in objPref:
            object = lPref + object[2:]
        if lPref in objPref:
            object = rPref + object[2:]    
        cmds.setAttr(object + '.' + attribute, float(value))
    cmds.setKeyframe(locList)
开发者ID:AndreySibiryakov,项目名称:coding,代码行数:35,代码来源:face_animation_tools.py


示例13: createBurnin

    def createBurnin(self,*args):
        """
        Create the burn-in image plane for the playblast
        """
        #Get play blast camera shape node
        temp = cmds.listRelatives(self.classScopeData['camera'],shapes=True)
        camShape = temp[0]
        
        #Create image plane
        mel.eval('createImportedImagePlane { "%s" }  "%s" "image";'%(camShape,self.classScopeData['image']))
        temp = cmds.listConnections(camShape)
        
        #If other image planes exist, select the last one
        if len(temp) > 1:
            self.imagePlane = temp[len(temp)-1]
        else:
            self.imagePlane = temp[0]
        
        cmds.setAttr('%s.depth'%self.imagePlane,1)

        #Key the burn-ins visibility
        cmds.setKeyframe( self.imagePlane, attribute='alphaGain', 
                          t=( self.classScopeData['startTime'] - 1 ),v=0 )
        cmds.setKeyframe( self.imagePlane, attribute='alphaGain', 
                          t=( self.classScopeData['startTime'] ),v=1 )
开发者ID:Mauricio3000,项目名称:MSH_Maya,代码行数:25,代码来源:BlastMaster.py


示例14: createSlate

 def createSlate(self,*args):
     """
     Create the slate image plane for the playblast
     """
     #Setup image plane
     #Get play blast camera shape node
     temp = cmds.listRelatives(self.classScopeData['camera'],shapes=True)
     camShape = temp[0]
     
     #Create image plane
     mel.eval('createImportedImagePlane { "%s" }  "%s" "image";'%(camShape,self.classScopeData['slate']))
                             
     temp = cmds.listConnections(camShape)
     
     #If other image planes exist, select the last one
     if len(temp) > 1:
         self.slatePlane = temp[len(temp)-1]
     else:
         self.slatePlane = temp[0]
     
     #Key the slates visibility. On for 1 frame.
     cmds.setKeyframe( self.slatePlane, attribute='alphaGain', 
                       t=( self.classScopeData['startTime'] - 1 ),v=1 )
     cmds.setKeyframe( self.slatePlane, attribute='alphaGain', 
                       t=( self.classScopeData['startTime'] ),v=0 )
开发者ID:Mauricio3000,项目名称:MSH_Maya,代码行数:25,代码来源:BlastMaster.py


示例15: animateLegs

def animateLegs(indAnt, feetPos):
    """Animate the legs via Maya keyframe commands
    
    """
    for leg, footPos in zip(legArray, feetPos):                    
        cmds.xform(leg+"IK"+str(indAnt), t=footPos)        
        cmds.setKeyframe(leg+"IK"+str(indAnt),at="translate")
开发者ID:shihuiguo,项目名称:pythant,代码行数:7,代码来源:utils_pythant.py


示例16: set_empty_page

def set_empty_page():
    """Sets the current frame as an empty page.

    :returns: None.
    :raises: None.
    """
    # Then group the objects into their own page. The page number is dictated
    # by the current frame:
    current_frame = cmds.currentTime(query=True)
    page_name = "page_%04d" % (current_frame)

    if not cmds.objExists(page_name):

        cmds.group(name=page_name, empty=True)

        # Add the visibility override attribute to the group name:
        cmds.addAttr(page_name, longName="visibilityOverride", attributeType="bool")
        cmds.setKeyframe(page_name + ".visibilityOverride", time=1, value=0)

        # Set the key for this page and insert the page number into the attribute
        # on the flipbook node:
        _update_flipbook_node(page_name, current_frame)

    # Return
    return
开发者ID:eoghancunneen,项目名称:mayaflipbook,代码行数:25,代码来源:animationflipbook.py


示例17: _update_flipbook_node

def _update_flipbook_node(new_page, current_frame):
    """ Updates the flipbook node with a new page in the enumerator
    and sets the key for that frame.

    :param new_page:
    :type new_page:
    :returns: None
    """
    # ...:
    cmds.expression(object=new_page,
            name="%s_visbility_EXP" % (new_page),
            string="int $page = %d;\n"
            "int $current_keyed_frame = flipbook_LOC.pagesToDisplay;\n"
            "%s.visibility = ($page==$current_keyed_frame)||(visibilityOverride);"
            % (current_frame, new_page),
            alwaysEvaluate=True)

    # We will also be adding another attribute with just integer values.
    # This will be set here at this point as well.
    cmds.setKeyframe("flipbook_LOC.pagesToDisplay",
                     value=current_frame,
                     time=current_frame,
                     outTangentType="step")

    # Return:
    return
开发者ID:eoghancunneen,项目名称:mayaflipbook,代码行数:26,代码来源:animationflipbook.py


示例18: build_crack_distance

	def build_crack_distance( self, distance_locator ):
		obj_distance = {}
		
		current_time = cmds.currentTime( query = True )
		loc_custon_attrs = cmds.listAttr( ud = True )
		
		for attr in loc_custon_attrs:
			distance_node = cmds.listConnections( '{0}.{1}'.format( distance_locator, attr ) )
			
			if distance_node:
				distance_node = distance_node[0]
				mesh_node = cmds.listConnections( '{0}.point2'.format( distance_node ) )

				if mesh_node:
					mesh_node = mesh_node[0]
					
					obj_distance[cmds.getAttr( '{0}.distance'.format( distance_node ) )] = mesh_node

		for value in sorted( obj_distance ):
			obj = obj_distance[value]

			obj_active = '{0}.active'.format( obj )

			if cmds.objExists( obj_active ):
				cmds.setAttr( obj_active, 0 )
				cmds.setKeyframe( obj_active, time = current_time )

				current_time = current_time + 0.5
				cmds.setAttr( obj_active, 1 )
				cmds.setKeyframe( obj_active, time = current_time )
开发者ID:StuTozer,项目名称:art_pipeline,代码行数:30,代码来源:simulation_tool.py


示例19: oldKeyArmIKFK

def oldKeyArmIKFK(preRoll):
    #Right Arm
    #Check initial IKFK State
    mc.currentTime(0)
    if mc.getAttr('ten_rig_main_r_arm_switch_CTL.IKFK_Switch') == 0:
        #Set Arm as FK
        mc.setAttr('ten_rig_main_l_arm_switch_CTL.IKFK_Switch', 1)
        
        if (mc.getAttr('ten_rig_main_l_arm_switch_CTL.IKFK_Switch', keyable=True) or mc.getAttr('ten_rig_main_l_arm_switch_CTL.IKFK_Switch', channelBox=True)):
            mc.setKeyframe('ten_rig_main_l_arm_switch_CTL.IKFK_Switch');
        
        
        
        #Set IKFK at zero
        mc.setKeyframe('ten_rig_main_r_arm_switch_CTL.IKFK_Switch')
        #Set IKFK at preRoll
        mc.currentTime(preRoll)
        mc.setAttr('ten_rig_main_r_arm_switch_CTL.IKFK_Switch', 1)
        mc.setKeyframe('ten_rig_main_r_arm_switch_CTL.IKFK_Switch')
    
    #Left Arm
    #Check initial IKFK State
    mc.currentTime(0)
    if mc.getAttr('ten_rig_main_l_arm_switch_CTL.IKFK_Switch') == 0:
        #Set IKFK at zero
        mc.setKeyframe('ten_rig_main_l_arm_switch_CTL.IKFK_Switch')
        #Set IKFK at preRoll
        mc.currentTime(preRoll)
        mc.setAttr('ten_rig_main_l_arm_switch_CTL.IKFK_Switch', 1)
        mc.setKeyframe('ten_rig_main_l_arm_switch_CTL.IKFK_Switch')
开发者ID:lasaldan,项目名称:taijitu_cloth_scripts,代码行数:30,代码来源:df_ten_preroll_sim.py


示例20: draw

    def draw(self):

            circle1 = cmds.circle( nr=(1, 0, 0), c=(0, 0, 0), sw=self.sweep, r=self.start_radius )
            circle2 = cmds.circle( nr=(1, 0, 0), c=(0, 0, 0), sw=self.sweep, r=self.end_radius )

            l1 = cmds.loft(circle1, circle2)

            # curves
            crv = cmds.curve(p=[(0, self.start_radius, 0), (0, self.end_radius, 0)], degree=1)
            crv2 = cmds.duplicate(crv)
            cmds.rotate(str(self.sweep) + 'deg', 0, 0, r=True)

            extrusions = []

            for e in [circle1, circle2, crv, crv2]:
                extrusions.append(cmds.extrude(e, et=0, d=(1,0,0), l=self.height))
                cmds.delete(e)

            pieces = extrusions + [l1]
            group = cmds.group(*[e[0] for e in pieces])

            cmds.move(0,0,0, group+".scalePivot",group+".rotatePivot", absolute=True)
            cmds.setKeyframe(group, attribute='rotateX', t='0sec', value=self.rotation)

            return (pieces, group)
开发者ID:chirs,项目名称:studio5,代码行数:25,代码来源:panopticon.py



注:本文中的maya.cmds.setKeyframe函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python cmds.setParent函数代码示例发布时间:2022-05-27
下一篇:
Python cmds.setDrivenKeyframe函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap