« ディスプレイタイプサイクル~~~ん。 | トップページ | キーフレームを時間軸方向でオフセットして下さい。 »

2019年9月18日 (水)

子供ハイライトすんな。


ツイッタで、Mayaさまの Child Highlighting をオフにすると便利、という話を見つけたので。 


ええその通りです。

っていうか 「オフにすると便利~♪」 などという呑気なレベルではありません。
オフにしないと死にます。 すぐ死にます。 今日死にます。 いいですか。 警告しましたよ。 死にます。

っていうか俺じゃなくてあなたが審で下さい Maya さま。



Maya さまのデフォルトだと、親を選択すると、子供・孫・曾孫~と、子孫全員、末代まで全部、選択ハイライト表示にしやがるじゃないですか。 もう、自分がどれを選んでいるんだか、分からなくなるんですよね。



以下の画像のような状態です。

Ch1

アウトライナを見ると分かるように、実際には joint3 と joint7 の2つを選択しているのですが、選択しているもの以下の階層全体がハイライトされるため、実際に何が選択されているのかはビューポート上の見た目では判別できません。 信で下さい Maya さま。





だからこの階層ファッキンハイライト機能を、プリファレンスでオフにしましょう。 という話です。

Ch3

ここで Never highlight に設定すればいいのですね。 もう、ネバーですからね。Don't とかじゃなくて Never ですよ。 ハイライトしちゃダメよ、くらいの軽い設定ではありません。 なにがなんでも絶対にどうやっても永遠にハイライト表示すんな(゚Д゚)ゴルァ ってことですからね。





これでめでたく、選択されているものだけがハイライトされるようになりました。

Ch2

これでいいんですよ Maya さま。 これをデフォルトの状態にした方がいいんじゃないでしょうかね Maya さま。 今では仕組みを理解したし慣れたけしオフにできるからいいけど、Maya さまを使い始めた初期の頃は、ほんとにもう、これがたまらなく使いにくくてね。どれ選んでいるのか分からないんだもん。 これだけのために、CG業界からの引退を真剣に検討しましたよ。





で、さっき気づいたのですが、Use object highlight setting なんて設定もあるんですね。

Ch4

あれえ? こんなの、前からあったっけ? 最近のバージョンで搭載された機能かな。

階層ハイライト機能を、丸ごとオンオフするのではなく、オブジェクトごとの設定に従うというオプションですね。 プリファレンスでこの設定を選んでいる状態で、オブジェクトを Attribute Editor で開き、Display > Selection の所に設定がありました。 これをオフにしておくと、そのオブジェクトのみ、階層ハイライトをオフにするということのようですね。 いじってみたところ、オフにしたオブジェクト以下の階層は、たとえ個別の設定がオンでも、階層ハイライトはされないですね。 つまりこいつをオフにしたら、そいつの子供以降は問答無用で階層ハイライトオフになるってことなのでしょうね。






でもね、階層ハイライトがオンの方が便利な時もあるわけですよ。リグやってる時とか、親子関係を確認したい時とかね。 こいつ、ちゃんとこの階層に入ってるかな、とか確認する時に親を選ぶと、目的のブツがハイライトされるかされないかでその親の階層内にあるかどうか判別できるとかね。 俺、けっこうしょっちゅうオンオフ切り替えます。 だからホットキーにしてます。



でもこれ、デフォルトだとホットキー割り当てられないですよね・・・? ホットキーエディタで探したんだが、見つけられなかった気がする。だからスクリプト書いたんですね。 それをランタイムコマンドにして、ホットキー割り当ててます。 これ、もう何年も前に書いた気がするな。大したものじゃないけど、一応載せておきます。

ダウンロード - kodomoHighlightSunna.py

 

import maya.cmds as mc
import sys
CurrentValue = mc.selectPref( selectionChildHighlightMode=1, q=1 )
NewValue = not( CurrentValue );
mc.selectPref( selectionChildHighlightMode = NewValue )
sys.stdout.write( "Child Highlighting : " + str(not(NewValue)) + "\n" )
mc.inViewMessage( amg= u"Child Highlighting (゚∀゚) : " + str(not(NewValue)), pos='topCenter', fade=True, fadeStayTime=300, fadeInTime=50, fadeOutTime=200 )


スクリプトを走らせるごとに、階層ハイライトをオン/オフでトグルします。

これをラインタイムコマンドにして、ホットキー化するのが良いと思うんですが、まあ、シェルフとかでもいいんじゃないでしょうか。 俺はホットキー化して、かなり頻繁にオンオフ切り替えてます。









こうやって Maya さまを、日々、小さく小さく調教しながら仕事しています。
俺ごとき大した改造もできないし、大げさなツールは書けません。
小さく小さく調教するのです。


っていうか調教されているのが真実だろうな。
歯を食いしばって Maya さまを使うのも、だいぶ慣れたもんな。
俺が調教されたんだな。



でも芯でください Maya さま



.

|

« ディスプレイタイプサイクル~~~ん。 | トップページ | キーフレームを時間軸方向でオフセットして下さい。 »

コメント

記事の内容とは関係ありませんが、仕事しながらMAYAの学習をしていまして。
記事の内容が細かく深い理解に繋がる内容で、とても役立っており大変感謝しています。

だいぶ前の記事に対するコメントになりますが、一言感謝したくてコメントしました。

投稿: ari | 2022年1月17日 (月) 14時57分

この苔むした遺跡のようなブログを、2022年にもなって訪れる人がまだいたなんて、おどろきです。

ご丁寧にありがとうございます(゚∀゚)
Mayaさまに対する怒りをぶつけているだけなのに、
それが何かしらお役に立ったのであれば、なんと言うか、望外の喜びであります(゚∀゚)

投稿: junki | 2022年1月18日 (火) 10時24分

コメントを書く



(ウェブ上には掲載しません)




« ディスプレイタイプサイクル~~~ん。 | トップページ | キーフレームを時間軸方向でオフセットして下さい。 »