« T四。 | トップページ | ミラー愚弄ばるPosX。 対称配置スクリプト。 »

2009年7月 1日 (水)

淫すぺくと。

オブジェクトを選んで Enter を押すと、PPG が表示されるじゃないですか。
スケマティックやエクスプローラからダブルクリックでも同じですね。
アイコン部分をシングルクリックでも同じ。



で、最も典型的にはリネームする時などですが、でかい PPG はうざったいですよね。 例えばボーンの名前を変更したくて PPG を開くと、

Bone_general_ppg

こんなでけえPPGは要らねえんだよ 名前だけ変えられればそれでいいんだよゴルァ

こういう時ってついモニタを破壊するじゃないですか。
エクスプローラやスケマティックからであれば、F2 を押せばすぐにリネームできるからいいんだけど、たまたま画面いっぱいビューポートだったりすると、やはり一度 PPG を開くしかないと思います。  モニタがもったいないので何とかしたかったんですがね。


ところでこの PPG 表示の動作はいちいちスクリプトエディタの履歴にはログされませんが、スクリプティングで同じ動作をさせようとすると、 

  InspectObj

というコマンドを使うんですね。 オブジェクトを選んで Enter を押して PPG を表示する、と完全に同じ動作にするためには、SDK ガイドで調べるとわかりますが、

  InspectObj (null, siGeneralKeyword );

を実行させることになると思います。 第一引数に null を指定しているので、これは「明示的に指定せず、コマンドのデフォルト値を使う」という意味ですが、SDK ガイドを見るとデフォルト値は Current Selection とあります。つまり、現在選んでいるオブジェクトに対して実行するということですね。当たり前ですね。

で、二つ目の siGeneralKeyword の部分は、PPG に表示する内容をキーワード(ジャンル)で指定するものですね。この場合 siGeneralKeyword を指定しているので、 General つまり「一般的な」内容を表示するということなんでしょうかね。 上の画像でも、PPG のタイトルバーのところに ( General ) と表示されています。  他には siAnimationKeyword やら siKinematicsKeyword など、たくさんの中から選べます。特定のジャンルだけ表示させたい時に使うわけですね。

ただし、siNameKeyword みたいなものはない。つまり名前だけの PPG を表示させるキーワードが用意されてない。 ボーンのようにパラメータがやたら多い種類のオブジェクトは、名前と一緒に他の多くのパラメータも表示されてしまうわけですね。



で、ふと思ったのですが、ボーンなら、ボーンが持っていない種類のキーワードを指定したらどうなるんだろうかと思って、ボーンを選んだ状態で

  InspectObj ( null, siModelingKeyword );

などとやってみたら、

Bone_modeling_ppg

(゜∀゜) おおっ できるじゃないですかっ これがやりたかったんですよっ
ウインドウも小さくてすっきり、余計なプロパティは表示されず名前だけ。実に男らしい PPG です。


・・・思えば以前、ここに書いたアレと同じですね。Selection メニューの右クリックでジャンルを選ぶアレですね。 なるほど、関係ないジャンルをあえて指定すればいいのか。


でも、この Selection メニューの右クリックは、この用途においては却下ですね。だってこんな画面の端までマウスを動かすくらいなら、あの巨大な PPG の表示を待つ方がまだマシですからね。

スクリプトからやるのも、汎用的ではないですね。だって bone に siModelingKeyword ならいいけど、同じ siModelingKeyword を例えばポリゴンのキューブオブジェクトに使うと、

Cube_modeling_ppg
こうなっちゃいますからね。 だって cube はモデリング関係のパラメータを持っているわけですからね、当たり前ですね。


そうなると、siConverterKeyword のような滅多に使いそうもない、っていうかどこで使うのかよくわからんものを指定した1行スクリプトを用意しておけば、普段の用途では事足りるかなーなどと思ったのですよ。


なのですが。


ふと思いついて、このキーワードの部分を、

  InspectObj ( null, "fuck me please" );

のようにデタラメな文字列にしてみました。すると、

Cube_fuckme_ppg

わっ できたっ (;゚∀゚)

なんだ、これでいいじゃないですか。 fuck me please などというステキなキーワードにヒットするパラメータは、XSI の中には存在しないはずです。 これをコマンドにしてショートカットでも割り当てれば、もう bone でも Particle でもでかい PPG に悩まされることはありません。  よし、これで行こう。

ということで嘔吐デスクさん、しばらくはこの自作スクリプトでしのぎますが、次のバージョンでは InspectObj コマンドにこのジャンルを追加しといて下さい。siFuckMePleaseKeyword でお願いします。


ちなみに2バイト文字も行けました。

Bone_gorua_ppg

この例の場合、カッコを入れないのがコツです。

 InspecObj ( null, ";゚Д゚" );

このように書けばいいわけですね。XSI が勝手にカッコを付けますから。

それと、SDKガイドを見るとこの InspectObj の第3引数に Title というのがある。 試しに、

  InspectObj(null, "(#゚Д゚)", "嘔吐デスクさん あのクソAREAなんとかせえやゴルァ");

と入れてみたら、

Bone_gorua2_ppg

こうなりました。 どうやら PPG のタイトルをまるごと書き換えるように見えます。
ただ、SDKガイドの記述だと、「この Title オプションは、モーダルモード(OKかキャンセルを押すまで処理を奪う)で PPG を表示させたときのみ現れます」という意味のことが書いてあるんですね。上の画像はモーダルではなく siRecycle モードで表示させたものですが、ちゃんとタイトルが反映されてます。 嘔吐デスクさん、マニュアルの説明間違ってないですか。




.

|

« T四。 | トップページ | ミラー愚弄ばるPosX。 対称配置スクリプト。 »

コメント

お久しぶりです。

Shift+Enterで出るウィンドウもデカ過ぎますか?
nameだけの表示ではないですが、個人的にはそれなりにコンパクトな気がします。

最近ICEでエフェクトこさえてますが、
なんと64bit版だとレンダリングした瞬間落ちて32bitでコツコツレンダリングしてます・・。

投稿: 肉だんご | 2009年7月 2日 (木) 17時42分

おお、肉だんごさんご無沙汰です。未だにこのブログを見ているなんて、ヒマなんですね。けけけけけけ。

Shift + Enter は超却下です。
だってモーダルダイアログじゃないですか。
あのダイアログが出ているうちは、他のこと一切できないんですよ。
あり得ません。
却下です。



氷やっとるとですか。俺はノータッチです。時代に置いていかれています。ヤヴァイなあ。やらねえとなあ。

投稿: junki | 2009年7月 2日 (木) 22時18分

Preferences -> Interaction -> Property Editors/Views タブ -> Tab Style Property Editorsオン!

は、どうですか?
てか、コレ、デフォルトにしてくれよって感じです・・・。

あっ。お久しぶりです。最近サボタージュです。

投稿: garu | 2009年7月 8日 (水) 19時15分

げげっ、 ほんとだっ これでいいじゃんっ
Tab Style の存在は知っていたと思うんだけど、たぶん何かが気に入らなくて使ってなかったんでしょうねえ。何だったのかは覚えてません。しばらくこれ使ってみます。

でも FuckMePleaseKeyword の PPG は、やはりすっきり軽くていいですよ。
ぜひお試しください。

あっ。超ご無沙汰してます。ビールの季節ですね。たまに一杯やりましょう。
G藤さんにもよろしくお伝えください。
リアルタイムトゥーンすげー! 感動しました。配布して下さい。とお伝えください。

投稿: junki | 2009年7月 9日 (木) 12時21分

コメントを書く



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




トラックバック


この記事へのトラックバック一覧です: 淫すぺくと。:

« T四。 | トップページ | ミラー愚弄ばるPosX。 対称配置スクリプト。 »