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)
  • 相关阅读:
    Mysql基本操作、C++Mysql简单应用、PythonMysql简单应用
    Mysql安装步骤
    MVC EF 移除建表时自动加上s的复数形式
    MVC autofac 属性注入
    layui table默认选中指定行
    js slice 假分页
    sql 根据身份证号码计算年龄
    pointer-events: none
    /Date(1555554794000)/ 转换为日期格式
    sql 查询字段如果为null 则返回0的写法
  • 原文地址:https://www.cnblogs.com/3lina/p/10233020.html
Copyright © 2011-2022 走看看