在 Maya 中,当我列出场景中的渲染层时,Maya 返回这些层,但并不总是按照它们在其旧版渲染层编辑器中显示的顺序。在更改现有渲染层的名称或添加和减去渲染层后,情况会如此。有没有办法列出图层并让 Maya 遵守渲染图层编辑器中使用的顺序?
导入 maya.cmds 作为 cmds cmds.ls(type = "renderLayer")
渲染层和显示层有一个名为“displayOrder”的属性,该属性从底部开始计数 - 因此 #1 是 UI 中的最低层,#2 是其上面的层,依此类推。默认图层的 id 始终为 0。
这将为您提供一个 renderLayers 字典,其中键是顺序,值是图层:
render_layers = {
cmds.getAttr( i + ".displayOrder") : i for i in cmds.ls(type='renderLayer')
}
Run Code Online (Sandbox Code Playgroud)
您可以将其转换为按显示顺序排列的列表:
layers_in_order = [render_layers[x] for x in sorted(render_layers.keys())]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2998 次 |
| 最近记录: |