« 3ds 再び。 | トップページ | Set/GetGlobal。 »

2010年11月 7日 (日)

レイちゃん。 (XPOP普及委員会その14)

レイヤなポップアップメニューのスクリプトを書きますた。


レイちゃん

http://homepage3.nifty.com/jjj/XSIFiles/Plugin/JJJ_XSI_Plugins.html

Laychanss
XPOP3 が必要です。



俺の場合 XSI のレイヤは、シーンを作る初期の段階では割とよく使い、実際のプロダクションに入るとデフォルトレイヤ以外は破棄することが多いんですが、ま、便利ですよねレイヤ。 でも 6 を押して出てくる Scene Layer Manager っていうんですか、アレが嫌いなんですよなんとなく。 操作感が悪い感じがするし、画面の面積をけっこう占有されるのも嫌でね。

だからなんとか Scene Layer Manager を使わずにできないかと思って、ずいぶん昔に XPOP2 ベースで書いたものなんですが、最近 XPOP3 が出たのでせっかくだからということで、なるべく XPOP3 の新機能を使いながら書き直してみた、というものです。

カレントレイヤを切り替えたり、レイヤのオンオフしたり、オブジェクトを指定のレイヤにぶち込んだり・・・・という、普通なら Scene Layer Manager でやる操作をポップアップメニューで代用できないかとやってみた、って感じですね。


しかし作ってみたら、案外便利じゃないんだこれが。別にどうということはない。すごくラクになった! という気があんまりしない。 うーむ、いいデキのツールにはならなかった気がします。 ますます、XPOP3 の実験・練習のためのツールという色合いが強くなってしまいました。 まあいいけど。




XPOP3 になって、色やフォントやフォントサイズを変えられるようになったので、その辺をちょっとくらいカスタマイズできるようにしてあります。

フォントサイズなんて、もういくらでも大きくできちゃうもんだから、こんな凶暴なポップアップにすることもできます。
Laychanbig( クリックでオリジナルサイズの画像)

画面全体を覆いつくす XPOP。  っていうか入りきってないし。




以下 XPOP スクリプター向け情報。

XPOPスクリプトは、まあ 3 の方が書きやすくなりましたね。 戻り値が数値ではなく、任意の文字列になりました。 なので、どの順番でどう書こうとも、数字を詰めたりすることを考えずに書けるようになったのはありがたいです。

例えば今までは、3番目の項目がクリックされたときは 3 という数値が返ってきていたんですね。 なのでその数値を見て処理を分岐させてました。 もし既存の 1 と 2 の間に新しい項目を挿入しようと思ったら、今まで 2 だったものを 3 にして、空いた 2 に新しい項目を挿入し、以降全部1つずつ数値をずらす、というようなコードの書き直しが必要でした。 でも 3 からは、各項目で任意の文字を戻せるので、後から項目をどう追加しようが、その後のルーチンはその文字列を見て分岐させればいいわけで、数値をひとつずつずらしていくようなつらい作業はしなくてもなりました。 これはなかなか大きな違いです。

ということで世界の XPOP スクリプターのみなさん、3 を使ってどんどん開発して下さい。



ただ、問題もありましてね・・・。 まだ使い始めたばかりなので詳しく検証できていませんが、どうも XPOP3 には問題がある、というか前にはなかった現象が出ている気がしてます。

まず、重い。 キーを押してからポップアップするまでに明らかにタイムラグがあります。ほんの一瞬だけど、ポップアップがもたつくのは嫌ですよね。やっぱり、フォントいじれたり色がいじれたりするので、描画に処理時間をとられているんだと思います。 アイコンが使えるのも XPOP3 の売りのひとつでしたが、各項目にアイコンを付けるとさらに重くなりました。 なので今回アイコンはあきらめています。

しかも、軽いシーンならそんなに気にならないんだけど、オブジェクトの数が多いような重いシーンでポップアップさせると、明らかに、かなーりもたつくんですよ。 ためしに XPOP2 で書いたいろんなプラグインを走らせてみると、別にシーンの重さには関係ないんですね。重いシーンだろうがなんだろうがポップアップするまでの時間に変わりはありません。 でも XPOP3 は、シーンの重さに比例してポップアップまでのタイムラグが長くなっています。 これは XPOP2 にはなかった挙動です。 「重いシーン」というのは、占有メモリ容量なのかオブジェクト数なのかポリゴン数なのか、その辺の検証はできていません。でもまあ一般的に、ブツがいっぱいあって複雑なリグも組まれていてマテリアルも多く etc ・・・・という、かなりごちゃごちゃしたシーンのことです。そういうシーンだと明らかにもたつきます。 うーむ、これは問題だな・・・。


それと、Expoler や Schematic の上にマウスカーソルがあるとポップアップしてくれないんですね。 いわゆる3Dビューポート上か、ボタンやメニューなどの XSI のインターフェース上にマウスがあれば問題ないんですがね。 ちなみに XPOP2 ではそんなことなく、Expoler と Schematic だろうがどこでもポップアップします。 うーむ、これも不便だ・・・・。



とかなんとか。
もうちょい検証して、クラウスさんに要望出してみるか・・・・。 機能的にはかなり良いアップデートなので、このままでは惜しい。



2010/12/12 追記:

.xsiaddon ファイルのダウンロードリンクが死んでいました。修正しました。
「ダウンロードできないよ」と誰も指摘してくれないのは、誰にも見向きもされていないということですねそうですね。


本文中で Explorer や Schematic 上ではポップアップしてくれないと書きましたが、単に割り当てるショートカットキーがまずかったようです。 Explorer や Schematic 上でのみ動くショートカットキーを、XPOP3 用にダブって登録してしまっていたためにポップアップしてくれなかったようです。 別のショートカットキーにしたらちゃんとポップアップしてくれました。失礼失礼。



.

|

« 3ds 再び。 | トップページ | Set/GetGlobal。 »

コメント

コメントを書く



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




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/217974/49952635

この記事へのトラックバック一覧です: レイちゃん。 (XPOP普及委員会その14):

« 3ds 再び。 | トップページ | Set/GetGlobal。 »