zoukankan      html  css  js  c++  java
  • 变量和maya命令 #getAttr #setAttr #xform #connectAttr #disconnectAttr

    get attribute! 

    set attribute!

    xform!(可查询设置transform节点中任何参数)

    connect attribute!

    disconnect attribute!

    #得到,设置,链接,断开属性

    #getAttr & setAttr 

    1)变量loc是新创建locator的transform节点。#如果打印loc变量,列表[0]是transform节点,[1]是shape节点。

    2)设置变量sx,为得到locator的X轴向的缩放值。

    3)修改变量sx,让sx值增加一倍。#变量可以改数值并覆盖的。

    4)设置locatorX轴向的缩放值为现sx值。 

      #这一步若不知如何设置,可先手动调整一下locator的值,看mel是怎么改的。然后替换变量,加上字符串,即可。

      

      #注意!locator1.scaleX字符串中locator1要替换成变量。用+号串起来(不是用逗号,“.scale”中的"."不能掉!)

      #后面的空格用逗号隔开。见下面代码中的第5行

    1 import maya.cmds as cmds
    2 loc = cmds.spaceLocator()[0]
    3 sx = cmds.getAttr(loc+'.scaleX')
    4 sx = sx*2
    5 cmds.setAttr(loc+'.scaleX', sx)

    #xform (复合属性。不可编辑!)

    ## 查询。在上一步代码中,使用xform命令打印locator的平移(注意这里要查询!),使用的是translation!会得到列表[0.0, 0.0, 0.0]。

    6 print cmds.xform(loc, query=True, translation=True)

    ## 新设置 translation值,注意值是列表!这里不用editor=True!

    7 cmds.xform(loc, translation=[0,1,0])

    ##对比使用getAttr和setAttr查询并设置locator的平移。注意这里使用的是translate!会得到包含元组的列表[(0.0, 0.0, 0.0)]。设置值的时候,按照顺序指定值(x,y,z)

    这里会看起来比较繁琐。没有xform命令看起来明了。

    print cmds.getAttr(loc+'.translate')
    cmds.setAttr(loc+'.translate',1,2,3)

    #connectAttr & disconnectAttr &multiplyDivide

     链接属性、断开属性、乘除节点

    1)打开新的场景,创建一个球体和立方体,并保存他们的transform节点。

    2)创建属性链接,球体Y轴的移动,驱动立方体的Y轴旋转。选择球体(测试)。#select命令

    3)断开上面两个属性的链接。

    4)在两个属性之间创建一个multiplyDivide节点,使球体每移动1个单位,立方体旋转90°。#createNode命令

      

     1 import maya.cmds as cmds
     2 Sphere = cmds.polySphere()[0]
     3 Cube = cmds.polyCube()[0]
     4 
     5 cmds.connectAttr(Sphere+'.ty', Cube+'.ry')
     6 cmds.select(Sphere)
     7 
     8 cmds.disconnectAttr(Sphere+'.ty', Cube+'.ry')
     9 
    10 mult = cmds.createNode('multiplyDivide')
    11 cmds.connectAttr(Sphere+'.ty', mult+'.input1X')
    12 cmds.setAttr(mult+'.input2X', 90)
    13 cmds.connectAttr(mult+'.outputX', Cube+'.ry')
    14 cmds.select(Sphere)
  • 相关阅读:
    Golang里边的map变量是什么?
    Golang map的底层实现
    方法和函数的区别
    Golang 对 对象和指针 的理解
    React 部分
    前端开发概述、html、css基础
    服务器核心知识
    常用模块8.7
    2017.8.2迭代器和生成器
    2017.7.18可变/不可变类型,符号运算及其流程控制
  • 原文地址:https://www.cnblogs.com/3lina/p/10233020.html
Copyright © 2011-2022 走看看