【Pymel備忘録】ワールド空間上で一行で同じ位置にスナップ&スケールさせるPymel リンクを取得 Facebook × Pinterest メール 他のアプリ 1月 19, 2018 pm.PyNode(targetObj).setMatrix( pm.PyNode(sourceObj).getMatrix( worldSpace = True), worldSpace = True ) ワールド行列同士でやり取りするので、一行のPymelでスナップ可能 続きを読む
【Pymel備忘録】UIからコマンドを実行する際はpm.Callbackでくるむ リンクを取得 Facebook × Pinterest メール 他のアプリ 6月 27, 2017 pymel(Maya)は仕様上UIのコマンドに他のUIを引数として引っ張ってこようとすると、ローカル変数になっているため、値にアクセスできなくなる。 そのため、コマンドはpm.Callbackを使ってくるんであげると、他のUIにアクセスできるようになる。 uiDictがUIの変数を辞書としてまとめたものとして pm.button(refreshButton,e = True,c = 'testClass(uiDict)') ↓ pm.button(refreshButton,e = True,c = pm.Callback(testClass,uiDict)) こういう形に書き換えると機能するようになる。 続きを読む
【Python備忘録】参照渡し リンクを取得 Facebook × Pinterest メール 他のアプリ 6月 14, 2017 OpenMayaを勉強しているときやMotionBuilderSDKを書いているときに確かに参照渡ししているがあまり疑問に思っていなかった。 どういうときに値渡しで、どういうとき参照渡しになっているのか、ふと疑問に思ったので調べてみた。 http://qiita.com/urakarin/items/1d6e0e76bffb9297606e http://note.crohaco.net/2014/python-argument-intro/ Pythonは値渡しが基本で、たまに参照渡ししているのかと思っていたが、実は全て参照渡ししていたらしい。 確かに変な挙動するときがあったがそのせいか。。。 ちなみにOpenMaya Python ApiとMotionBuilderSDKは参照渡し全開なので、Maya cmds Pythonライブラリくらいしか触ったことのないTD、TAの人がこのあたりをまともに触れないのはそのせいなのではと思った。 OpenMaya Python ApiもMotionBuilderSDKも見た目上Pythonだけど中身はC++で参照渡しの引数ばっかり使ってるから。。。 続きを読む