見出し画像

シェルフのTURTLEを滅ぼしたい

「TURTLEプラグインゆるさん」というのは人類共通の認識だと思います。
リリースした人は悔い改めてほしい。

deleteShelfTab で滅ぼす

まずは、普通にシェルフを消すときに動いている関数「deleteShelfTab」を使ってみます。

import pymel.core as pm

pm.mel.deleteShelfTab('TURTLE')

deleteShelfTabにシェルフタブ名を渡せば消せます。消せますが、
「消しますか?」ダイアログが出るので、惜しい。

deleteUI で滅ぼす

deleteUIコマンドで対応するとこのようになります。

import pymel.core as pm

turtle_tab = pm.MelGlobals().get('gShelfTopLevel') +'|TURTLE'
pm.deleteUI(turtle_tab,layout=True,)

こちらは即座にシェルフタブが消えます。

シェルフだけじゃなくプラグインも除去するようにしたり、シーンを開くとき、保存するとき、Maya起動時、終了時などあらゆる機会に仕込んでおけば完璧です(?)🔥🔥🔥🔪🐢🔫 🔥🔥🔥

備考

PyMelの「MelGlobals」にはグローバル変数が入っています。
グローバル変数「$gShelfTopLevel」には、シェルフタブたちをかこっているシェルフレイアウト上位階層を指す名前が入っています。getするときには変数名接頭の$は省略できます。
UIの階層は「|」でつなぐので、末尾に「|TURTLE」と足すことで「TURTLE」タブを指すことができます。

滅ぼせていない

20200404追記です。
deleteUIだと「今起動しているMayaのUI上では」タブが消えるんですけど、よく考えたらshelfは prefs > shelves フォルダに残っているので、これを消さねば我々の真の勝利は訪れないのでした。戦いはこれからだ。

参考

MelGlobals

deleteUI


この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
note.user.nickname || note.user.urlname

記事の感想をマシュマロなどでいただけるとよろこびます🙌 https://marshmallow-qa.com/it_ks (サポートいただけるとさらによろこび投稿頻度が増えます🙌🙌)

1
技術本を作るサークル、Circke Qtのksです。 BOOTHにて既刊お求めいただけます > https://circleqt.booth.pm  普段はフリーランスCG屋、テクニカルライター、講師業などしています。

こちらでもピックアップされています

CG
CG
  • 22本

CG制作とその周辺情報などの記事をこちらにまとめています。

コメントを投稿するには、 ログイン または 会員登録 をする必要があります。