Untitled
unknown
plain_text
a year ago
4.2 kB
7
Indexable
import maya.cmds as cmds
# Define the list of groups to select
groups_to_select = [
'|CHAR', 'mini_joystick_rig:joystick_rig', 'spaceship_internal_final:PROPS', 'panelCamera',
'spaceship_internal_final:gaming_chair_rig1:belt_rig_01:belt_rig',
'spaceship_internal_final:gaming_chair_rig1:belt_rig_02:belt_rig',
'spaceship_internal_final:gaming_chair_rig1:belt_rig_03:belt_rig',
'spaceship_internal_final:gaming_chair_rig2:belt_rig_01:belt_rig',
'spaceship_internal_final:gaming_chair_rig2:belt_rig_02:belt_rig',
'spaceship_internal_final:gaming_chair_rig2:belt_rig_03:belt_rig',
'spaceship_internal_final:gaming_chair_rig3:belt_rig_01:belt_rig',
'spaceship_internal_final:gaming_chair_rig3:belt_rig_02:belt_rig',
'spaceship_internal_final:gaming_chair_rig3:belt_rig_03:belt_rig',
'spaceship_internal_final:gaming_chair_rig4:belt_rig_01:belt_rig',
'spaceship_internal_final:gaming_chair_rig4:belt_rig_02:belt_rig',
'spaceship_internal_final:gaming_chair_rig4:belt_rig_03:belt_rig',
'spaceship_internal_final:gaming_chair_rig5:belt_rig_01:belt_rig',
'spaceship_internal_final:gaming_chair_rig5:belt_rig_02:belt_rig',
'spaceship_internal_final:gaming_chair_rig5:belt_rig_03:belt_rig',
'spaceship_internal_final:gaming_chair_rig6:belt_rig_01:belt_rig',
'spaceship_internal_final:gaming_chair_rig6:belt_rig_02:belt_rig',
'spaceship_internal_final:gaming_chair_rig6:belt_rig_03:belt_rig',
'spaceship_internal_final:gaming_chair_rig7:belt_rig_01:belt_rig',
'spaceship_internal_final:gaming_chair_rig7:belt_rig_02:belt_rig',
'spaceship_internal_final:gaming_chair_rig7:belt_rig_03:belt_rig'
]
# Clear any existing selection
cmds.select(clear=True)
print("Cleared selection")
# Select all specified groups
for group in groups_to_select:
if cmds.objExists(group):
cmds.select(group, add=True)
print(f"Selected group: {group}")
else:
print(f"Group does not exist: {group}")
# Check if 'panelCamera' exists and find its top-most locator if it's a child
panel_camera = 'panelCamera'
if cmds.objExists(panel_camera):
print(f"'panelCamera' exists: {panel_camera}")
current_node = panel_camera
top_locator = None
# Traverse upwards to find the top-most transform with a locator shape
while current_node:
parent = cmds.listRelatives(current_node, parent=True)
if parent:
current_node = parent[0]
# Check if the current node has a locator shape
children = cmds.listRelatives(current_node, shapes=True) or []
if any(cmds.nodeType(child) == 'locator' for child in children):
top_locator = current_node
else:
break # Stop if there's no parent
# Select the top-most locator if found
if top_locator:
cmds.select(top_locator, add=True)
print(f"Selected top locator: {top_locator}")
else:
print("No locator found above 'panelCamera' in hierarchy")
# Set display smoothness for the CHAR group
if cmds.objExists('|CHAR'):
cmds.select('|CHAR', replace=True) # Replace selection with CHAR
cmds.displaySmoothness('|CHAR', divisionsU=3, divisionsV=3, pointsWire=16, pointsShaded=4, polygonObject=3)
print("Set display smoothness for '|CHAR'")
# Re-select everything to include CHAR, panelCamera locator, and specified groups
cmds.select(clear=True)
for group in groups_to_select:
if cmds.objExists(group):
cmds.select(group, add=True)
if top_locator:
cmds.select(top_locator, add=True)
# Find all mesh nodes within the selected objects
mesh_nodes = cmds.ls(selection=True, dag=True, type="mesh", long=True)
# Delete the USD_ATTR_subdivisionScheme attribute if it exists on each mesh node
for mesh in mesh_nodes:
if cmds.attributeQuery('USD_ATTR_subdivisionScheme', node=mesh, exists=True):
cmds.deleteAttr(f"{mesh}.USD_ATTR_subdivisionScheme")
print(f"Deleted subdivisionScheme attribute from {mesh}")
else:
print(f"Attribute 'USD_ATTR_subdivisionScheme' not found on {mesh}")
Editor is loading...
Leave a Comment