« 2009年6月 | トップページ | 2009年8月 »

2009年7月

2009年7月29日 (水)

無限LensShader。

いや、普通にカメラいじくってただけなんですがね。



カメラはレンズシェーダを持っています。Toon_Ink_Lens です。
Fucklensshader1

RenderTree で見ると、
Fucklensshader2
こういう状態ですわね。 別にフツーです。



この状態で、ショットのカメラアングルを決めるべく、あれこれいじるわけですよ。S キーや O キーや P キーや Z キーを使ったりしながら、カメラの位置や Interest の位置やレンズの FOV をいじるという、ごく普通の作業です。

当然アンドゥすることもありますわな。カメラのアンドゥは Alt + Z ですわね。
カメラいじって気に入らなければカメラアンドゥ。これを繰り返す。フツーですわね。




しかし、だんだん重くなってきたような、挙動がおかしくなってきたような気がしないでもなく・・・。




何気なく RenderTree を見てみると、
Fucklensshader3
Σ(゚Д゚)

俺、なんか変な操作しちゃったかな。 まあいいや、作業を続けよう。
カメラいじる。 カメラアンドゥする。 何度もこれを繰り返す。


また RenderTree 見てみる。
Fucklensshader4
Σ(゚Д゚ノ)ノ


ああっ また何か起きてるっ  俺、何しちゃったのっ


RenderTree で Ctrl + R を押してノードを整理してみます。
Fucklensshader5
(;;;゚Д゚)(゚Д゚;(゚Д゚;;;)

な な な なんなのっ  怖いようっ



A キーを押して RenderTree 全体を見てみます。
Fucklensshader6

(゜∀゜;;;)





もうなんだかわかんないですけどね、カメラアンドゥを繰り返しているうちに、Lens Shader が無限増殖するように見えますよ。 Toon_Ink_Lens じゃなくても同じです。どの Lens Shader でやってもこうなるように見えます。 ちなみに XSI 六ちゃんではなりませんでした。 画像は 7.01 です。 7.5 は試していません。 そういえばずっと前に WEB でこの問題について読んだことがある気がするんだけど、解決してなかったと思うな。 これ、七ちゃんの登場以来、定説ですか? 俺は初めて体験したよ。 あなたもやってみて下さい。 再現しますか? するでしょう?  してくれ。



もう、意味わかんないです。
長年使ってきたけど、こんなご乱心ぶりは初めてです。
いや、初めてなんかじゃないな。
いつでもご乱心だからな。



嘔吐デスク Softimage 2010 ではどうなるんでしょうかね。
Fluid システムの搭載がどうたらとか聞いたことはあるけど、まあ信用なりませんわな。
そんなもの搭載したところで、カメラアンドゥで Lens Shader 無限増殖などという精神錯乱やってるようじゃ、世界のプロダクションから見向きもされなくなりますわな。

今年でやっとこの悪女と別れられるかな。
でも今さら新しい女見つけるのは難しいな。

Orz



.

| | コメント (8) | トラックバック (0)

2009年7月28日 (火)

不況につき。

今年の SIGGRAPH はニューオーリンズです。
ハリケーンで街がぶっ壊れて以来、初の開催。
XSI が嘔吐デスク傘下に降ってから、初の開催。
幸運にも参加できることになったので、色々と楽しみな感じはしてたのですが・・・。


残念ながら今年は、去年の NICE ICE のようなステキなパーティや、Production Challenge のようなシビれるイベントや、ユーザミーティング系のイベントは、全く無しだそうです。 Orz


XSI List で愛しのジェニファーさんが言っていましたが、経済不況の影響だそうです。ふうん、そうなんですか。そういうもんですか。 ケチくせえこと言うなよ そんな時こそパーっと景気良くやって俺たちの心をがっちりつかんでみせろよゴルァ っていうかゴーゴーガールズはないのかよ なんのために SIGGRAPH 行くと思ってんだよゴルァ


嘔吐デスクさんが開催する Master Class というものが今年は無料だそうですが、去年までは嘔吐デスクさんの客ではなかったので、これがどういうものなのかよくわかりません。
http://blog.livedoor.jp/borndigital/archives/910060.html

展示ブースでやる講座のようなもんですか? それともどっかのホテルの会議室みたいなところでやるようなもの? 予約とか要るのかな?
http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=13566979

なにやら AREA でも配信するんですってよ。会場行かなくても見れるってことか。それもなんだかなあ。

XSI に関しては、あの Bradly Gabe さんがまたも登場ですね。ICE でデフォーメーションと書いてあるから、なんとなく内容が想像付いてしまう気がするが・・・。 しかも XSI ユーザよりはむしろ嘔吐デスクの他ソフトウェアのユーザにアピールする目的があるとしたら、なおさら想像付いてしまうような・・・・。

Mental Ray は嘔吐デスク製品ではないのに、プログラムに入ってますね。おお、講師はあの Zap さんではないですか。 これは見てみようかしら。 Max でやるんだろうけど。


そーいや今年は横浜でもあるんですね。 SIGG ASIA って言うんだっけ。
来年の本家はまたロスだそうで。
再来年はバンクーバーですって。
バンクーバー行きたいですねえ。


.

| | コメント (2) | トラックバック (0)

講習に来るのか。

XSI Mailing list を読んでいたんですがね。

http://groups.google.ca/group/xsi_list/browse_thread/thread/98e16f4da65e4df?hl=en

いや、スレッドの内容自体はどうでもいいのです。あの困ったお人がいつものように調べもせずに質問をぶちまけて顰蹙を買っているだけです。 内容はどうでも良く、顰蹙野郎に根気強く付き合って質問に答えてあげているお方、Holger Schönberger さんの発言に注目したのです。


> PS: I will held a lecture about XSI shading, passes and ICE volumes at
> end of September in Tokyo. So if you like...



 「ところで、9月の終わりに東京で、シェーディング、パス、ICE ボリュームの講義をやるから、良かったら来るかい?」

くらいの感じだと思います。 顰蹙君が ICE のボリューム関連の質問をしているので、わかんなければ教えてやるから東京まで来い、と言っているように見えますw



で、この Holger Schönberger さん、あの BA Shader を開発した人ですね。 BA Shader Collection Essential はもちろん XSI ユーザには必須のシェーダ群だし、BA Shader Collection Volume もスヴァらしかったし、今やその Volume は XSI7 から標準搭載されましたね。

Binary Alchemy のページ:
http://www.binaryalchemy.de/index_dev.htm


BA Volume 普及促進実行委員会:
http://junkithejunkie.cocolog-nifty.com/blog/2008/01/ba_volume_1793.html
http://junkithejunkie.cocolog-nifty.com/blog/2008/01/ba_volume_41e5.html


えっ? この彼が東京でレンダリング講習をやるんですか? まじすか。そりゃ万障繰り上げて行かないと。




公式なアナウンスはまだされていないようですが、本人が言っているんだから、少なくともそういう予定はあるんでしょうね。 ええと、この人は独逸人のはず。 独逸から来るのかな? さんざんお世話になっている人だから、それこそこの人のシェーダがなかったらできなかった仕事も多かったから、是非ビールをおごりたいです。 日独ビール対決したいです。

いや、まあビールはともかく、そのレンダリング講習が本当にあるのなら必見ですね。公式アナウンスを待ちましょう (もしかしてプライベートなレクチャーとかだったりして・・・)。

ところで名前、なんて読むんですか。 ほるがー しょうえんばーがーさん? その、o の上に点々付いた文字とか、さっぱり読めません。ルビ振って下さい。ゲルマン民族の名前は本当に読みにくいですね。まあどうでもいいや、同志よ、次は伊太利亜抜きでやりましょう。





この情報は嘔吐デスクさんや
Holger Schönberger さんからの公式なアナウンスではありません。俺が勝手に WEB で見つけた書き込みから妄想しているだけのものであります。

追記:
ありゃ、公式にアナウンスされていたんですね。msk さん教えてくれてありがとう。
http://www.comtec.daikin.co.jp/event/cg_ren.html
有料だなあ。どうしようかなあ。





.

| | コメント (2) | トラックバック (0)

2009年7月16日 (木)

墓場に矯正Dup を埋葬。

あれ? ずいぶん前に埋葬したんだけど、ブログに書いたと勘違いしてたみたい。

(何ヶ月も前に)スクリプトの墓場 Graveyard に、矯正 Dup を埋葬しました。
http://homepage3.nifty.com/jjj/XSIFiles/Plugin/JJJ_XSI_Plugins.html


いや、どうでもいいものなんですがね。 だからこそ墓場に埋葬されるのですが・・・・。 最近こればっか・・・。


Duplicate の Transform
って便利ですよね。 オブジェクトを複製してすぐ移動させたりすると、続けて複製した時に同じ値だけどんどん移動させてくれるやつ。通常は複製の作業を終えて違うことしたりするとリセットされるのですが、なぜかリセットされないことないですかね? 俺はたまにあるんですよ。 普通に同じ位置で複製したいのに、どういうわけか前回の Transform の数値が生きていて、複製した瞬間にビューポートの外にぴゅーーんとすごい勢いで飛んでいったり。 どういう条件の時にこうなるんだろう。法則がつかめない。知っている方、教えて下さい。


で、リセットされてねえぞゴルァのたびに Duplicate Options 開いて 0 0 0 とか入力していくのがかったるいのでスクリプトにしたというだけ。ほんとそんだけ。ごくたまーに使う。存在を忘れていてついつい普通に Duplicate Options を開いてしまうこともしばしば。

うーむ、こんなスクリプト使わなくても、XSI 標準の方法でこの Duplicate の Transform をリセットできたような気もするんだよな・・・。気のせいか・・? どっかのメニューにそういう項目ありますかね・・・?


.

| | コメント (5) | トラックバック (0)

2009年7月14日 (火)

キョーダイン。宇宙鉄人なスクリプト。

またもや小物をアップしてみたんですがね。 Graveyard にキョーダインを埋葬しました。

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



子供を選んだ状態で親子付けをするときに、通常なら Parent ボタン押して中クリックし、親オブジェクトをピックするじゃないですか。 でも親をピックするんじゃなくて、兄弟(になるべきオブジェクト、つまりすでに目的の親のになっているオブジェクト)をピックするというスクリプトです。 やることはただの親子付け、ただし操作違いというだけですね。




そんなもん役に立つのかと言うと、俺にはけっこう役立っているんです。




例えば、
Kyodain1
上の画像のように、スカイゼルはグランゼルの親の子供になりたい、つまりキョーダイになりたいとしますよね。


でも、グランゼルの親、つまりこの場合は世界的ロボット工学者の父・葉山博士なわけですが、彼は子宝に恵まれまして、実にキョーダイが多いのです。

Kyodain2
こんな感じ。

スケマティック上では親が遠すぎてピックしにいくのが大変なわけですよ。 目的の親が階層の奥深くにある場合なんかは、エクスプローラで階層をほじくっていくのも実にめんどくさい。

でも、キョーダイになるべきオブジェクトが目の前にあれば、そいつをピックして同じ階層レベルに入れたらラクじゃないですか。 この場合は、スケマティック上でスカイゼルの目の前にグランゼルがいる。 そいつと同じ階層レベルに入りたいんだから、いちいち葉山博士を探すよりグランゼルをピックする方が遥かに手っ取り早いのです。



ってことで、スカイゼルを選んでスクリプトを起動し、グランゼルをピックすると、
Kyodain3
これで晴れてキョーダイになれました。もうダダ星人が来ても大丈夫です。


スケマティック上じゃなくても、ビューポート上でもけっこう使っています。あらかじめキョーダイになるべきオブジェクトがわかっているなら手っ取り早いです。

って、まあ、そんだけなんですがね。。。






今日の曲はこれしかないでしょう。

いやあ、カッコいいねえ。
上のクリップの 0:22 くらいから見れますが、こいつらの「オープンフェイス」ってアイアンマンのよりカッコいいよ。
弟を踏み台に兄貴がテポドンみたいに飛んでいくって設定もカッコいい。
どうみても物理的に無理な変形ギミックもカッコいい。
兄貴の P-51ムスタングのシャークマウスみたいな顔もカッコいい。
名作ですねえ。




.

| | コメント (0) | トラックバック (0)

2009年7月10日 (金)

ミラー愚弄ばるPosX。 対称配置スクリプト。

いやー ほんとどうでもいい小物なんですがね、ミラー愚弄ばるPosX というどうでもいいスクリプトを、スクリプト墓場 Graveyard に埋葬しました。

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

画像の通りなんですがね、Aを選択し、次にBを選択し、実行すると、BがAのグローバルX対称位置に移動するというだけなんですがね。


キャラクタのリグを組んでいたんですよね。インチキ筋肉デフォーメーションをやってみたくて、エンベロープのデフォーマとして大量の null を仕込んだんですが、上手くデフォーメーションするためには何度もデフォーマ null の位置調整をしなければいけないわけですよ。で、シンメトリな体だから片側を調整したらもう片側も対称に配置し直さなければいけないじゃないですか。1つや2つなら手で数値でも入れてやるけど、20個30個だとシャレになりません。ブチ切れて1分か2分で投げやりにスクリプト書いたら、意外とその後も使うようになったのでね。まあ、それなりに便利かなと思いましてね。


アフォみたいに単純なスクリプトなので、ソース丸ごと載せてみます。

try
{
var oMaster = Selection(0);
var oSlave = Selection(1);

oSlave.Kinematics.Global.posx.value = oMaster.Kinematics.Global.posx.value * -1;
oSlave.Kinematics.Global.posy.value = oMaster.Kinematics.Global.posy.value;
oSlave.Kinematics.Global.posz.value = oMaster.Kinematics.Global.posz.value;
}
catch(e)
{
Logmessage('なんかエラーです。',siError);
}

こんだけ。
エラー処理もせず、無駄にオブジェクトを代入したりもせずに書けば、

Selection(1).Kinematics.Global.posx.value = Selection(0).Kinematics.Global.posx.value * -1;
Selection(1).Kinematics.Global.posy.value = Selection(0).Kinematics.Global.posy.value;
Selection(1).Kinematics.Global.posz.value = Selection(0).Kinematics.Global.posz.value;

この3行で十分ですわな。
まあそんだけです。



ところでこういう刹那的スクリプトを野良スクリプト (c)りんぷる と呼んでいますが、最近野良スクリプトがいっぱい溜まってきて整理する気力もない。どっかにまとめておけばいいのにその仕事用のフォルダの片隅に放置されていたりするもんだから、存在を忘れているものも多い。 なんか使い捨てっぽくて嫌ですね。エコじゃないですね。 まあいいけど。



.

| | コメント (0) | トラックバック (0)

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 モードで表示させたものですが、ちゃんとタイトルが反映されてます。 嘔吐デスクさん、マニュアルの説明間違ってないですか。




.

| | コメント (4) | トラックバック (0)

« 2009年6月 | トップページ | 2009年8月 »