Skip to content

Instantly share code, notes, and snippets.

@ryusas
ryusas / test_mayaCacheEval.py
Last active July 28, 2020 07:22
A test of mode switching for Maya 2019 cache evaluation.
# coding: utf-8
u"""
Maya 2019 キャッシュのテスト。
キャッシュ機能は Parallel Evaluation の Custom Evaluator の仕組みで実装されており、
それは cacheEvaluator プラグインによって提供されている。
"""
import sys
from collections import Callable
@ryusas
ryusas / test_falloffCurveAttr.py
Last active February 23, 2023 04:50
A test for Maya's falloffCurveAttr control and attribute.
import maya.cmds as cmds
import maya.mel as mel
cmds.group(em=True)
cmds.addAttr(at='float2', ln='testFCurve', m=True)
cmds.addAttr(at='float', ln='testFCurvePosition', p='testFCurve', dv=-1)
cmds.addAttr(at='float', ln='testFCurveValue', p='testFCurve', dv=-1)
cmds.setAttr('.testFCurve[0]', 0, 0)
cmds.setAttr('.testFCurve[1]', .5, 0)
cmds.setAttr('.testFCurve[2]', .5, 1)
@ryusas
ryusas / safe_executeDroppedPythonFile.py
Last active June 20, 2017 00:21
Patch to make maya.app.general.executeDroppedPythonFile a bit safer.
# -*- coding: utf-8 -*-
u"""
maya.app.general.executeDroppedPythonFile を少しは安全にするパッチ。
元の実装を尊重したラッパー `applyModestPatch` か
実装を丸ごと上書きする `applyOverridePatch` のどちらか好きな方を実行するとパッチが適用される。
どちらとも繰り返し実行しても副作用はないので、切り替えも可能。
元の実装の function は同モジュールの _executeDroppedPythonFile 属性に退避される。
使用例::
@ryusas
ryusas / workspaceControl.py
Created April 18, 2017 06:57
A simple example to avoid the issue of Maya 2017 workspaceControl.
# coding: utf-8
u"""
Maya 2017 workspaceControl の問題回避のサンプル。
workspaceControl と workspaceControlState のゴミが残らないようにする。
retain=False の場合でも何故か state のゴミが残ってしまうが、
scriptJob で workspaceControl の削除を監視して state も同時に削除するようにする。
retain=True の場合は、UI が閉じたとしても state は残って良いはずなので監視はしない。