【Maya】MELでコンポーネント選択状態の選択解除

クリーク・アンド・リバー社 COYOTE CG STUDIO テクニカルチームの可哀そうだと思う武将は愛の戦士直江兼続、戦国大好き人間の中林です。

今回はくだらないけど、本質的に使えるMELの裏技です。
フェースや頂点などのコンポーネントを選択した状態での、MELスクリプトからの簡単な選択解除です。

blob.jpg

そもそものキッカケは?

Mayaでツールを作っていて良くあることですが、実行した後に結果をすぐに見たいので選択解除をした状態にして欲しいとアーティストから要望を受けます。
オブジェクト選択ならselect -cl;コマンドで簡単に済みます。
しかし、コンポーネント選択では上図の現実のように選択が解除されても青い線のハイライトが残ります。
当然、アーティストの要望としては理想状態で処理が終わって欲しいのが人情です。

真面目に作ろうろすると……

何気にこの選択状態ですがselectModeコマンドやhiliteコマンドなど様々な設定が影響しています。一歩処理のフラグを立て間違えるととハイライトが表示されなくなることもあります(経験談)
select -r オブジェクト名でも良いですが
➀選択コンポーネント名を取得する
➁最初のコンポーネント名を「.」で分割してオブジェクト名を取得する
➂オブジェクト名で選択する
➃選択を解除する
手数が多い上にそもそもコンポーネント選択状態であるだけで、コンポーネントを選択してない可能性もツール次第ではあります。

実はカメラ選択するとオブジェクト選択状態になる

手動でコンポーネント選択状態から適当なカメラを選択してもらえれば分かるけど、カメラを選択した瞬間にコンポーネントの青い線のハイライトが消えます。これだけで自動的にオブジェクト選択状態と同じ状態になってます。
(正確にはカメラではなくtransformノード全般の選択ですが、分かりやすくカメラ限定)
最近のMayaはよほど捻くれたデータではない限りデフォルトカメラは名前が固定をされているので、単純だけど以下の2行で理想的な選択解除状態になります。

select -r "|persp";
select -cl;

多分、真面目にやればSelectToggleModeコマンドを使うなどの方法があると思います。
しかし、if文も何も使わないで素人でも簡単に使えて2行で済む方法はそれほど多くはないと思います。
少なくとも僕はこれを超えるコンポーネント選択状態の解除のスクリプトは見たことはなく、今でも多用する裏技です。

nakabayashi nobukazu

MayaからPhotoshop、Unity、UEなどアーティストが困っていればツール作成にチャレンジしてお助け。
ただ今、Substance Painterに挑戦中です。
やーってやるぜ!!

投稿者記事

  1. 【Photoshop】ShotSave ver2.0で
    アルファチャンネルにコピーしてみた

    2023-07-25

  2. 【TANight】無料配布Maya便利ツール徹底紹介
    資料公開

    2023-05-30

  3. 【Photoshop】別名で保存がワンクリックツール
    ShotSave ver1.0をBoothで頒布

    2023-03-29

  4. 【TA Night】日本ゲームのライティングと
    テクニカルアーティスト:アンケート発表編

    2022-09-28

関連記事

  1. 【Maya】前後左右の動きに分解してスカートのリグを作ってみる

    2020-01-21

  2. 【Maya】コントローラーの一時的なワールド挙動化

    2019-05-28

  3. 【Maya】表示されないMELコマンドを知る方法:初心者編

    2019-11-26

  4. Mayaのリファレンス機能、 ちゃんと理解して使えば怖くない! -中編-

    2023-12-22

スキルレーダーチャート

テクニカルアーティスト専用
スキルレーダーチャート
どなたでも無料でご利用いただけます。

ABOUT

TECH COYOTE​

テクニカルアーティストの為のまとめサイトです。​
本サイトでは、ツール開発、業務効率化等について情報発信をしていきます。

COYOTE 3DCG STUDIO

C&R Creative Studios

RECENT TWEET

ページ上部へ戻る

運営会社

logo-rec-1.png
© CREEK & RIVER Co., Ltd.