【问题标题】:why does cmds.select ('set1') return "none"?为什么 cmds.select ('set1') 返回“none”?
【发布时间】:2016-06-20 02:40:31
【问题描述】:

在我的 Maya 场景中,我有一个包含对象 a、b 和 c 的集合。

我运行这个:

import maya.cmds as cmds

curSel = cmds.select ('set1')
print curSel

它会按照 Maya 文档page 中的说明正确选择集合的成员。它的字面意思是 "# 以下选择 set1 的所有成员"

请多多包涵,我正在努力学习,但浏览搜索结果就像是在大量切线信息的森林中导航,这并没有太大帮助。

虽然我设法使用了选择,但我需要澄清一下为什么 print curSel 返回“none”?是否有我缺少的列表概念?谢谢!

【问题讨论】:

  • 没有一个例子显示分配调用的结果,你为什么认为你应该这样做?
  • 有set1的成员吗?
  • @Ian - 是的,该集合有 3 个成员 - 对象 a、b 和 c
  • @jonrsharpe - 我需要为集合中的每个成员执行一个 for 循环。我能够通过在 mySel 中使用 mySel = cmds.ls(sl=1) curSel = cmds.select ('set1') for x 来解决问题:〜做某事但我想我认为我可以这样做是错误的使用 cmds.select 访问 set1 的成员,就像使用 cmds.ls 一样。
  • 抱歉回复的混乱,我仍在学习如何使用适当的缩进和间距进行发布。再加上我只花了 2 天时间学习脚本。

标签: python select maya


【解决方案1】:

您可以在任何对象上运行cmds.select,无论是集合还是网格,它都会返回None。即使在文档中它说:

返回值:

所以在这种情况下,您可以在 select 命令之后使用cmds.ls(sl = True, l = True) 将对象存储在变量中。

或者,如果您只是想获取集合中的对象,则根本不必费心选择它们并使用cmds.sets('set1', q = True),它将为您提供对象列表。

【讨论】:

    猜你喜欢
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-29
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多