Mayaでシーンを開いたとき、「RuntimeError: file
エラーメッセージの通りその環境に該当のプラグインがないためエラーが出ていて、実際使用しないものであれば特に悪影響はないと思いますが、使用しないなら読み込む度にエラーメッセージが出るのも目障りなので消したいところ。
Qt.pyを使ってQtDesignerのuiをMaya2017対応させる
Qt.pyとは
PySideとPySide2、PyQt4とPyQt5のコードの違いを吸収してくれるものです。
ざっくり言うと、一つのソースコードで両バージョンに対応することが出来るようになります。
fredrikaverpil.github.io
【Maya】ファイルタイプからFBX Exportが消えて困った話
FBXの書き出しを以下のような感じでmaya.cmdsのfile関数を使って行っているコードがありまして。
cmds.file(path, pr=True, es=True, f=True, type="FBX export")
prフラグってFBXエクスポートのとき意味あるんだろうかみたいな疑問はありつつもそれはおいておいて、一部の環境で「FBX exportなんてファイルタイプないよ」とエラーが出てました。
続きを読むGAでMayaのプラグイン利用状況を計測する
この記事はMaya-Pythonアドベントカレンダー2016の12月22日の記事です。
はじめに
社内で開発したMayaプラグインをアーティストさんに使ってもらう、みたいなケースにおいて、
- どのツールがどのくらい使われているか
- 例外がどこでどのくらい出ているか
- どんな環境で使われているか
- どのバージョンのプラグインが使われているか
みたいなことが分かると、改修の優先度決め、改修の影響範囲確認、サポートの終了判断といったことに役立ちそうです。
アプリの計測方法は色々ありますが、今回は個人的に使い慣れているGoogleAnalytics(GA)での計測を試してみます。
GoogleスライドからGASを実行する
おしごとで進捗報告のためにGoogleスライドを使っていて、URL変わるのがダルいので毎週同じスライドを更新、ただし更新前に議事録も兼ねてコピーするという面倒なフローになってます。
スプレッドシートなら簡単にGAS(GoogleAppsScript)を呼べるのでどうにでもなるんですけど、スライドだと自分が知る限りスプレッドシートのように簡単にGASを呼べないので、なにか実現する方法はないかなーと調べてみました。
Web Apps | Apps Script | Google Developers
こちらに書いてある通り、GASを使って簡単なWEBアプリケーションを作ることができるようなので、これを使う方法を考えてみます。
続きを読む【Unity】指定したTypeを持つオブジェクトをHierarchyで選択する
あんまり使うシーンないとは思いつつ。
指定したTypeを持つオブジェクトをHierarchyで選択するエディタ拡張です。
ソースコードは以下。
Selection.activeGameObjectに選択したいGameObjectを突っ込むことで、Hierarchyでこのオブジェクトをクリックしたのと同じ結果を得ることが出来ます。
インスペクタはロックされてない限りはHierarchyで選択されたオブジェクトの内容が表示されるので、インスペクタから変更することを想定したプロパティを持つTypeを指定しておけば、頑張ってHierarchyから探すことなく簡単にアクセスできて楽ちんですね。(むしろそれ以外の使い道は思い浮かばない)
エンジニアならまあ多少面倒でも目的のものを探し出せると思うんですけど、非エンジニアに使ってもらうことを考えると、この名前のオブジェクトをシーンから探し出してーとか言うのも偲びないので、分かりやすいメニューを作るなり、ショートカットを作るなり、ウィンドウを作るなりして目的のものにたどり着きやすくする、という意味ではこういうツールの需要があるプロジェクトもあるんじゃないかな(あった)と思います。
今回の実装ではTools>SelectTypeを選択、またはShift+Tで起動します。
キーボードショートカットに関しては以下を参照。
docs.unity3d.com
ざっくり言うと「MenuItem」Attributeに通常通りメニューに表示するラベルを指定し、このラベルのあとにスペースを入れて以下の規定のフォーマットでショートカットに使用するキーを指定してやればよい、という感じです。
指定 | キー |
---|---|
%t | Ctrl+t(Win) Cmd+t(Mac) |
#t | Shift+t |
&t | Alt+t |
_t | t |
尚、今回はFindObjectOfTypeを使ってるので、同Typeが複数あった場合は先頭のものが選択されます。
同じTypeが複数存在しうるものもAlt+Tabでアプリケーションを切り替えるノリで順番に見ておきたいとかであれば、FindObjectOfTypeをFindObjectsOfTypeに書き換え、staticで結果の数とかカウンタとかを保持して順番に見ていけたりもするかもですね。そんな需要があるかはさておき。
【Maya】プラグイン配布の構成を考える
Mayaのプラグインを作ったんだけどどうやって共有したらいいのかわからないよ!
というわけで色々試して今自分なりにこんな感じかなーと思ってる構成について書いてみます。