在 Python 中使用标志

 
 
 

标志与命令配合使用可以修改其执行。Python 将标志作为命名参数执行。MEL 中的一些标志不需要值。由于 Python 中的所有命名的参数都需要一个值,所以这些标志将被赋予用于启用标志的值 True 或用于忽略标志的 False。设定多个命名的参数时,参数值对用逗号在括号内分隔。在命令中,命令参数必须出现在命名的参数之前。

在 Python 中使用标志

  1. 通过键入以下命令创建多边形立方体,多边形立方体的宽度在创建时定义:
    cmds.polyCube(width=5)
    

    宽度标志可使您在创建时设定立方体的宽度。

  2. 创建多边形球体,多边形球体的半径、X 方向上的细分以及名称在创建时定义。
    cmds.polySphere(radius=1, subdivisionsX=4, name="testSphere")
    

    通过用逗号分隔标志值对,可以使用多个标志来修改命令的执行。radius 标志设定所创建球体的半径。subdivisionsX 标志设定球体在 X 方向上的细分数量。

    注意

    通过键入 cmds.help ("command"),可以将可用于命令的标志列表输出到脚本编辑器中。例如:cmds.help ("sphere")

在 Python 中结合使用标志和命令参数

  1. 通过在“脚本编辑器”(Script Editor)中键入以下命令,移动多边形球体:
    cmds.move(2,2,2)
    
  2. 选择多边形立方体。
  3. 通过键入以下命令移动多边形立方体:
    cmds.move(1,2,3)
    
  4. 通过键入以下命令,相对于其当前位置移动多边形立方体:
    cmds.move(-1,0,-2,relative=True)
    

    多边形立方体相对于其当前位置移动。相对标志必须放置在命令参数之后,在 Python 中,传递参数时,命名的参数必须出现在位置参数之后。命令参数必须始终是命令的第一个参数。

  5. 通过键入以下命令,在不选择多边形球体情况下移动多边形球体:
    cmds.move(3,2,1,"testSphere",relative=True)
    

    对象的名称必须作为字符串在命令参数之后、标志之前传递。

在 Python 中结合使用标志和多个参数

  1. 通过键入以下命令创建黄色染色点光源:
    cmds.pointLight(rgb=(1,1,0.5))
    

    点光源命令在原点创建点光源。rgb 标志指定光源的颜色。rgb 标志需要三个值;红色、绿色和蓝色。

    标志需要多个值时,这些值必须打包到 Python 的数组或列表数据类型中。数组是存储单一变量内多个同类数据方法,类似于 MEL 中的数组。列表类似于数组,但列表支持单一变量内的多种数据类型。上述命令将 RGB 值打包到数组中。也可以使用列表来达到相似的效果。

  2. 通过键入以下命令移动当前选定光源:
    cmds.move(12,15,12)
    
  3. 通过键入以下命令创建蓝色染色光源:
    cmds.pointLight(rgb=[0.2,0.2,1])
    

    方括号 [] 表示列表,圆括号 ( 表示数组。

    rgb 标志的值可以打包到列表或数组中并执行相同的操作。

  4. 通过键入以下命令移动当前选定光源:
    cmds.move(12,15,-5)
    
  5. 通过单击多边形立方体,然后按住 Shift 键单击球体选择多边形立方体和多边形球体。
  6. 通过按键盘上的 F 热键,框显选定对象。
  7. 通过按“状态行”(Status line)上的渲染当前帧按钮 渲染场景。

    “渲染视图”(Render View)打开并显示以下图像。

  8. 选择场景中的所有对象,然后通过键入以下命令删除这些对象
    cmds.select(allDagObjects=True)
    cmds.delete()
    

    结合使用 Maya 命令 selectallDagObjects 标志选择场景中实际存在的对象,例如几何体,IK 链和测量工具。这些对象出现在称为 DAG 的内部 Maya 表示上。有关详细信息,请参见《Maya 用户手册》中的“DAG”