« ボンデージ バーヂョンアップ。 | トップページ | 氷のデモ。 »

2008年7月 9日 (水)

コンちゃん。小さな巨人のプラグイン。(XPOP普及委員会その8)


XSI のインターフェース右側にあるコンストレインメニュー。
けっこう長ったらしいメニュー。
でもしょっちゅう使うメニュー。
このメニューに行かずににコンストレインできたら素敵だと思いませんか?
ほとんど使わない項目もありますよね。
なら、ニューに表示させる項目をカスタマイズできたら素敵だと思いませんか?

思いませんか。
そうですか。

なんだと ゴルァ。


コンちゃん。小さな巨人のプラグイン。
http://homepage3.nifty.com/jjj/XSIFiles/Plugin/JJJ_XSI_Plugins.html

Conchanppg_pop

久しぶりの XPOP普及委員会。 XPOP がインストールされてないと使えません。

コンストレインメニューが長くてうざったかったり、コンストレインをした時に出てくる PPG の表示をオフにしたかったり(例えばプリミティブを出した時は PPG 出て欲しいので Preference ではオフりたくない)、いろいろ不満を感じていたので作りました。コンストレインメニューの中身を再現しつつも、表示させる項目を自分で決めるプラグインです。コンストレインの反転など、独自機能も少しあります。 まったく独自のコードを走らせることもできます。

独自コード部分(Custom 1~3 )はもともと、ボンデージなどコンストレイン関係の自作プラグインのコマンドを登録するために作ろうと思っていたんだけど、結果的にどんなコマンドでもどんなスクリプトコードでもいいことになってしまった。この部分は他ツールとしてスピンアウトさせることにしよう。


以下、独自コードを走らせる部分のスクリプティング的な話。

「全項目カスタマイズ可能な、独自項目だけから成るポップアップメニュープラグイン」の開発がずっと前から頓挫していました。 あらかじめ設定しておいたスクリプトコードをポップアップメニューから呼び出して走らせるだけのものですが、1行スクリプトなら問題ないけど複数行スクリプトだとダメ、という問題があったからです。

なぜかと言うと Preference に複数行のテキストデータが保存できないんですね。XSI を再起動すると空っぽになっちゃってる。 もともと Preference は格納できるデータ型が制限されています。 でもテキストデータ (siString) 自体は問題ないんですよね。でもなぜか複数行だとデータを保持してくれないんですね。ゴルァです。

※ 誰か検証してみてくれませんか。

1.カスタムプロパティを作り、
2.siString 型のパラメータを追加して、
3.PPGLayout.AddString メソッドで MultiLine オプションを有効にして複数行にし、
4.InstallCustomPreferences で Preferences に登録し、
5.その PPG を開いて複数行のテキストを入力し、
6.PPG を一度閉じる。

この状態でもう一度開くと、ちゃんと複数行のテキストが再現されてますよね?
続けて、

7.XSI を終了する
8.XSI を起動する
9.File > Preferences からさっき作った PPG を開く

こうすると、複数行のテキストが、空っぽになっていませんか? なってますよね? なっていると言ってくれ。

しかたなく、一時は、保持したい複数行テキストデータを外部ファイルとして保存しておき、Event を仕込んで XSI を起動するたびに自動でそのファイルからテキストデータ(複数行のスクリプトコード)を読み込めばいいか、と思っていたのですが、最近スクリプトの中から外部のスクリプトファイルの中身を実行できることを知ったので、こっちの方がいいやーということで、この方式を採ることにしてみました。コンちゃんの Custom1~3 はこのやり方でやっています。

 Application.ExecuteScriptCode → スクリプトコード文字列を渡して実行
 Application.ExecuteScript → ファイルを指定して実行


コードを指定するモードの時は前者、ファイルを指定するときは後者のメソッドを使ってます。

項目の数だけファイルを用意しなければいけないのがうざったいですが、まあ、開発側の手間だけを考えれば、1つのファイルを読み込んでそれを Preference の特定のパラメータに復元していくというような煩雑なコード書く手間が減らせるし、ユーザも特定のフォーマットでファイルを作らなければいけなくなるし、それを避けようとすると PPG から簡単にそのフォーマットでファイルを生成できるインターフェースを用意しなければいけないのでこれまた開発の手間がかかる。 ってことで安直にこの方法を採ってみたわけですが。どうかな。


なぜかコンちゃんの方が先になってしまったけど、この Custom の部分だけを抜き出した「全部独自項目のポップアップ」プラグインを、近いうちに作ります。

---------

XSI七では SDK はどう変わっているんだろうなあ。
今までの資産生かせなかったら殺すぞ Softimage ゴルァ。


|

« ボンデージ バーヂョンアップ。 | トップページ | 氷のデモ。 »

コメント

Custom Menuっつーのが面白いですねぇ
こんなにでかいUI作るの「すげぇ!」(めんどくさい)と思いますが、何か秘訣があるのでしょうか?

最近自分的に7.0でfoundationが消えるのでXSIに留まる理由が無くなり開発意欲も消えつつあります。

あ、そういえばビールウェアってことでビールを買ってきましたが、どうやって渡せばいいのか分からなかったので、こちらで飲んでおきました。
お礼は結構です。

では

投稿: SAW | 2008年7月10日 (木) 02時37分

SAWさま、お世話になっております。

>こんなにでかいUI作るの「すげぇ!」(めんどくさい)と思いますが、何か秘訣があるのでしょうか?

コンちゃんの場合はほとんど Bool パラメータばかりですので、あんまりめんどくさくありません。
パラメータをずんどこ追加していくうちに勝手にでかくなっていく感じです。

どっちかというと、Logic っていうんですか、パラメータの値の変化とかボタンが押されたとかのイベントを
トリガにして他のパラメータの値を書き換える function、これを書くのがめんどくさいですね。
コンちゃんの場合は、All on を押したらここからここまでのパラメータを全部 true にしていくとか、
Code を File に切り替えたら表示する項目を変えて PPG を描き直すとか、その辺です。
ここんところ、RenderOptions をいじるプラグインをちまちま作っているのですが、レンダー関係は
パラメータの数が異常に多い上に Logic でやることがあまりにも多くて(ヨコ解像度が変わったら
比率を保つためにタテ解像度を自動的に変えるとか)死にそうです。手伝ってください。


>最近自分的に7.0でfoundationが消えるのでXSIに留まる理由が無くなり開発意欲も消えつつあります。

そうですか。そうですよね。モントリオールを爆撃するプラグインを一緒に開発しましょう。
UI 部分は僕が書きます。メインルーチンを SAW 様が担当してください。ネットワークに詳しい
友達を引っ張ってきてSoftimage社の社内ネットに進入し、ver7 のコードをこっそり書き換え、
実装してもらいましょう。 Get > Primitive > Bomb Montreal では目に付きすぎますか。
スタンドアロンの方がいいですか。 コマンドプロンプトから

AttackSoftimage "AvidJapan|SoftimageInc" -start 20080930 -end 20081001 -method airstrike -level holocaust -mercy off -continue

でどうでしょうか。

自分は XSI に留まらざるを得ない理由があるのでしかたなく Ess にアップグレードしますが
この恨みは一生忘れません。何せ仕事の9割以上が Fnd で出来ちゃうものですから。
ver6 はこのまま使い続けるには不安定すぎます。誰だ安定しているなんて言ったアフォは。 7 までそう期間はないな、と思って使い始めたのに。
こうなることがわかっていたらパイプラインは 5.11 のままにしておいたはずです。でも今さら 5 に戻るのは難しいです。
そして氷が美味しそう過ぎます。



>あ、そういえばビールウェアってことでビールを買ってきましたが、
>どうやって渡せばいいのか分からなかったので、こちらで飲んでおきました。
>お礼は結構です。

ほざきますね。
XSI から去る前に俺に C++ を教えれゴルァ


Z刷毛の時間短縮ビデオどんどん上げて下さい。あれはまるで iTunes とかのサウンドビジュアライザ
を見ているかのような変な気持ちよさがあります。クセになります。カンナビスなどを吸引しながら見るとさらに気持ちよさそうです。



投稿: junki | 2008年7月10日 (木) 13時29分

コメントを書く



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




トラックバック

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

この記事へのトラックバック一覧です: コンちゃん。小さな巨人のプラグイン。(XPOP普及委員会その8):

« ボンデージ バーヂョンアップ。 | トップページ | 氷のデモ。 »