Untitled
unknown
plain_text
6 months ago
4.2 kB
4
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