目录
步骤1,创建工具架
屏幕右下角,打开命令窗口,
把脚本粘贴进去,然后全选代码,拖拽到工具架中,
步骤2,修改工具架
选中右键编辑,命令:
设置图图标,标签(名字),标签颜色,
选中当前节点和所有子节点
import maya.cmds as cmds
# 获取当前选择的节点
selected_nodes = cmds.ls(selection=True)
# 创建一个列表来存储所需的节点:当前选中的节点及其所有后代
nodes_to_select = list(selected_nodes) # 创建一个新列表复制当前选择,确保当前选择也被包含
# 遍历每个已选择的节点并获取其所有后代节点
for node in selected_nodes:
# listRelatives命令用来获取节点的所有后代,allDescendents=True开启递归查询
node_descendants = cmds.listRelatives(node, allDescendents=True, type='transform') or []
nodes_to_select.extend(node_descendants)
# 选择获取到的节点列表,包括当前节点和所有后代节点
cmds.select(nodes_to_select)
选中当前节点和所有子节点,设备半径为0.01
import maya.cmds as cmds
# 获取当前选择的节点
selected_nodes = cmds.ls(selection=True)
# 创建一个列表来存储所需的节点:当前选中的节点及其所有后代
nodes_to_select = list(selected_nodes) # 确保当前选择也被包含
# 遍历每个已选择的节点并获取其所有后代节点
for node in selected_nodes:
# listRelatives命令用来获取节点的所有后代,allDescendents=True开启递归查询
node_descendants = cmds.listRelatives(node, allDescendents=True) or []
nodes_to_select.extend(node_descendants)
# 过滤出有半径属性的节点
nodes_with_radius = [node for node in nodes_to_select if cmds.attributeQuery('radius', node=node, exists=True)]
# 设置所有有半径属性的节点的半径为0.01
for node in nodes_with_radius:
cmds.setAttr(node + ".radius", 0.01)
# 可选:重新选择这些节点以便在界面上看到变化
cmds.select(nodes_with_radius)