Python For Maya学习笔记1

本文是关于Python在Maya中用于艺术创作的编程学习笔记,重点介绍了如何利用Python提升Maya的工作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python For Maya学习笔记1

-观看Python For Maya Artist Friendly Programming

#from maya import cmds
import maya.cmds as cmds

#变量selection为选择的物体。
selection = cmds.ls(selection=True)

#如果没有选择,则变量selection显示DAG物体的完整路径名。
if len(selection) == 0:
    selection = cmds.ls(dag=True, long=True)

#selection列表进行由长到短排序
selection.sort(key=len, reverse=True)

#用for循环一行行列出所选的列表中的内容(Unicode 字符串)
#然后把字符串通过split函数进行拆分,然后索引取最后一位。
for obj in selection:
    shortName = obj.split('|')[-1]
    
    #因为maya模型是由shape节点和Transform节点组成
    #选择模型时,只选中的是Transform节点,子项中的shape节点没选中,这里就涉及到了子项的选择。
    #通过listRelatives命令得到变量obj中带完整路径的子项。
    #maya中骨骼和组是没有子项的,会返回None。所以后面有加了个空[]列表,获取空。
    children = cmds.listRelatives(obj,children=True, fullPath=True) or []
    
    #如果子项有内容,则得到子类的类型。如果没有则得到变量obj的类型
    #因为obj是列出了所有大纲中的内容,所以不会漏掉。
    #注意这里,children是列表,child为Unicode字符串。具体不清楚为啥要有转换?
    #这里有个bug,如果组里面有(joint)其它东西,则不能正确显示组的类型。
    if len(children) == 1:
        
        child = children[0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值