ラベル SoftimageICE の投稿を表示しています。 すべての投稿を表示
ラベル SoftimageICE の投稿を表示しています。 すべての投稿を表示

2012年6月8日金曜日

Softimage plugin : XSI Tab Menu

ICEを使ってて、get data とか set data を取り出すのがめんどくさいのです。
インクリメントサーチから、簡単に呼び出せればいいのになと。

たとえば

[enter], "get data", [enter]
でそのまま取りたい。

ダイアログまで、マウスを持って行くのが面倒なんだよな〜と、
つぶやいた所

検索なら、標準でシュートカットがあるよとの返事が

[ctrl] + f で行けました。
シラナカッタヨー orz

まあ、Toolを作っててその過程を調べるうちに
標準でも出来てたなんて、良くある事です(調査不足) orz


デモ、配置までは出来ないんだよねぇ。
今度はドラッグがメンドクサイ

もうハシを持つのもメンドクサイお年頃です。

と、Softimage公式さんが、こんなPlugInを教えてくれました



XSI Tab Menu


XSI Tab Menu from Andy Nicholas on Vimeo.

XSI Tab Menu


コレダΣ(°□°;)



というわけで早速DL > インストール


[Tab] , "get data" ,[enter] で取り出せる。
しかもICEだけでなく、コマンドなら何でもOKのようです。


ざっくりコードを眺めたところ
コード自体はPythonで書いてありました

キーイベントで、プラグインを呼び出してるようです
pythonでインクリメントサーチなんて出来るんすね

300行ほどなので、がんばれば解析できるかもしれません


コマンド自体は別テキストとして用意し、
実行するタイプのようです。

一つ一つ自分で追加する必要性がありそうですが、
プラグインなども自分で追加できます


ということでQuick Primitiveを追加してみました
構文は下記のようです。




行けました、コレは便利!!!

自分でルールを作って、登録していけば、便利そうですね
View関係は vで始まるとか!

ただ問題はキーには自分のツールパレットを仕込んでありまして、
それが使えなくなるということでしょうか orz

いや、キーアサインをかえればいいだけなんですけどね

良いもの紹介してもらった。ありがとうございます(ペコリ

2012年4月11日水曜日

Softimage RenderTree Tips : Set Data : ICE Heightmap

ICEで、ちょと大きな発見があったのでメモ。

結論から言うと、
RenderTreeのパラメータにICEの値を直接入れるというもの


いままで、RenderTreeから、ICEAttributeで
データーを拾う事しか出来ないと思ってたので
大きな収穫。



ICE Heightmap

HeightMapを簡単に作る


というわけで、手順を記します

・オブジェクトのマテリアルにグラディエントをセット
・オブジェクトにICETreeをセット
・ICETreeはモデリング以上のコンストラクタに
・ICETreeで、BBoxを設置(※現状ではローカルです)
・BBoxの最大値、最小値をSetDataにつなぐ
・ICETreeのSetDataで、セット先をマテリアルのパラメータに

マテリアルのパラメーターとか調べるのが句かもしれませんが。
Expressionなどで、表記されますので調べてちょ

というわけで。こんな感じでつながりました。



ICETreeのSetDataって、ソレ自体のパラメータを操るだけじゃなくて、
他のデーターにも介入できるのか。

いやはや、こんな大事な事知らんかった orz
というわけで、今更、ICEすげーの発見です

※想定外の使い方かもしれませんので、バグがあるかも〜しれません。
緑の四角の表示が変化しないんだよね〜。
ICEのSetDataでコントロールされてる事がわかれば良いんだけど



Attributeを使えばいいんじゃね?

と、ツイッターで聞きました。
ICEのデータ取得できるんじゃン orz


知りませんでした orz

2011年11月15日火曜日

#ICEドリル : UpVector

ICEドリルのアップベクターに対しての一つの解かな?

前置き :
へっぽこTAが、多分コレじゃないかなと思って作った物で
ベストな状態ではないと思います。

定石とかありましたらお教えくださいませ。
マトリックスは計算量が多いから早くないって聞きますし orz

説明的な

要は、パーティクルのTransformに仕込む、3DVector to Matrix4です。
長さが1のローカルのXYZ3軸(正規ベクトル)を、各ベクターに繋ぎ、
さいごのベクターは位置情報を仕込みます。

各ベクトルの出し方は、外積を使います。
外積とは2本のベクトルがあった場合、両方のベクトルに垂直なベクトルになります
二本足の間の ちん○ と覚えてください。

下品な覚え方をすると良く覚える物です(小学生か)

ちなみに、足の順番によって、
ちん○ もとい、ベクトルの向きが反対変わるんですが、
都合のいい方を使えばイイと思います。



ICEってそんな感じで行けるのでw

※本来ならば、外積は、3次元限定でベクトルを表したり、
マトリックスは順番によって結果が変わったり、わりと難解です。
ただ、TAレベルならば、どんな便利な事が出来るか知っておいて、
マニュアルを見ながらでも使えればそれで良いのではないかと思います。
というか、自分も良くわかってませんΣ(°□°;)

もちろん、理解するほうが良い事はまちがいないですが〜

2011年11月8日火曜日

2011年10月29日土曜日

SoftimageICE : Curve Distance To Curve Location

うまくいってないメモです。

Getting equidistant points on a curve revisited

サポートにこのような記事があったので、実践してみました。

うまくいかないな~って悩んだのですが、もともと上手くいかない記事だったのね orz
英語苦手、というより、読む気がないのが敗因です・・・。

とりあえず、悔しいのでメモ


カーブの長さで判定しているようですが
Curve Distance to Curve Location コンパウンドが
上手くいってないのかも。中身を調べるしかないですね~


ほかの方のコンパウンドを見てみたら、
ロケーションで多数分割して、位置情報を割り出し、
それを、リニアで補完してました。



スクリプト C++ からのアプローチ

スクリプトでは カーブの%による位置を取得でき、その際にTangentベクトルなども一緒に取得できますので非常に便利です。

カスタムICEノードをC++で製作できますので、C++からカーブを取得して、
SDKで用意してある、メソッドで、%での位置を取得しようかと思ったのですが、

ICEでのジオメトリーの取得はどうやら、通常のそれとは勝手が違うようで、
CICEGeometryクラスから、ポイント、ポリゴン等を取得するようです。
そして、カーブのクラスの取得がわかりません。

ひょっとして、用意してないのだろうかと思います・・・詰んだ感じです。

仕事はスクリプトで行ってますが、どうせならICEでスマートに構築したいですよねぇ orz

2011年10月27日木曜日

Softimage ICE : Tools

ICEのノードの扱いを簡単にするプラグインをチェック

BlackRedKing
このブログのツール