【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. 【Maya】超初心者向けスクリプトファイルの
    入れる場所、実行の方法

    2024-12-03

  2. 【Maya】AutodeskDay2024 Additional Time

    2024-09-24

  3. 【Maya】意外と違う!?
    キャラと背景でのデータ作法の違い!!
    第1回

    2024-07-02

  4. 【Maya】超初心者向けMELコマンドのオブジェクト名の指定

    2024-04-30

関連記事

  1. 【Maya】Maya2018~20の日本語フォルダのプロジェクト設定

    2019-11-12

  2. Boothツール配信はじめました!

    2023-02-22

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

    2020-01-21

  4. 【PySide】QToolButton ボタン色が反映されない解決法

    2024-05-28

スキルレーダーチャート

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

ABOUT

TECH COYOTE​

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

COYOTE 3DCG STUDIO

C&R Creative Studios

難易度別

RECENT TWEET

ページ上部へ戻る