From a40dca7f50877fa1aa415cefa6b6ce63341a4e9f Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Sat, 12 Feb 2022 23:51:48 +0100 Subject: [PATCH 01/11] Remove menu.json files - these are now loaded through settings --- openpype/hosts/maya/api/menu.json | 924 ------------- openpype/hosts/maya/api/menu_backup.json | 1567 ---------------------- 2 files changed, 2491 deletions(-) delete mode 100644 openpype/hosts/maya/api/menu.json delete mode 100644 openpype/hosts/maya/api/menu_backup.json diff --git a/openpype/hosts/maya/api/menu.json b/openpype/hosts/maya/api/menu.json deleted file mode 100644 index a2efd5233c..0000000000 --- a/openpype/hosts/maya/api/menu.json +++ /dev/null @@ -1,924 +0,0 @@ -[ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\save_scene_incremental.py", - "sourcetype": "file", - "title": "# Version Up", - "tooltip": "Incremental save with a specific format" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\open_current_folder.py", - "sourcetype": "file", - "title": "Open working folder..", - "tooltip": "Show current scene in Explorer" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\avalon\\launch_manager.py", - "sourcetype": "file", - "title": "# Project Manager", - "tooltip": "Add assets to the project" - }, - { - "type": "action", - "command": "from openpype.tools.assetcreator import app as assetcreator; assetcreator.show(context='maya')", - "sourcetype": "python", - "title": "Asset Creator", - "tooltip": "Open the Asset Creator" - }, - { - "type": "separator" - }, - { - "type": "menu", - "title": "Modeling", - "items": [ - { - "type": "action", - "command": "import easyTreezSource; reload(easyTreezSource); easyTreezSource.easyTreez()", - "sourcetype": "python", - "tags": ["modeling", "trees", "generate", "create", "plants"], - "title": "EasyTreez", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\modeling\\separateMeshPerShader.py", - "sourcetype": "file", - "tags": ["modeling", "separateMeshPerShader"], - "title": "# Separate Mesh Per Shader", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\modeling\\polyDetachSeparate.py", - "sourcetype": "file", - "tags": ["modeling", "poly", "detach", "separate"], - "title": "# Polygon Detach and Separate", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\modeling\\polySelectEveryNthEdgeUI.py", - "sourcetype": "file", - "tags": ["modeling", "select", "nth", "edge", "ui"], - "title": "# Select Every Nth Edge" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\modeling\\djPFXUVs.py", - "sourcetype": "file", - "tags": ["modeling", "djPFX", "UVs"], - "title": "# dj PFX UVs", - "tooltip": "" - } - ] - }, - { - "type": "menu", - "title": "Rigging", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\advancedSkeleton.py", - "sourcetype": "file", - "tags": [ - "rigging", - "autorigger", - "advanced", - "skeleton", - "advancedskeleton", - "file" - ], - "title": "Advanced Skeleton" - } - ] - }, - { - "type": "menu", - "title": "Shading", - "items": [ - { - "type": "menu", - "title": "# VRay", - "items": [ - { - "type": "action", - "title": "# Import Proxies", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\vrayImportProxies.py", - "sourcetype": "file", - "tags": ["shading", "vray", "import", "proxies"], - "tooltip": "" - }, - { - "type": "separator" - }, - { - "type": "action", - "title": "# Select All GES", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\selectAllGES.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "select All GES"] - }, - { - "type": "action", - "title": "# Select All GES Under Selection", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\selectAllGESUnderSelection.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "select", "all", "GES"] - }, - { - "type": "separator" - }, - { - "type": "action", - "title": "# Selection To VRay Mesh", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\selectionToVrayMesh.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "selection", "vraymesh"] - }, - { - "type": "action", - "title": "# Add VRay Round Edges Attribute", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\addVrayRoundEdgesAttribute.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "round edges", "attribute"] - }, - { - "type": "action", - "title": "# Add Gamma", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\vrayAddGamma.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "add gamma"] - }, - { - "type": "separator" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\select_vraymesh_materials_with_unconnected_shader_slots.py", - "sourcetype": "file", - "title": "# Select Unconnected Shader Materials", - "tags": [ - "shading", - "vray", - "select", - "vraymesh", - "materials", - "unconnected shader slots" - ], - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\vrayMergeSimilarVRayMeshMaterials.py", - "sourcetype": "file", - "title": "# Merge Similar VRay Mesh Materials", - "tags": [ - "shading", - "vray", - "Merge", - "VRayMesh", - "Materials" - ], - "tooltip": "" - }, - { - "type": "action", - "title": "# Create Two Sided Material", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\vrayCreate2SidedMtlForSelectedMtlRenamed.py", - "sourcetype": "file", - "tooltip": "Creates two sided material for selected material and renames it", - "tags": ["shading", "vray", "two sided", "material"] - }, - { - "type": "action", - "title": "# Create Two Sided Material For Selected", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\vrayCreate2SidedMtlForSelectedMtl.py", - "sourcetype": "file", - "tooltip": "Select material to create a two sided version from it", - "tags": [ - "shading", - "vray", - "Create2SidedMtlForSelectedMtl.py" - ] - }, - { - "type": "separator" - }, - { - "type": "action", - "title": "# Add OpenSubdiv Attribute", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\addVrayOpenSubdivAttribute.py", - "sourcetype": "file", - "tooltip": "", - "tags": [ - "shading", - "vray", - "add", - "open subdiv", - "attribute" - ] - }, - { - "type": "action", - "title": "# Remove OpenSubdiv Attribute", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\removeVrayOpenSubdivAttribute.py", - "sourcetype": "file", - "tooltip": "", - "tags": [ - "shading", - "vray", - "remove", - "opensubdiv", - "attributee" - ] - }, - { - "type": "separator" - }, - { - "type": "action", - "title": "# Add Subdivision Attribute", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\addVraySubdivisionAttribute.py", - "sourcetype": "file", - "tooltip": "", - "tags": [ - "shading", - "vray", - "addVraySubdivisionAttribute" - ] - }, - { - "type": "action", - "title": "# Remove Subdivision Attribute.py", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\removeVraySubdivisionAttribute.py", - "sourcetype": "file", - "tooltip": "", - "tags": [ - "shading", - "vray", - "remove", - "subdivision", - "attribute" - ] - }, - { - "type": "separator" - }, - { - "type": "action", - "title": "# Add Vray Object Ids", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\addVrayObjectIds.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "add", "object id"] - }, - { - "type": "action", - "title": "# Add Vray Material Ids", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\addVrayMaterialIds.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "addVrayMaterialIds.py"] - }, - { - "type": "separator" - }, - { - "type": "action", - "title": "# Set Physical DOF Depth", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\vrayPhysicalDOFSetDepth.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "physical", "DOF ", "Depth"] - }, - { - "type": "action", - "title": "# Magic Vray Proxy UI", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\magicVrayProxyUI.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "magicVrayProxyUI"] - } - ] - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\pyblish\\lighting\\set_filename_prefix.py", - "sourcetype": "file", - "tags": [ - "shading", - "lookdev", - "assign", - "shaders", - "prefix", - "filename", - "render" - ], - "title": "# Set filename prefix", - "tooltip": "Set the render file name prefix." - }, - { - "type": "action", - "command": "import mayalookassigner; mayalookassigner.show()", - "sourcetype": "python", - "tags": ["shading", "look", "assign", "shaders", "auto"], - "title": "Look Manager", - "tooltip": "Open the Look Manager UI for look assignment" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\LightLinkUi.py", - "sourcetype": "file", - "tags": ["shading", "light", "link", "ui"], - "title": "# Light Link UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\vdviewer_ui.py", - "sourcetype": "file", - "tags": [ - "shading", - "look", - "vray", - "displacement", - "shaders", - "auto" - ], - "title": "# VRay Displ Viewer", - "tooltip": "Open the VRay Displacement Viewer, select and control the content of the set" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\setTexturePreviewToCLRImage.py", - "sourcetype": "file", - "tags": ["shading", "CLRImage", "textures", "preview"], - "title": "# Set Texture Preview To CLRImage", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\fixDefaultShaderSetBehavior.py", - "sourcetype": "file", - "tags": ["shading", "fix", "DefaultShaderSet", "Behavior"], - "title": "# Fix Default Shader Set Behavior", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\fixSelectedShapesReferenceAssignments.py", - "sourcetype": "file", - "tags": [ - "shading", - "fix", - "Selected", - "Shapes", - "Reference", - "Assignments" - ], - "title": "# Fix Shapes Reference Assignments", - "tooltip": "Select shapes to fix the reference assignments" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\selectLambert1Members.py", - "sourcetype": "file", - "tags": ["shading", "selectLambert1Members"], - "title": "# Select Lambert1 Members", - "tooltip": "Selects all objects which have the Lambert1 shader assigned" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\selectShapesWithoutShader.py", - "sourcetype": "file", - "tags": ["shading", "selectShapesWithoutShader"], - "title": "# Select Shapes Without Shader", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\fixRenderLayerOutAdjustmentErrors.py", - "sourcetype": "file", - "tags": ["shading", "fixRenderLayerOutAdjustmentErrors"], - "title": "# Fix RenderLayer Out Adjustment Errors", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\fix_renderlayer_missing_node_override.py", - "sourcetype": "file", - "tags": [ - "shading", - "renderlayer", - "missing", - "reference", - "switch", - "layer" - ], - "title": "# Fix RenderLayer Missing Referenced Nodes Overrides", - "tooltip": "" - }, - { - "type": "action", - "title": "# Image 2 Tiled EXR", - "command": "$OPENPYPE_SCRIPTS\\shading\\open_img2exr.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "exr"] - } - ] - }, - { - "type": "menu", - "title": "# Rendering", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\pyblish\\open_deadline_submission_settings.py", - "sourcetype": "file", - "tags": ["settings", "deadline", "globals", "render"], - "title": "# DL Submission Settings UI", - "tooltip": "Open the Deadline Submission Settings UI" - } - ] - }, - { - "type": "menu", - "title": "Animation", - "items": [ - { - "type": "menu", - "title": "# Attributes", - "tooltip": "", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\attributes\\copyValues.py", - "sourcetype": "file", - "tags": ["animation", "copy", "attributes"], - "title": "# Copy Values", - "tooltip": "Copy attribute values" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\attributes\\copyInConnections.py", - "sourcetype": "file", - "tags": [ - "animation", - "copy", - "attributes", - "connections", - "incoming" - ], - "title": "# Copy In Connections", - "tooltip": "Copy incoming connections" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\attributes\\copyOutConnections.py", - "sourcetype": "file", - "tags": [ - "animation", - "copy", - "attributes", - "connections", - "out" - ], - "title": "# Copy Out Connections", - "tooltip": "Copy outcoming connections" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\attributes\\copyTransformLocal.py", - "sourcetype": "file", - "tags": [ - "animation", - "copy", - "attributes", - "transforms", - "local" - ], - "title": "# Copy Local Transforms", - "tooltip": "Copy local transforms" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\attributes\\copyTransformMatrix.py", - "sourcetype": "file", - "tags": [ - "animation", - "copy", - "attributes", - "transforms", - "matrix" - ], - "title": "# Copy Matrix Transforms", - "tooltip": "Copy Matrix transforms" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\attributes\\copyTransformUI.py", - "sourcetype": "file", - "tags": [ - "animation", - "copy", - "attributes", - "transforms", - "UI" - ], - "title": "# Copy Transforms UI", - "tooltip": "Open the Copy Transforms UI" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\attributes\\simpleCopyUI.py", - "sourcetype": "file", - "tags": [ - "animation", - "copy", - "attributes", - "transforms", - "UI", - "simple" - ], - "title": "# Simple Copy UI", - "tooltip": "Open the simple Copy Transforms UI" - } - ] - }, - { - "type": "menu", - "title": "# Optimize", - "tooltip": "Optimization scripts", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\optimize\\toggleFreezeHierarchy.py", - "sourcetype": "file", - "tags": ["animation", "hierarchy", "toggle", "freeze"], - "title": "# Toggle Freeze Hierarchy", - "tooltip": "Freeze and unfreeze hierarchy" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\optimize\\toggleParallelNucleus.py", - "sourcetype": "file", - "tags": ["animation", "nucleus", "toggle", "parallel"], - "title": "# Toggle Parallel Nucleus", - "tooltip": "Toggle parallel nucleus" - } - ] - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\bakeSelectedToWorldSpace.py", - "tags": ["animation", "bake", "selection", "worldspace.py"], - "title": "# Bake Selected To Worldspace", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\timeStepper.py", - "tags": ["animation", "time", "stepper"], - "title": "# Time Stepper", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\capture_ui.py", - "tags": [ - "animation", - "capture", - "ui", - "screen", - "movie", - "image" - ], - "title": "# Capture UI", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\simplePlayblastUI.py", - "tags": ["animation", "simple", "playblast", "ui"], - "title": "# Simple Playblast UI", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\tweenMachineUI.py", - "tags": ["animation", "tween", "machine"], - "title": "# Tween Machine UI", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\selectAllAnimationCurves.py", - "tags": ["animation", "select", "curves"], - "title": "# Select All Animation Curves", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\pathAnimation.py", - "tags": ["animation", "path", "along"], - "title": "# Path Animation", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\offsetSelectedObjectsUI.py", - "tags": ["animation", "offsetSelectedObjectsUI.py"], - "title": "# Offset Selected Objects UI", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\key_amplifier_ui.py", - "tags": ["animation", "key", "amplifier"], - "title": "# Key Amplifier UI", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\anim_scene_optimizer.py", - "tags": ["animation", "anim_scene_optimizer.py"], - "title": "# Anim_Scene_Optimizer", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\zvParentMaster.py", - "tags": ["animation", "zvParentMaster.py"], - "title": "# ZV Parent Master", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\animLibrary.py", - "tags": ["animation", "studiolibrary.py"], - "title": "Anim Library", - "type": "action" - } - ] - }, - { - "type": "menu", - "title": "# Layout", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\alignDistributeUI.py", - "sourcetype": "file", - "tags": ["layout", "align", "Distribute", "UI"], - "title": "# Align Distribute UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\alignSimpleUI.py", - "sourcetype": "file", - "tags": ["layout", "align", "UI", "Simple"], - "title": "# Align Simple UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\center_locator.py", - "sourcetype": "file", - "tags": ["layout", "center", "locator"], - "title": "# Center Locator", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\average_locator.py", - "sourcetype": "file", - "tags": ["layout", "average", "locator"], - "title": "# Average Locator", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\selectWithinProximityUI.py", - "sourcetype": "file", - "tags": ["layout", "select", "proximity", "ui"], - "title": "# Select Within Proximity UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\dupCurveUI.py", - "sourcetype": "file", - "tags": ["layout", "Duplicate", "Curve", "UI"], - "title": "# Duplicate Curve UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\randomDeselectUI.py", - "sourcetype": "file", - "tags": ["layout", "random", "Deselect", "UI"], - "title": "# Random Deselect UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\multiReferencerUI.py", - "sourcetype": "file", - "tags": ["layout", "multi", "reference"], - "title": "# Multi Referencer UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\duplicateOffsetUI.py", - "sourcetype": "file", - "tags": ["layout", "duplicate", "offset", "UI"], - "title": "# Duplicate Offset UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\spPaint3d.py", - "sourcetype": "file", - "tags": ["layout", "spPaint3d", "paint", "tool"], - "title": "# SP Paint 3d", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\randomizeUI.py", - "sourcetype": "file", - "tags": ["layout", "randomize", "UI"], - "title": "# Randomize UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\distributeWithinObjectUI.py", - "sourcetype": "file", - "tags": ["layout", "distribute", "ObjectUI", "within"], - "title": "# Distribute Within Object UI", - "tooltip": "" - } - ] - }, - { - "type": "menu", - "title": "# Particles", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\instancerToObjects.py", - "sourcetype": "file", - "tags": ["particles", "instancerToObjects"], - "title": "# Instancer To Objects", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\instancerToObjectsInstances.py", - "sourcetype": "file", - "tags": ["particles", "instancerToObjectsInstances"], - "title": "# Instancer To Objects Instances", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\instancerToObjectsInstancesWithAnimation.py", - "sourcetype": "file", - "tags": [ - "particles", - "instancerToObjectsInstancesWithAnimation" - ], - "title": "# Instancer To Objects Instances With Animation", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\instancerToObjectsWithAnimation.py", - "sourcetype": "file", - "tags": ["particles", "instancerToObjectsWithAnimation"], - "title": "# Instancer To Objects With Animation", - "tooltip": "" - } - ] - }, - { - "type": "menu", - "title": "Cleanup", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\repair_faulty_containers.py", - "sourcetype": "file", - "tags": ["cleanup", "repair", "containers"], - "title": "# Find and Repair Containers", - "tooltip": "" - }, - { - "type": "separator" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\removeNamespaces.py", - "sourcetype": "file", - "tags": ["cleanup", "remove", "namespaces"], - "title": "# Remove Namespaces", - "tooltip": "Remove all namespaces" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\remove_user_defined_attributes.py", - "sourcetype": "file", - "tags": ["cleanup", "remove_user_defined_attributes"], - "title": "# Remove User Defined Attributes", - "tooltip": "Remove all user-defined attributes from all nodes" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\removeUnknownNodes.py", - "sourcetype": "file", - "tags": ["cleanup", "removeUnknownNodes"], - "title": "# Remove Unknown Nodes", - "tooltip": "Remove all unknown nodes" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\removeUnloadedReferences.py", - "sourcetype": "file", - "tags": ["cleanup", "removeUnloadedReferences"], - "title": "# Remove Unloaded References", - "tooltip": "Remove all unloaded references" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\removeReferencesFailedEdits.py", - "sourcetype": "file", - "tags": ["cleanup", "removeReferencesFailedEdits"], - "title": "# Remove References Failed Edits", - "tooltip": "Remove failed edits for all references" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\remove_unused_looks.py", - "sourcetype": "file", - "tags": ["cleanup", "removeUnusedLooks"], - "title": "# Remove Unused Looks", - "tooltip": "Remove all loaded yet unused Avalon look containers" - }, - { - "type": "separator" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\uniqifyNodeNames.py", - "sourcetype": "file", - "tags": ["cleanup", "uniqifyNodeNames"], - "title": "# Uniqify Node Names", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\autoRenameFileNodes.py", - "sourcetype": "file", - "tags": ["cleanup", "auto", "rename", "filenodes"], - "title": "# Auto Rename File Nodes", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\update_asset_id.py", - "sourcetype": "file", - "tags": ["cleanup", "update", "database", "asset", "id"], - "title": "# Update Asset ID", - "tooltip": "Will replace the Colorbleed ID with a new one (asset ID : Unique number)" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\ccRenameReplace.py", - "sourcetype": "file", - "tags": ["cleanup", "rename", "ui"], - "title": "Renamer", - "tooltip": "Rename UI" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\renameShapesToTransform.py", - "sourcetype": "file", - "tags": ["cleanup", "renameShapesToTransform"], - "title": "# Rename Shapes To Transform", - "tooltip": "" - } - ] - } -] diff --git a/openpype/hosts/maya/api/menu_backup.json b/openpype/hosts/maya/api/menu_backup.json deleted file mode 100644 index e2a558aedc..0000000000 --- a/openpype/hosts/maya/api/menu_backup.json +++ /dev/null @@ -1,1567 +0,0 @@ -[ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\save_scene_incremental.py", - "sourcetype": "file", - "title": "Version Up", - "tooltip": "Incremental save with a specific format" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\show_current_scene_in_explorer.py", - "sourcetype": "file", - "title": "Explore current scene..", - "tooltip": "Show current scene in Explorer" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\avalon\\launch_manager.py", - "sourcetype": "file", - "title": "Project Manager", - "tooltip": "Add assets to the project" - }, - { - "type": "separator" - }, - { - "type": "menu", - "title": "Modeling", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\modeling\\duplicate_normalized.py", - "sourcetype": "file", - "tags": ["modeling", "duplicate", "normalized"], - "title": "Duplicate Normalized", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\modeling\\transferUVs.py", - "sourcetype": "file", - "tags": ["modeling", "transfer", "uv"], - "title": "Transfer UVs", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\modeling\\mirrorSymmetry.py", - "sourcetype": "file", - "tags": ["modeling", "mirror", "symmetry"], - "title": "Mirror Symmetry", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\modeling\\selectOutlineUI.py", - "sourcetype": "file", - "tags": ["modeling", "select", "outline", "ui"], - "title": "Select Outline UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\modeling\\polyDeleteOtherUVSets.py", - "sourcetype": "file", - "tags": ["modeling", "polygon", "uvset", "delete"], - "title": "Polygon Delete Other UV Sets", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\modeling\\polyCombineQuick.py", - "sourcetype": "file", - "tags": ["modeling", "combine", "polygon", "quick"], - "title": "Polygon Combine Quick", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\modeling\\separateMeshPerShader.py", - "sourcetype": "file", - "tags": ["modeling", "separateMeshPerShader"], - "title": "Separate Mesh Per Shader", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\modeling\\polyDetachSeparate.py", - "sourcetype": "file", - "tags": ["modeling", "poly", "detach", "separate"], - "title": "Polygon Detach and Separate", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\modeling\\polyRelaxVerts.py", - "sourcetype": "file", - "tags": ["modeling", "relax", "verts"], - "title": "Polygon Relax Vertices", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\modeling\\polySelectEveryNthEdgeUI.py", - "sourcetype": "file", - "tags": ["modeling", "select", "nth", "edge", "ui"], - "title": "Select Every Nth Edge" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\modeling\\djPFXUVs.py", - "sourcetype": "file", - "tags": ["modeling", "djPFX", "UVs"], - "title": "dj PFX UVs", - "tooltip": "" - } - ] - }, - { - "type": "menu", - "title": "Rigging", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\addCurveBetween.py", - "sourcetype": "file", - "tags": ["rigging", "addCurveBetween", "file"], - "title": "Add Curve Between" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\averageSkinWeights.py", - "sourcetype": "file", - "tags": ["rigging", "average", "skin weights", "file"], - "title": "Average Skin Weights" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\cbSmoothSkinWeightUI.py", - "sourcetype": "file", - "tags": ["rigging", "cbSmoothSkinWeightUI", "file"], - "title": "CB Smooth Skin Weight UI" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\channelBoxManagerUI.py", - "sourcetype": "file", - "tags": ["rigging", "channelBoxManagerUI", "file"], - "title": "Channel Box Manager UI" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\characterAutorigger.py", - "sourcetype": "file", - "tags": ["rigging", "characterAutorigger", "file"], - "title": "Character Auto Rigger" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\connectUI.py", - "sourcetype": "file", - "tags": ["rigging", "connectUI", "file"], - "title": "Connect UI" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\copySkinWeightsLocal.py", - "sourcetype": "file", - "tags": ["rigging", "copySkinWeightsLocal", "file"], - "title": "Copy Skin Weights Local" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\createCenterLocator.py", - "sourcetype": "file", - "tags": ["rigging", "createCenterLocator", "file"], - "title": "Create Center Locator" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\freezeTransformToGroup.py", - "sourcetype": "file", - "tags": ["rigging", "freezeTransformToGroup", "file"], - "title": "Freeze Transform To Group" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\groupSelected.py", - "sourcetype": "file", - "tags": ["rigging", "groupSelected", "file"], - "title": "Group Selected" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\ikHandlePoleVectorLocator.py", - "sourcetype": "file", - "tags": ["rigging", "ikHandlePoleVectorLocator", "file"], - "title": "IK Handle Pole Vector Locator" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\jointOrientUI.py", - "sourcetype": "file", - "tags": ["rigging", "jointOrientUI", "file"], - "title": "Joint Orient UI" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\jointsOnCurve.py", - "sourcetype": "file", - "tags": ["rigging", "jointsOnCurve", "file"], - "title": "Joints On Curve" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\resetBindSelectedSkinJoints.py", - "sourcetype": "file", - "tags": ["rigging", "resetBindSelectedSkinJoints", "file"], - "title": "Reset Bind Selected Skin Joints" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\selectSkinclusterJointsFromSelectedComponents.py", - "sourcetype": "file", - "tags": [ - "rigging", - "selectSkinclusterJointsFromSelectedComponents", - "file" - ], - "title": "Select Skincluster Joints From Selected Components" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\selectSkinclusterJointsFromSelectedMesh.py", - "sourcetype": "file", - "tags": [ - "rigging", - "selectSkinclusterJointsFromSelectedMesh", - "file" - ], - "title": "Select Skincluster Joints From Selected Mesh" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\setJointLabels.py", - "sourcetype": "file", - "tags": ["rigging", "setJointLabels", "file"], - "title": "Set Joint Labels" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\setJointOrientationFromCurrentRotation.py", - "sourcetype": "file", - "tags": [ - "rigging", - "setJointOrientationFromCurrentRotation", - "file" - ], - "title": "Set Joint Orientation From Current Rotation" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\setSelectedJointsOrientationZero.py", - "sourcetype": "file", - "tags": ["rigging", "setSelectedJointsOrientationZero", "file"], - "title": "Set Selected Joints Orientation Zero" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\mirrorCurveShape.py", - "sourcetype": "file", - "tags": ["rigging", "mirrorCurveShape", "file"], - "title": "Mirror Curve Shape" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\setRotationOrderUI.py", - "sourcetype": "file", - "tags": ["rigging", "setRotationOrderUI", "file"], - "title": "Set Rotation Order UI" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\paintItNowUI.py", - "sourcetype": "file", - "tags": ["rigging", "paintItNowUI", "file"], - "title": "Paint It Now UI" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\parentScaleConstraint.py", - "sourcetype": "file", - "tags": ["rigging", "parentScaleConstraint", "file"], - "title": "Parent Scale Constraint" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\quickSetWeightsUI.py", - "sourcetype": "file", - "tags": ["rigging", "quickSetWeightsUI", "file"], - "title": "Quick Set Weights UI" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\rapidRig.py", - "sourcetype": "file", - "tags": ["rigging", "rapidRig", "file"], - "title": "Rapid Rig" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\regenerate_blendshape_targets.py", - "sourcetype": "file", - "tags": ["rigging", "regenerate_blendshape_targets", "file"], - "title": "Regenerate Blendshape Targets" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\removeRotationAxis.py", - "sourcetype": "file", - "tags": ["rigging", "removeRotationAxis", "file"], - "title": "Remove Rotation Axis" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\resetBindSelectedMeshes.py", - "sourcetype": "file", - "tags": ["rigging", "resetBindSelectedMeshes", "file"], - "title": "Reset Bind Selected Meshes" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\simpleControllerOnSelection.py", - "sourcetype": "file", - "tags": ["rigging", "simpleControllerOnSelection", "file"], - "title": "Simple Controller On Selection" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\simpleControllerOnSelectionHierarchy.py", - "sourcetype": "file", - "tags": [ - "rigging", - "simpleControllerOnSelectionHierarchy", - "file" - ], - "title": "Simple Controller On Selection Hierarchy" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\superRelativeCluster.py", - "sourcetype": "file", - "tags": ["rigging", "superRelativeCluster", "file"], - "title": "Super Relative Cluster" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\tfSmoothSkinWeight.py", - "sourcetype": "file", - "tags": ["rigging", "tfSmoothSkinWeight", "file"], - "title": "TF Smooth Skin Weight" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\toggleIntermediates.py", - "sourcetype": "file", - "tags": ["rigging", "toggleIntermediates", "file"], - "title": "Toggle Intermediates" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\toggleSegmentScaleCompensate.py", - "sourcetype": "file", - "tags": ["rigging", "toggleSegmentScaleCompensate", "file"], - "title": "Toggle Segment Scale Compensate" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\rigging\\toggleSkinclusterDeformNormals.py", - "sourcetype": "file", - "tags": ["rigging", "toggleSkinclusterDeformNormals", "file"], - "title": "Toggle Skincluster Deform Normals" - } - ] - }, - { - "type": "menu", - "title": "Shading", - "items": [ - { - "type": "menu", - "title": "VRay", - "items": [ - { - "type": "action", - "title": "Import Proxies", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\vrayImportProxies.py", - "sourcetype": "file", - "tags": ["shading", "vray", "import", "proxies"], - "tooltip": "" - }, - { - "type": "separator" - }, - { - "type": "action", - "title": "Select All GES", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\selectAllGES.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "select All GES"] - }, - { - "type": "action", - "title": "Select All GES Under Selection", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\selectAllGESUnderSelection.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "select", "all", "GES"] - }, - { - "type": "separator" - }, - { - "type": "action", - "title": "Selection To VRay Mesh", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\selectionToVrayMesh.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "selection", "vraymesh"] - }, - { - "type": "action", - "title": "Add VRay Round Edges Attribute", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\addVrayRoundEdgesAttribute.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "round edges", "attribute"] - }, - { - "type": "action", - "title": "Add Gamma", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\vrayAddGamma.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "add gamma"] - }, - { - "type": "separator" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\select_vraymesh_materials_with_unconnected_shader_slots.py", - "sourcetype": "file", - "title": "Select Unconnected Shader Materials", - "tags": [ - "shading", - "vray", - "select", - "vraymesh", - "materials", - "unconnected shader slots" - ], - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\vrayMergeSimilarVRayMeshMaterials.py", - "sourcetype": "file", - "title": "Merge Similar VRay Mesh Materials", - "tags": [ - "shading", - "vray", - "Merge", - "VRayMesh", - "Materials" - ], - "tooltip": "" - }, - { - "type": "action", - "title": "Create Two Sided Material", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\vrayCreate2SidedMtlForSelectedMtlRenamed.py", - "sourcetype": "file", - "tooltip": "Creates two sided material for selected material and renames it", - "tags": ["shading", "vray", "two sided", "material"] - }, - { - "type": "action", - "title": "Create Two Sided Material For Selected", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\vrayCreate2SidedMtlForSelectedMtl.py", - "sourcetype": "file", - "tooltip": "Select material to create a two sided version from it", - "tags": [ - "shading", - "vray", - "Create2SidedMtlForSelectedMtl.py" - ] - }, - { - "type": "separator" - }, - { - "type": "action", - "title": "Add OpenSubdiv Attribute", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\addVrayOpenSubdivAttribute.py", - "sourcetype": "file", - "tooltip": "", - "tags": [ - "shading", - "vray", - "add", - "open subdiv", - "attribute" - ] - }, - { - "type": "action", - "title": "Remove OpenSubdiv Attribute", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\removeVrayOpenSubdivAttribute.py", - "sourcetype": "file", - "tooltip": "", - "tags": [ - "shading", - "vray", - "remove", - "opensubdiv", - "attributee" - ] - }, - { - "type": "separator" - }, - { - "type": "action", - "title": "Add Subdivision Attribute", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\addVraySubdivisionAttribute.py", - "sourcetype": "file", - "tooltip": "", - "tags": [ - "shading", - "vray", - "addVraySubdivisionAttribute" - ] - }, - { - "type": "action", - "title": "Remove Subdivision Attribute.py", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\removeVraySubdivisionAttribute.py", - "sourcetype": "file", - "tooltip": "", - "tags": [ - "shading", - "vray", - "remove", - "subdivision", - "attribute" - ] - }, - { - "type": "separator" - }, - { - "type": "action", - "title": "Add Vray Object Ids", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\addVrayObjectIds.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "add", "object id"] - }, - { - "type": "action", - "title": "Add Vray Material Ids", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\addVrayMaterialIds.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "addVrayMaterialIds.py"] - }, - { - "type": "separator" - }, - { - "type": "action", - "title": "Set Physical DOF Depth", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\vrayPhysicalDOFSetDepth.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "physical", "DOF ", "Depth"] - }, - { - "type": "action", - "title": "Magic Vray Proxy UI", - "command": "$OPENPYPE_SCRIPTS\\shading\\vray\\magicVrayProxyUI.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "magicVrayProxyUI"] - } - ] - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\pyblish\\lighting\\set_filename_prefix.py", - "sourcetype": "file", - "tags": [ - "shading", - "lookdev", - "assign", - "shaders", - "prefix", - "filename", - "render" - ], - "title": "Set filename prefix", - "tooltip": "Set the render file name prefix." - }, - { - "type": "action", - "command": "import mayalookassigner; mayalookassigner.show()", - "sourcetype": "python", - "tags": ["shading", "look", "assign", "shaders", "auto"], - "title": "Look Manager", - "tooltip": "Open the Look Manager UI for look assignment" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\LightLinkUi.py", - "sourcetype": "file", - "tags": ["shading", "light", "link", "ui"], - "title": "Light Link UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\vdviewer_ui.py", - "sourcetype": "file", - "tags": [ - "shading", - "look", - "vray", - "displacement", - "shaders", - "auto" - ], - "title": "VRay Displ Viewer", - "tooltip": "Open the VRay Displacement Viewer, select and control the content of the set" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\setTexturePreviewToCLRImage.py", - "sourcetype": "file", - "tags": ["shading", "CLRImage", "textures", "preview"], - "title": "Set Texture Preview To CLRImage", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\fixDefaultShaderSetBehavior.py", - "sourcetype": "file", - "tags": ["shading", "fix", "DefaultShaderSet", "Behavior"], - "title": "Fix Default Shader Set Behavior", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\fixSelectedShapesReferenceAssignments.py", - "sourcetype": "file", - "tags": [ - "shading", - "fix", - "Selected", - "Shapes", - "Reference", - "Assignments" - ], - "title": "Fix Shapes Reference Assignments", - "tooltip": "Select shapes to fix the reference assignments" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\selectLambert1Members.py", - "sourcetype": "file", - "tags": ["shading", "selectLambert1Members"], - "title": "Select Lambert1 Members", - "tooltip": "Selects all objects which have the Lambert1 shader assigned" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\selectShapesWithoutShader.py", - "sourcetype": "file", - "tags": ["shading", "selectShapesWithoutShader"], - "title": "Select Shapes Without Shader", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\fixRenderLayerOutAdjustmentErrors.py", - "sourcetype": "file", - "tags": ["shading", "fixRenderLayerOutAdjustmentErrors"], - "title": "Fix RenderLayer Out Adjustment Errors", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\shading\\fix_renderlayer_missing_node_override.py", - "sourcetype": "file", - "tags": [ - "shading", - "renderlayer", - "missing", - "reference", - "switch", - "layer" - ], - "title": "Fix RenderLayer Missing Referenced Nodes Overrides", - "tooltip": "" - }, - { - "type": "action", - "title": "Image 2 Tiled EXR", - "command": "$OPENPYPE_SCRIPTS\\shading\\open_img2exr.py", - "sourcetype": "file", - "tooltip": "", - "tags": ["shading", "vray", "exr"] - } - ] - }, - { - "type": "menu", - "title": "Rendering", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\pyblish\\open_deadline_submission_settings.py", - "sourcetype": "file", - "tags": ["settings", "deadline", "globals", "render"], - "title": "DL Submission Settings UI", - "tooltip": "Open the Deadline Submission Settings UI" - } - ] - }, - { - "type": "menu", - "title": "Animation", - "items": [ - { - "type": "menu", - "title": "Attributes", - "tooltip": "", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\attributes\\copyValues.py", - "sourcetype": "file", - "tags": ["animation", "copy", "attributes"], - "title": "Copy Values", - "tooltip": "Copy attribute values" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\attributes\\copyInConnections.py", - "sourcetype": "file", - "tags": [ - "animation", - "copy", - "attributes", - "connections", - "incoming" - ], - "title": "Copy In Connections", - "tooltip": "Copy incoming connections" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\attributes\\copyOutConnections.py", - "sourcetype": "file", - "tags": [ - "animation", - "copy", - "attributes", - "connections", - "out" - ], - "title": "Copy Out Connections", - "tooltip": "Copy outcoming connections" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\attributes\\copyTransformLocal.py", - "sourcetype": "file", - "tags": [ - "animation", - "copy", - "attributes", - "transforms", - "local" - ], - "title": "Copy Local Transforms", - "tooltip": "Copy local transforms" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\attributes\\copyTransformMatrix.py", - "sourcetype": "file", - "tags": [ - "animation", - "copy", - "attributes", - "transforms", - "matrix" - ], - "title": "Copy Matrix Transforms", - "tooltip": "Copy Matrix transforms" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\attributes\\copyTransformUI.py", - "sourcetype": "file", - "tags": [ - "animation", - "copy", - "attributes", - "transforms", - "UI" - ], - "title": "Copy Transforms UI", - "tooltip": "Open the Copy Transforms UI" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\attributes\\simpleCopyUI.py", - "sourcetype": "file", - "tags": [ - "animation", - "copy", - "attributes", - "transforms", - "UI", - "simple" - ], - "title": "Simple Copy UI", - "tooltip": "Open the simple Copy Transforms UI" - } - ] - }, - { - "type": "menu", - "title": "Optimize", - "tooltip": "Optimization scripts", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\optimize\\toggleFreezeHierarchy.py", - "sourcetype": "file", - "tags": ["animation", "hierarchy", "toggle", "freeze"], - "title": "Toggle Freeze Hierarchy", - "tooltip": "Freeze and unfreeze hierarchy" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\animation\\optimize\\toggleParallelNucleus.py", - "sourcetype": "file", - "tags": ["animation", "nucleus", "toggle", "parallel"], - "title": "Toggle Parallel Nucleus", - "tooltip": "Toggle parallel nucleus" - } - ] - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\bakeSelectedToWorldSpace.py", - "tags": ["animation", "bake", "selection", "worldspace.py"], - "title": "Bake Selected To Worldspace", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\timeStepper.py", - "tags": ["animation", "time", "stepper"], - "title": "Time Stepper", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\capture_ui.py", - "tags": [ - "animation", - "capture", - "ui", - "screen", - "movie", - "image" - ], - "title": "Capture UI", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\simplePlayblastUI.py", - "tags": ["animation", "simple", "playblast", "ui"], - "title": "Simple Playblast UI", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\tweenMachineUI.py", - "tags": ["animation", "tween", "machine"], - "title": "Tween Machine UI", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\selectAllAnimationCurves.py", - "tags": ["animation", "select", "curves"], - "title": "Select All Animation Curves", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\pathAnimation.py", - "tags": ["animation", "path", "along"], - "title": "Path Animation", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\offsetSelectedObjectsUI.py", - "tags": ["animation", "offsetSelectedObjectsUI.py"], - "title": "Offset Selected Objects UI", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\key_amplifier_ui.py", - "tags": ["animation", "key", "amplifier"], - "title": "Key Amplifier UI", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\anim_scene_optimizer.py", - "tags": ["animation", "anim_scene_optimizer.py"], - "title": "Anim_Scene_Optimizer", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\zvParentMaster.py", - "tags": ["animation", "zvParentMaster.py"], - "title": "ZV Parent Master", - "type": "action" - }, - { - "sourcetype": "file", - "command": "$OPENPYPE_SCRIPTS\\animation\\poseLibrary.py", - "tags": ["animation", "poseLibrary.py"], - "title": "Pose Library", - "type": "action" - } - ] - }, - { - "type": "menu", - "title": "Layout", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\alignDistributeUI.py", - "sourcetype": "file", - "tags": ["layout", "align", "Distribute", "UI"], - "title": "Align Distribute UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\alignSimpleUI.py", - "sourcetype": "file", - "tags": ["layout", "align", "UI", "Simple"], - "title": "Align Simple UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\center_locator.py", - "sourcetype": "file", - "tags": ["layout", "center", "locator"], - "title": "Center Locator", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\average_locator.py", - "sourcetype": "file", - "tags": ["layout", "average", "locator"], - "title": "Average Locator", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\selectWithinProximityUI.py", - "sourcetype": "file", - "tags": ["layout", "select", "proximity", "ui"], - "title": "Select Within Proximity UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\dupCurveUI.py", - "sourcetype": "file", - "tags": ["layout", "Duplicate", "Curve", "UI"], - "title": "Duplicate Curve UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\randomDeselectUI.py", - "sourcetype": "file", - "tags": ["layout", "random", "Deselect", "UI"], - "title": "Random Deselect UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\multiReferencerUI.py", - "sourcetype": "file", - "tags": ["layout", "multi", "reference"], - "title": "Multi Referencer UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\duplicateOffsetUI.py", - "sourcetype": "file", - "tags": ["layout", "duplicate", "offset", "UI"], - "title": "Duplicate Offset UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\spPaint3d.py", - "sourcetype": "file", - "tags": ["layout", "spPaint3d", "paint", "tool"], - "title": "SP Paint 3d", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\randomizeUI.py", - "sourcetype": "file", - "tags": ["layout", "randomize", "UI"], - "title": "Randomize UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\layout\\distributeWithinObjectUI.py", - "sourcetype": "file", - "tags": ["layout", "distribute", "ObjectUI", "within"], - "title": "Distribute Within Object UI", - "tooltip": "" - } - ] - }, - { - "type": "menu", - "title": "Particles", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\instancerToObjects.py", - "sourcetype": "file", - "tags": ["particles", "instancerToObjects"], - "title": "Instancer To Objects", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\instancerToObjectsInstances.py", - "sourcetype": "file", - "tags": ["particles", "instancerToObjectsInstances"], - "title": "Instancer To Objects Instances", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\objectsToParticlesAndInstancerCleanSource.py", - "sourcetype": "file", - "tags": [ - "particles", - "objects", - "Particles", - "Instancer", - "Clean", - "Source" - ], - "title": "Objects To Particles & Instancer - Clean Source", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\particleComponentsToLocators.py", - "sourcetype": "file", - "tags": ["particles", "components", "locators"], - "title": "Particle Components To Locators", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\objectsToParticlesAndInstancer.py", - "sourcetype": "file", - "tags": ["particles", "objects", "particles", "instancer"], - "title": "Objects To Particles And Instancer", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\spawnParticlesOnMesh.py", - "sourcetype": "file", - "tags": ["particles", "spawn", "on", "mesh"], - "title": "Spawn Particles On Mesh", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\instancerToObjectsInstancesWithAnimation.py", - "sourcetype": "file", - "tags": [ - "particles", - "instancerToObjectsInstancesWithAnimation" - ], - "title": "Instancer To Objects Instances With Animation", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\objectsToParticles.py", - "sourcetype": "file", - "tags": ["particles", "objectsToParticles"], - "title": "Objects To Particles", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\add_particle_cacheFile_attrs.py", - "sourcetype": "file", - "tags": ["particles", "add_particle_cacheFile_attrs"], - "title": "Add Particle CacheFile Attributes", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\mergeParticleSystems.py", - "sourcetype": "file", - "tags": ["particles", "mergeParticleSystems"], - "title": "Merge Particle Systems", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\particlesToLocators.py", - "sourcetype": "file", - "tags": ["particles", "particlesToLocators"], - "title": "Particles To Locators", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\instancerToObjectsWithAnimation.py", - "sourcetype": "file", - "tags": ["particles", "instancerToObjectsWithAnimation"], - "title": "Instancer To Objects With Animation", - "tooltip": "" - }, - { - "type": "separator" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\mayaReplicateHoudiniTool.py", - "sourcetype": "file", - "tags": [ - "particles", - "houdini", - "houdiniTool", - "houdiniEngine" - ], - "title": "Replicate Houdini Tool", - "tooltip": "" - }, - { - "type": "separator" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\clearInitialState.py", - "sourcetype": "file", - "tags": ["particles", "clearInitialState"], - "title": "Clear Initial State", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\particles\\killSelectedParticles.py", - "sourcetype": "file", - "tags": ["particles", "killSelectedParticles"], - "title": "Kill Selected Particles", - "tooltip": "" - } - ] - }, - { - "type": "menu", - "title": "Yeti", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\yeti\\yeti_rig_manager.py", - "sourcetype": "file", - "tags": ["yeti", "rig", "fur", "manager"], - "title": "Open Yeti Rig Manager", - "tooltip": "" - } - ] - }, - { - "type": "menu", - "title": "Cleanup", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\repair_faulty_containers.py", - "sourcetype": "file", - "tags": ["cleanup", "repair", "containers"], - "title": "Find and Repair Containers", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\selectByType.py", - "sourcetype": "file", - "tags": ["cleanup", "selectByType"], - "title": "Select By Type", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\selectIntermediateObjects.py", - "sourcetype": "file", - "tags": ["cleanup", "selectIntermediateObjects"], - "title": "Select Intermediate Objects", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\selectNonUniqueNames.py", - "sourcetype": "file", - "tags": ["cleanup", "select", "non unique", "names"], - "title": "Select Non Unique Names", - "tooltip": "" - }, - { - "type": "separator" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\removeNamespaces.py", - "sourcetype": "file", - "tags": ["cleanup", "remove", "namespaces"], - "title": "Remove Namespaces", - "tooltip": "Remove all namespaces" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\remove_user_defined_attributes.py", - "sourcetype": "file", - "tags": ["cleanup", "remove_user_defined_attributes"], - "title": "Remove User Defined Attributes", - "tooltip": "Remove all user-defined attributes from all nodes" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\removeUnknownNodes.py", - "sourcetype": "file", - "tags": ["cleanup", "removeUnknownNodes"], - "title": "Remove Unknown Nodes", - "tooltip": "Remove all unknown nodes" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\removeUnloadedReferences.py", - "sourcetype": "file", - "tags": ["cleanup", "removeUnloadedReferences"], - "title": "Remove Unloaded References", - "tooltip": "Remove all unloaded references" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\removeReferencesFailedEdits.py", - "sourcetype": "file", - "tags": ["cleanup", "removeReferencesFailedEdits"], - "title": "Remove References Failed Edits", - "tooltip": "Remove failed edits for all references" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\remove_unused_looks.py", - "sourcetype": "file", - "tags": ["cleanup", "removeUnusedLooks"], - "title": "Remove Unused Looks", - "tooltip": "Remove all loaded yet unused Avalon look containers" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\deleteGhostIntermediateObjects.py", - "sourcetype": "file", - "tags": ["cleanup", "deleteGhostIntermediateObjects"], - "title": "Delete Ghost Intermediate Objects", - "tooltip": "" - }, - { - "type": "separator" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\resetViewportCache.py", - "sourcetype": "file", - "tags": ["cleanup", "reset", "viewport", "cache"], - "title": "Reset Viewport Cache", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\uniqifyNodeNames.py", - "sourcetype": "file", - "tags": ["cleanup", "uniqifyNodeNames"], - "title": "Uniqify Node Names", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\autoRenameFileNodes.py", - "sourcetype": "file", - "tags": ["cleanup", "auto", "rename", "filenodes"], - "title": "Auto Rename File Nodes", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\update_asset_id.py", - "sourcetype": "file", - "tags": ["cleanup", "update", "database", "asset", "id"], - "title": "Update Asset ID", - "tooltip": "Will replace the Colorbleed ID with a new one (asset ID : Unique number)" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\colorbleedRename.py", - "sourcetype": "file", - "tags": ["cleanup", "rename", "ui"], - "title": "Colorbleed Renamer", - "tooltip": "Colorbleed Rename UI" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\renameShapesToTransform.py", - "sourcetype": "file", - "tags": ["cleanup", "renameShapesToTransform"], - "title": "Rename Shapes To Transform", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\reorderUI.py", - "sourcetype": "file", - "tags": ["cleanup", "reorderUI"], - "title": "Reorder UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\cleanup\\pastedCleaner.py", - "sourcetype": "file", - "tags": ["cleanup", "pastedCleaner"], - "title": "Pasted Cleaner", - "tooltip": "" - } - ] - }, - { - "type": "menu", - "title": "Others", - "items": [ - { - "type": "menu", - "sourcetype": "file", - "title": "Yeti", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\yeti\\cache_selected_yeti_nodes.py", - "sourcetype": "file", - "tags": ["others", "yeti", "cache", "selected"], - "title": "Cache Selected Yeti Nodes", - "tooltip": "" - } - ] - }, - { - "type": "menu", - "title": "Hair", - "tooltip": "", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\hair\\recolorHairCurrentCurve", - "sourcetype": "file", - "tags": ["others", "selectSoftSelection"], - "title": "Select Soft Selection", - "tooltip": "" - } - ] - }, - { - "type": "menu", - "command": "$OPENPYPE_SCRIPTS\\others\\display", - "sourcetype": "file", - "tags": ["others", "display"], - "title": "Display", - "items": [ - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\display\\wireframeSelectedObjects.py", - "sourcetype": "file", - "tags": ["others", "wireframe", "selected", "objects"], - "title": "Wireframe Selected Objects", - "tooltip": "" - } - ] - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\archiveSceneUI.py", - "sourcetype": "file", - "tags": ["others", "archiveSceneUI"], - "title": "Archive Scene UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\getSimilarMeshes.py", - "sourcetype": "file", - "tags": ["others", "getSimilarMeshes"], - "title": "Get Similar Meshes", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\createBoundingBoxEachSelected.py", - "sourcetype": "file", - "tags": ["others", "createBoundingBoxEachSelected"], - "title": "Create BoundingBox Each Selected", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\curveFromPositionEveryFrame.py", - "sourcetype": "file", - "tags": ["others", "curveFromPositionEveryFrame"], - "title": "Curve From Position", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\instanceLeafSmartTransform.py", - "sourcetype": "file", - "tags": ["others", "instance", "leaf", "smart", "transform"], - "title": "Instance Leaf Smart Transform", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\instanceSmartTransform.py", - "sourcetype": "file", - "tags": ["others", "instance", "smart", "transform"], - "title": "Instance Smart Transform", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\randomizeUVShellsSelectedObjects.py", - "sourcetype": "file", - "tags": ["others", "randomizeUVShellsSelectedObjects"], - "title": "Randomize UV Shells", - "tooltip": "Select objects before running action" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\centerPivotGroup.py", - "sourcetype": "file", - "tags": ["others", "centerPivotGroup"], - "title": "Center Pivot Group", - "tooltip": "" - }, - { - "type": "separator" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\locatorsOnSelectedFaces.py", - "sourcetype": "file", - "tags": ["others", "locatorsOnSelectedFaces"], - "title": "Locators On Selected Faces", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\locatorsOnEdgeSelectionPrompt.py", - "sourcetype": "file", - "tags": ["others", "locatorsOnEdgeSelectionPrompt"], - "title": "Locators On Edge Selection Prompt", - "tooltip": "" - }, - { - "type": "separator" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\copyDeformers.py", - "sourcetype": "file", - "tags": ["others", "copyDeformers"], - "title": "Copy Deformers", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\selectInReferenceEditor.py", - "sourcetype": "file", - "tags": ["others", "selectInReferenceEditor"], - "title": "Select In Reference Editor", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\selectConstrainingObject.py", - "sourcetype": "file", - "tags": ["others", "selectConstrainingObject"], - "title": "Select Constraining Object", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\deformerSetRelationsUI.py", - "sourcetype": "file", - "tags": ["others", "deformerSetRelationsUI"], - "title": "Deformer Set Relations UI", - "tooltip": "" - }, - { - "type": "action", - "command": "$OPENPYPE_SCRIPTS\\others\\recreateBaseNodesForAllLatticeNodes.py", - "sourcetype": "file", - "tags": ["others", "recreate", "base", "nodes", "lattice"], - "title": "Recreate Base Nodes For Lattice Nodes", - "tooltip": "" - } - ] - } -] From cae76ef920e581884dbff487c1c8219826006df2 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Sat, 12 Feb 2022 23:56:13 +0100 Subject: [PATCH 02/11] Remove some unused functions --- openpype/hosts/maya/api/lib.py | 147 --------------------------------- 1 file changed, 147 deletions(-) diff --git a/openpype/hosts/maya/api/lib.py b/openpype/hosts/maya/api/lib.py index 1f6c8c1deb..1eab0bdfb7 100644 --- a/openpype/hosts/maya/api/lib.py +++ b/openpype/hosts/maya/api/lib.py @@ -286,153 +286,6 @@ def pairwise(iterable): return itertools.izip(a, a) -def unique(name): - assert isinstance(name, string_types), "`name` must be string" - - while cmds.objExists(name): - matches = re.findall(r"\d+$", name) - - if matches: - match = matches[-1] - name = name.rstrip(match) - number = int(match) + 1 - else: - number = 1 - - name = name + str(number) - - return name - - -def uv_from_element(element): - """Return the UV coordinate of given 'element' - - Supports components, meshes, nurbs. - - """ - - supported = ["mesh", "nurbsSurface"] - - uv = [0.5, 0.5] - - if "." not in element: - type = cmds.nodeType(element) - if type == "transform": - geometry_shape = cmds.listRelatives(element, shapes=True) - - if len(geometry_shape) >= 1: - geometry_shape = geometry_shape[0] - else: - return - - elif type in supported: - geometry_shape = element - - else: - cmds.error("Could not do what you wanted..") - return - else: - # If it is indeed a component - get the current Mesh - try: - parent = element.split(".", 1)[0] - - # Maya is funny in that when the transform of the shape - # of the component element has children, the name returned - # by that elementection is the shape. Otherwise, it is - # the transform. So lets see what type we're dealing with here. - if cmds.nodeType(parent) in supported: - geometry_shape = parent - else: - geometry_shape = cmds.listRelatives(parent, shapes=1)[0] - - if not geometry_shape: - cmds.error("Skipping %s: Could not find shape." % element) - return - - if len(cmds.ls(geometry_shape)) > 1: - cmds.warning("Multiple shapes with identical " - "names found. This might not work") - - except TypeError as e: - cmds.warning("Skipping %s: Didn't find a shape " - "for component elementection. %s" % (element, e)) - return - - try: - type = cmds.nodeType(geometry_shape) - - if type == "nurbsSurface": - # If a surfacePoint is elementected on a nurbs surface - root, u, v = element.rsplit("[", 2) - uv = [float(u[:-1]), float(v[:-1])] - - if type == "mesh": - # ----------- - # Average the U and V values - # =========== - uvs = cmds.polyListComponentConversion(element, toUV=1) - if not uvs: - cmds.warning("Couldn't derive any UV's from " - "component, reverting to default U and V") - raise TypeError - - # Flatten list of Uv's as sometimes it returns - # neighbors like this [2:3] instead of [2], [3] - flattened = [] - - for uv in uvs: - flattened.extend(cmds.ls(uv, flatten=True)) - - uvs = flattened - - sumU = 0 - sumV = 0 - for uv in uvs: - try: - u, v = cmds.polyEditUV(uv, query=True) - except Exception: - cmds.warning("Couldn't find any UV coordinated, " - "reverting to default U and V") - raise TypeError - - sumU += u - sumV += v - - averagedU = sumU / len(uvs) - averagedV = sumV / len(uvs) - - uv = [averagedU, averagedV] - except TypeError: - pass - - return uv - - -def shape_from_element(element): - """Return shape of given 'element' - - Supports components, meshes, and surfaces - - """ - - try: - # Get either shape or transform, based on element-type - node = cmds.ls(element, objectsOnly=True)[0] - except Exception: - cmds.warning("Could not find node in %s" % element) - return None - - if cmds.nodeType(node) == 'transform': - try: - return cmds.listRelatives(node, shapes=True)[0] - except Exception: - cmds.warning("Could not find shape in %s" % element) - return None - - else: - return node - - def export_alembic(nodes, file, frame_range=None, From 651ac02b3be00afa4199847cd003b51fbf955908 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Sat, 12 Feb 2022 23:57:47 +0100 Subject: [PATCH 03/11] Remove old unused function --- openpype/hosts/maya/api/lib.py | 109 --------------------------------- 1 file changed, 109 deletions(-) diff --git a/openpype/hosts/maya/api/lib.py b/openpype/hosts/maya/api/lib.py index 1eab0bdfb7..3efa625e4a 100644 --- a/openpype/hosts/maya/api/lib.py +++ b/openpype/hosts/maya/api/lib.py @@ -430,115 +430,6 @@ def imprint(node, data): cmds.setAttr(node + "." + key, value, **set_type) -def serialise_shaders(nodes): - """Generate a shader set dictionary - - Arguments: - nodes (list): Absolute paths to nodes - - Returns: - dictionary of (shader: id) pairs - - Schema: - { - "shader1": ["id1", "id2"], - "shader2": ["id3", "id1"] - } - - Example: - { - "Bazooka_Brothers01_:blinn4SG": [ - "f9520572-ac1d-11e6-b39e-3085a99791c9.f[4922:5001]", - "f9520572-ac1d-11e6-b39e-3085a99791c9.f[4587:4634]", - "f9520572-ac1d-11e6-b39e-3085a99791c9.f[1120:1567]", - "f9520572-ac1d-11e6-b39e-3085a99791c9.f[4251:4362]" - ], - "lambert2SG": [ - "f9520571-ac1d-11e6-9dbb-3085a99791c9" - ] - } - - """ - - valid_nodes = cmds.ls( - nodes, - long=True, - recursive=True, - showType=True, - objectsOnly=True, - type="transform" - ) - - meshes_by_id = {} - for mesh in valid_nodes: - shapes = cmds.listRelatives(valid_nodes[0], - shapes=True, - fullPath=True) or list() - - if shapes: - shape = shapes[0] - if not cmds.nodeType(shape): - continue - - try: - id_ = cmds.getAttr(mesh + ".mbID") - - if id_ not in meshes_by_id: - meshes_by_id[id_] = list() - - meshes_by_id[id_].append(mesh) - - except ValueError: - continue - - meshes_by_shader = dict() - for mesh in meshes_by_id.values(): - shape = cmds.listRelatives(mesh, - shapes=True, - fullPath=True) or list() - - for shader in cmds.listConnections(shape, - type="shadingEngine") or list(): - - # Objects in this group are those that haven't got - # any shaders. These are expected to be managed - # elsewhere, such as by the default model loader. - if shader == "initialShadingGroup": - continue - - if shader not in meshes_by_shader: - meshes_by_shader[shader] = list() - - shaded = cmds.sets(shader, query=True) or list() - meshes_by_shader[shader].extend(shaded) - - shader_by_id = {} - for shader, shaded in meshes_by_shader.items(): - - if shader not in shader_by_id: - shader_by_id[shader] = list() - - for mesh in shaded: - - # Enable shader assignment to faces. - name = mesh.split(".f[")[0] - - transform = name - if cmds.objectType(transform) == "mesh": - transform = cmds.listRelatives(name, parent=True)[0] - - try: - id_ = cmds.getAttr(transform + ".mbID") - shader_by_id[shader].append(mesh.replace(name, id_)) - except KeyError: - continue - - # Remove duplicates - shader_by_id[shader] = list(set(shader_by_id[shader])) - - return shader_by_id - - def lsattr(attr, value=None): """Return nodes matching `key` and `value` From 33e1687120eb47f9f9239ed8f923e7a4d5238c0e Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Sun, 13 Feb 2022 00:01:06 +0100 Subject: [PATCH 04/11] Remove maya_temp_folder() function - not used in code base --- openpype/hosts/maya/api/lib.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/openpype/hosts/maya/api/lib.py b/openpype/hosts/maya/api/lib.py index 3efa625e4a..6396324167 100644 --- a/openpype/hosts/maya/api/lib.py +++ b/openpype/hosts/maya/api/lib.py @@ -1283,15 +1283,6 @@ def extract_alembic(file, return file -def maya_temp_folder(): - scene_dir = os.path.dirname(cmds.file(query=True, sceneName=True)) - tmp_dir = os.path.abspath(os.path.join(scene_dir, "..", "tmp")) - if not os.path.isdir(tmp_dir): - os.makedirs(tmp_dir) - - return tmp_dir - - # region ID def get_id_required_nodes(referenced_nodes=False, nodes=None): """Filter out any node which are locked (reference) or readOnly From 58ac71decb4945e8855de0f90b130ce55938916d Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Sun, 13 Feb 2022 00:08:13 +0100 Subject: [PATCH 05/11] Fix docstring --- openpype/hosts/maya/api/lib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openpype/hosts/maya/api/lib.py b/openpype/hosts/maya/api/lib.py index 6396324167..c99c3fefdb 100644 --- a/openpype/hosts/maya/api/lib.py +++ b/openpype/hosts/maya/api/lib.py @@ -2582,7 +2582,7 @@ def get_attr_in_layer(attr, layer): def fix_incompatible_containers(): - """Return whether the current scene has any outdated content""" + """Backwards compatibility: old containers to use new ReferenceLoader""" host = api.registered_host() for container in host.ls(): From c74f4e6f04361b46f97d10929514f9a56a4225d1 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Sun, 13 Feb 2022 00:08:28 +0100 Subject: [PATCH 06/11] More cleanup --- openpype/hosts/maya/api/lib.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/openpype/hosts/maya/api/lib.py b/openpype/hosts/maya/api/lib.py index c99c3fefdb..1e4e65578a 100644 --- a/openpype/hosts/maya/api/lib.py +++ b/openpype/hosts/maya/api/lib.py @@ -2124,6 +2124,7 @@ def reset_scene_resolution(): set_scene_resolution(width, height, pixelAspect) + def set_context_settings(): """Apply the project settings from the project definition @@ -2600,10 +2601,6 @@ def fix_incompatible_containers(): "ReferenceLoader", type="string") -def _null(*args): - pass - - class shelf(): '''A simple class to build shelves in maya. Since the build method is empty, it should be extended by the derived class to build the necessary shelf From b09629397ddc4186b13602fd4b81993529f72cc5 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Sun, 13 Feb 2022 00:12:35 +0100 Subject: [PATCH 07/11] Cosmetics --- openpype/hosts/maya/api/lib.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openpype/hosts/maya/api/lib.py b/openpype/hosts/maya/api/lib.py index 1e4e65578a..8e24d5ea13 100644 --- a/openpype/hosts/maya/api/lib.py +++ b/openpype/hosts/maya/api/lib.py @@ -2818,7 +2818,7 @@ class RenderSetupListObserver: cmds.delete(render_layer_set_name) -class RenderSetupItemObserver(): +class RenderSetupItemObserver: """Handle changes in render setup items.""" def __init__(self, item): @@ -3054,7 +3054,7 @@ def set_colorspace(): @contextlib.contextmanager def root_parent(nodes): # type: (list) -> list - """Context manager to un-parent provided nodes and return then back.""" + """Context manager to un-parent provided nodes and return them back.""" import pymel.core as pm # noqa node_parents = [] From d9ccb5e713f7ea8548eaad0cd2cd0c40abdd7a39 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Sun, 13 Feb 2022 11:37:42 +0100 Subject: [PATCH 08/11] Add back `_null(*args)`` because it was used by `shelf` --- openpype/hosts/maya/api/lib.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openpype/hosts/maya/api/lib.py b/openpype/hosts/maya/api/lib.py index 8e24d5ea13..cf59a85c9b 100644 --- a/openpype/hosts/maya/api/lib.py +++ b/openpype/hosts/maya/api/lib.py @@ -2601,6 +2601,10 @@ def fix_incompatible_containers(): "ReferenceLoader", type="string") +def _null(*args): + pass + + class shelf(): '''A simple class to build shelves in maya. Since the build method is empty, it should be extended by the derived class to build the necessary shelf From df0d8fcb8719221b4f80f4793e62fe37803fcff1 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Sun, 13 Feb 2022 13:25:34 +0100 Subject: [PATCH 09/11] Remove Maya 'lock' logic since it's unused in OP code base --- openpype/hosts/maya/api/__init__.py | 11 ----- openpype/hosts/maya/api/pipeline.py | 70 ----------------------------- 2 files changed, 81 deletions(-) diff --git a/openpype/hosts/maya/api/__init__.py b/openpype/hosts/maya/api/__init__.py index 9ea798e927..0eea8c4a53 100644 --- a/openpype/hosts/maya/api/__init__.py +++ b/openpype/hosts/maya/api/__init__.py @@ -10,12 +10,6 @@ from .pipeline import ( ls, containerise, - - lock, - unlock, - is_locked, - lock_ignored, - ) from .plugin import ( Creator, @@ -54,11 +48,6 @@ __all__ = [ "ls", "containerise", - "lock", - "unlock", - "is_locked", - "lock_ignored", - "Creator", "Loader", diff --git a/openpype/hosts/maya/api/pipeline.py b/openpype/hosts/maya/api/pipeline.py index 476ceb840b..2c6335b87b 100644 --- a/openpype/hosts/maya/api/pipeline.py +++ b/openpype/hosts/maya/api/pipeline.py @@ -187,76 +187,6 @@ def uninstall(): menu.uninstall() -def lock(): - """Lock scene - - Add an invisible node to your Maya scene with the name of the - current file, indicating that this file is "locked" and cannot - be modified any further. - - """ - - if not cmds.objExists("lock"): - with lib.maintained_selection(): - cmds.createNode("objectSet", name="lock") - cmds.addAttr("lock", ln="basename", dataType="string") - - # Permanently hide from outliner - cmds.setAttr("lock.verticesOnlySet", True) - - fname = cmds.file(query=True, sceneName=True) - basename = os.path.basename(fname) - cmds.setAttr("lock.basename", basename, type="string") - - -def unlock(): - """Permanently unlock a locked scene - - Doesn't throw an error if scene is already unlocked. - - """ - - try: - cmds.delete("lock") - except ValueError: - pass - - -def is_locked(): - """Query whether current scene is locked""" - fname = cmds.file(query=True, sceneName=True) - basename = os.path.basename(fname) - - if self._ignore_lock: - return False - - try: - return cmds.getAttr("lock.basename") == basename - except ValueError: - return False - - -@contextlib.contextmanager -def lock_ignored(): - """Context manager for temporarily ignoring the lock of a scene - - The purpose of this function is to enable locking a scene and - saving it with the lock still in place. - - Example: - >>> with lock_ignored(): - ... pass # Do things without lock - - """ - - self._ignore_lock = True - - try: - yield - finally: - self._ignore_lock = False - - def parse_container(container): """Return the container node's full container data. From b52e511a6e3d233242fa5053434953e4b0a52f8c Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Mon, 21 Feb 2022 21:03:16 +0100 Subject: [PATCH 10/11] Remove more unused code --- openpype/hosts/maya/api/__init__.py | 4 -- openpype/hosts/maya/api/lib.py | 91 ----------------------------- 2 files changed, 95 deletions(-) diff --git a/openpype/hosts/maya/api/__init__.py b/openpype/hosts/maya/api/__init__.py index 0eea8c4a53..5d76bf0f04 100644 --- a/openpype/hosts/maya/api/__init__.py +++ b/openpype/hosts/maya/api/__init__.py @@ -32,11 +32,9 @@ from .lib import ( read, apply_shaders, - without_extension, maintained_selection, suspended_refresh, - unique_name, unique_namespace, ) @@ -65,11 +63,9 @@ __all__ = [ "lsattrs", "read", - "unique_name", "unique_namespace", "apply_shaders", - "without_extension", "maintained_selection", "suspended_refresh", diff --git a/openpype/hosts/maya/api/lib.py b/openpype/hosts/maya/api/lib.py index cf59a85c9b..cd5f6ffbd8 100644 --- a/openpype/hosts/maya/api/lib.py +++ b/openpype/hosts/maya/api/lib.py @@ -154,53 +154,9 @@ def maintained_selection(): cmds.select(clear=True) -def unique_name(name, format="%02d", namespace="", prefix="", suffix=""): - """Return unique `name` - - The function takes into consideration an optional `namespace` - and `suffix`. The suffix is included in evaluating whether a - name exists - such as `name` + "_GRP" - but isn't included - in the returned value. - - If a namespace is provided, only names within that namespace - are considered when evaluating whether the name is unique. - - Arguments: - format (str, optional): The `name` is given a number, this determines - how this number is formatted. Defaults to a padding of 2. - E.g. my_name01, my_name02. - namespace (str, optional): Only consider names within this namespace. - suffix (str, optional): Only consider names with this suffix. - - Example: - >>> name = cmds.createNode("transform", name="MyName") - >>> cmds.objExists(name) - True - >>> unique = unique_name(name) - >>> cmds.objExists(unique) - False - - """ - - iteration = 1 - unique = prefix + (name + format % iteration) + suffix - - while cmds.objExists(namespace + ":" + unique): - iteration += 1 - unique = prefix + (name + format % iteration) + suffix - - if suffix: - return unique[:-len(suffix)] - - return unique - - def unique_namespace(namespace, format="%02d", prefix="", suffix=""): """Return unique namespace - Similar to :func:`unique_name` but evaluating namespaces - as opposed to object names. - Arguments: namespace (str): Name of namespace to consider format (str, optional): Formatting of the given iteration number @@ -508,17 +464,6 @@ def lsattrs(attrs): return list(matches) -@contextlib.contextmanager -def without_extension(): - """Use cmds.file with defaultExtensions=False""" - previous_setting = cmds.file(defaultExtensions=True, query=True) - try: - cmds.file(defaultExtensions=False) - yield - finally: - cmds.file(defaultExtensions=previous_setting) - - @contextlib.contextmanager def attribute_values(attr_values): """Remaps node attributes to values during context. @@ -597,26 +542,6 @@ def evaluation(mode="off"): cmds.evaluationManager(mode=original) -@contextlib.contextmanager -def no_refresh(): - """Temporarily disables Maya's UI updates - - Note: - This only disabled the main pane and will sometimes still - trigger updates in torn off panels. - - """ - - pane = _get_mel_global('gMainPane') - state = cmds.paneLayout(pane, query=True, manage=True) - cmds.paneLayout(pane, edit=True, manage=False) - - try: - yield - finally: - cmds.paneLayout(pane, edit=True, manage=state) - - @contextlib.contextmanager def empty_sets(sets, force=False): """Remove all members of the sets during the context""" @@ -1467,22 +1392,6 @@ def set_id(node, unique_id, overwrite=False): cmds.setAttr(attr, unique_id, type="string") -def remove_id(node): - """Remove the id attribute from the input node. - - Args: - node (str): The node name - - Returns: - bool: Whether an id attribute was deleted - - """ - if cmds.attributeQuery("cbId", node=node, exists=True): - cmds.deleteAttr("{}.cbId".format(node)) - return True - return False - - # endregion ID def get_reference_node(path): """ From edbd0326160c42d0831717bb26af758fb66ee6b8 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Mon, 21 Feb 2022 21:05:13 +0100 Subject: [PATCH 11/11] Remove unused import --- openpype/hosts/maya/api/lib.py | 1 - 1 file changed, 1 deletion(-) diff --git a/openpype/hosts/maya/api/lib.py b/openpype/hosts/maya/api/lib.py index cd5f6ffbd8..1da36ff2d4 100644 --- a/openpype/hosts/maya/api/lib.py +++ b/openpype/hosts/maya/api/lib.py @@ -2,7 +2,6 @@ import os import sys -import re import platform import uuid import math