返回列表
mayaAPI

cmds.ls()函数详解(上)

cmds.ls() 对标大纲视图,作用为快速选择想要的节点
默认返回场景内所有 DG 节点(依赖图)和 DAG 节点(有向无环图)
第一个用法:获取节点

allList = cmds.ls()  # 获取场景中的DG和DAG

第二个用法:获取变换./形态节点

transList = cmds.ls(transforms=True)  # 获取场景中的变换节点
shapList = cmds.ls(shapes=True)       # 获取场景中的形态节点

DG DAG 节点:

1.默认返回节点范围无参数时,cmds.ls() 会返回:

  • 系统管理节点:time1sequenceManager1
  • 渲染 / 着色节点:hardwareRenderingGlobalslambert1
  • 工具 / 设置节点:ikSystemhyperGraphInfo
  • 图层 / 管理器节点:layerManagerrenderLayerManager

2. 节点类型定义

  • DAGDirected Acyclic Graph,有向无环图)
    • 可见于视图窗口,支持父子层级变换(如模型、组)
    • 有向:支持父子嵌套关系
    • 无环:避免数据无限循环导致软件崩溃
  • DGDependency Graph,依赖图)
    • 后台不可见
    • 所有 DAG 节点都依赖 DG 节点管理数据与层级关系

总结:

1.cmds.ls() Maya 场景节点查询的基础入口,核心价值在于节点枚举与筛选

2.区分 DG/DAG 节点是理解 Maya 场景结构的关键:DAG 负责可见层级,DG 负责后台数据支撑。

3.实际开发中应优先使用筛选参数(如 transforms/shapes),避免全量遍历影响性能。

4.格式化输出(分组打印 /pprint)能显著提升调试与日志可读性。