Created
February 6, 2025 07:31
-
-
Save yamahigashi/8995e71a0383210992c342a1d75b7d6a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def select_layer(layer_name, add=False): | |
# type: (Text, bool) -> None | |
if not add: | |
for layer in get_all_layers(): | |
deselect_layer(layer) | |
if "BaseAnimation" == layer_name: | |
layer_name = next((x for x in get_all_layers() if "BaseAnimation" in x), layer_name) | |
def __inner(__layer_name): | |
cmds.animLayer(forceUIRebuild=True) | |
cmds.animLayer(forceUIRefresh=True) | |
cmds.animLayer( | |
__layer_name, edit=True, lock=False, mute=False, selected=True, preferred=True | |
) | |
cmds.animLayer(forceUIRebuild=True) | |
cmds.animLayer(forceUIRefresh=True) | |
__inner(layer_name) | |
def deselect_layer(layer): | |
# type: (Text) -> None | |
if "BaseAnimation" in layer: | |
cmds.animLayer(layer, edit=True, preferred=False, selected=False) | |
else: | |
cmds.animLayer(layer, edit=True, preferred=False, selected=False) | |
def get_all_layers(layer_name=None): | |
# type: (Optional[Text]) -> List[Text] | |
layers = cmds.ls(type="animLayer") or [] | |
layers = sorted(layers, key=lambda x: 0 if "baseanimation" in x.lower() else 1) | |
if layer_name is not None: | |
layers = [_l for _l in layers if layer_name in _l] | |
return layers |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment