- カメラの親子関係
- エディタでデバッグしたい
- ARCoreのライト推定を自前のシェーダーに適用したい
- 同一プロジェクトでARCoreとARKitを両方使う
ツール経由でファイルをインポートしたりした際に追加されたノードに対して何かしたい、みたいなときに何かそれっぽいコールバックがあればいいんですけど、Mayaさんには存在しなさそうなので無理矢理やるやつです。
続きを読むインハウスのツールをシェルフタブを作成して展開するプラグインを提供してるんですけど、再起動するとこのタブの中身がまっさらになるという問い合わせを受けまして。
その現象を調査、修復したお話。
悪役感。
前回の続きです。
tm8r.hateblo.jp
MatCapのMaterialを作ったのはいいけど、このノード都度作るの面倒だなーというとき、Materialをシーンとして書き出すというのがぱっと浮かびます。
が、ShaderFXにはシェーダーをファイルとして書き出す機能があるので今回はこちらを試してみます。
UnityでMatCapシェーダーをあてる記事は数あれど、Mayaはなかなか見かけないのでやってみます。
わざわざメニューバーからFiles>RecentFilesと辿るのがめんどいので、こんなやつがホットキー(キーボードショートカット)で開くやつを作ります!
Mayaでファイルとして書き出してあるコントローラファイルを読み込むようなツールを管理しているのですけど、この読み込みが異常に重い環境がありました。
一体何が悪いんや…と色々調べた結果、どうやら「startupMainWindowState」というprefsのmainWindowStatesディレクトリ内にあるファイルが悪さしているようだ、ということが分かりました。なんでや。
このファイル一体なんなのかというと、mayaのUIの状態を保存するものみたいです。尚更なんでや。
カスタマイズしたユーザーインターフェースのドッキング位置を初期状態に戻す方法 | Maya | Autodesk Knowledge Network
ファイル読み込みが重くなる環境ではこのファイルが100kbを超えていました。
というわけで犠牲になるのはUIの状態だけのようなので、削除した上でMayaを再起動してファイル読み込みを実行すると解決しました。ヤッター。ヤッター?
確認した限り再現したのはWindows、MacともにMaya2015〜2017。2018では再現せず。
ちなみに消す以外に何か回避方法ないのかと色々試したところ、以下のような処理で回避できました。
cmds.window("MayaWindow", e=True, vis=False) # ファイル読み込み処理をここに書く cmds.window("MayaWindow", e=True, vis=True)
ファイル読み込み処理の前後にMayaWindowの表示状態を非表示→表示に切り替える処理を入れる感じ。
回避できるものの、もちろんMayaWindowがファイル読み込み完了まで非表示になるので、この処理にすると何も知らない利用者はびっくりすると思うので、なにがしかケアしてあげると心臓にいいと思います。
めでたしめでたし(もやもや)
スポンサーリンク