« 万死のカスタムパラメータにフロントエンド UI スクリプトで天誅。 | トップページ | Tori と踊る男。 »

2011年12月10日 (土)

同じ名前の子をイッキに選択するの。

いや、まあ、さっさとこのスクリプト書いときゃ良かったな、って思っただけの話なんですがね。






こういう時。

S1

このように、色んな Model の下に同じ名前のオブジェクトがいっぱいあります。 この例の場合は light です。 こいつらをイッキに選択したい。






Shift とか Ctrl 押しながら選択していくのはめんどくさいじゃないですか。

5個6個ならいいですけど、20個とか面倒ですよ。

面倒じゃないあなたはCG屋に向いてないと俺は思いますよ。






で、今までどうしていたかというと、XSI のインターフェース右上の文字入力フィールドでやってました。

S3



これですね。 1個だけ選択すると、画像のように選択しているブツが表示されるので、ここをワイルドカードに書き換えてあげます。



S4

このように、Model の部分をアスタリスク * に置き換え、Enter を押すと、全ての Model の下にある light が選択されます。 便利です。





でも、この、テキスト入力の工程が、麺独裁のですよ。



Model.light と表示されている時に、Model の文字のあたりにマウスカーソルを置いてダブルクリックすると、ドットよりも手前の部分、つまり Model の文字が選択状態になってくれると良いのですが、なってくれません。 そんな便利にはできていないそうです。



結局カーソルキーとかも使いながらごちゃごちゃと手作業です。 これがけっこう麺独裁。




じゃあスクリプト書けばいいじゃんということになるのですが、単純に考えると、


 SelectObj( "*.light" );


って書けばいいだけので、なんら問題はないんですが、でも、これじゃ light 以外には使えないじゃないですか。 hoge とか hage に使えなきゃ意味無いじゃないですか。


なので今までは上で書いたように、右上のテキスト入力フィールドを使っていたんですね。 

まあ、単に思考停止していただけです。






今日ふと思って、


 SelectObj( "*." + Selection(0).name );


と書いてみたら、アラ便利。

うん、これでいいじゃないか。

なんで今までこれに思い至らなかったのだろう。






light の代わりに Selection(0) です。 つまり、現在選択しているもののうち、一番最初のものを表します。  何かひとつ選択し、このスクリプトを実行すると、 全ての Model 以下で、選択されているオブジェクトと同じ名前を持つものを、イッキに選択するというものですね。





ついでに、


 SelectObj( "*." + Selection( 0 ).name );InspectObj(  Selection );


このように Inspect まで入れれば、PPG 表示もできますかね。

意外と便利でした。







全然大したネタじゃなくてすいません。
なんで今までこうしなかったんだろうなあ。
別に難しくもないのに。
さっさとやっときゃ良かったなあ。



と思ったので、
一応載せておきますた。













|

« 万死のカスタムパラメータにフロントエンド UI スクリプトで天誅。 | トップページ | Tori と踊る男。 »

コメント

コメントを書く



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




トラックバック


この記事へのトラックバック一覧です: 同じ名前の子をイッキに選択するの。:

« 万死のカスタムパラメータにフロントエンド UI スクリプトで天誅。 | トップページ | Tori と踊る男。 »