« 私は、重力の呪縛から解放され、塵のように宙を漂いたい。 | トップページ | とっかえパッていしおん。 »

2012年4月 3日 (火)

ヌルとかの方向でポン。

忘れないうちにメモりますよ。


ICE で、Direction 系ですね、何かの 「方向」 を指定するときに、Vector の x, y, z の数値じゃさっぱりわからんじゃないですか。  0, 1, 0 って言ったら Y の真上方向、とかってすぐわかりますけど、「右上69度の方向」 とかやろうと思ったら、 x, y, z のベクタで言えますか? あなた言えますか? 言えるあなたはCG屋に向いていません。




なのでシーンの中のオブジェクトの rot を利用したいじゃないですか。 ヌルとかが向いている方向が、そのまま ICE で使うベクタになっていて欲しいじゃないですか。


これ、基本的過ぎて、ICE のチュートリアルビデオ集みたいなの見てると、最初の方でよく出てきますよね。 俺も過去に何度もやっているんですよ。 でもそのたびにチュートリアルビデオひっくり返したり、人に聞いたりして。 いつまで経っても覚えない。

記憶しようとしているからダメなんですよね。 日本のうんこたれ英語教育と同じで、英単語を暗記しても英会話はできない。 それと同じで、ノードのつなぎ方を丸暗記しても ICE たんとの会話はできないわけです。 英語も ICE語も同じ。 ICE の考え方が体に滲みこんでいれば、特定のノードのつなぎ方を覚えていなくても、ああーこうやりゃいいはずだなー ってわかるはずですよね。英語と全く同じです。日本語で考えず、英単語の引き出しを探しもせず、英語の流れの中で、英語の頭で考えれば、それらしき表現が出てくるもんです。



でも今回は、丸暗記のためにメモしますよ。 
ええ。

だってもう、何回もやってるんだもん。 そのたびに、あれえどうだったっけーって大騒ぎするの、もう嫌だもん。 周辺の皆様、ご迷惑をおかけしました。



今回は m4g さんに教えてもらいましたが、ちょっと ICE 知っている人なら、こんなんすぐできますわね。 俺はまだできねえよ。 くそう。

ICE があのトーラスと共に衝撃のデビューを飾ったのが、2008年ですか。 もう4年前ですか。俺も一応、その年から ICE はいじり始めてますから、今度の秋が来れば4年も経ったことになるわけです。 最初に ICE 使った仕事は、たしかあの作品。 5年生の学校での日常を描いたあの作品。 教室で、スローモーションで飛んでいく牛乳パック。 そこに刺さったストローからこぼれる牛乳のしずく。 を、ICE でやったんだと思う。 Blob でレンダしたような気がするな。 今ならポリゴナイザ使うのかなあ。

ともかくですね、そんなに長いこと ICE いじってても、いまだにこんなことすら、パパっとできないんですよ。ええ。  だって、ICE を思いっきり使う仕事が、継続してないんですよ。 何かの仕事でガッツリ ICE やって、わあ、理解深まったなあ(゚∀゚) なんて思ってても、次に本格的に ICE 使うのが半年後とかね。  これじゃあ、覚えられないです。 ・・・いや、きっと俺が、もっと何にでも ICE を使おうとすればいいのかな。何でもできそうだからな。 ううむ。




とかなんとか前置きは長いくせに、以降の肝心の部分は短いです。はい。

Rotatevector

ダウンロード NullRotationToDirection.zip (223.6K)

(XSI 2012)


矢印が2つありますが、これはアイコンを矢印に変えたヌルです。


オレンジの矢印が、エミッションの方向です。
緑の矢印が、Wind フォースの方向です。


エミッションの方は、Emit コンパウンドの中で Use Initial Direction Vector を選んで、ブツのノーマル方向に発射しないようにしています。


ヌルの kine.globa.ori を取得します。 グローバルの回転ですね。で、 Rotate Vector ってのがキモですね。 あるベクタを、この kine.global.ori の値だけ回転させて新しいベクタを得るって感じですか。

で、その「あるベクタ」 ってのが、上の例の場合、 0, 0, 1 になってますね。 これが、ヌルの方向と一致させるためのベクタですね。  この場合はヌルの Z の方向が、新しく得られるベクタになります。 もしここを 0, 1, 0 にした場合は、ヌルのY方向が新たに得られるベクタになります。

オレンジのヌルは他のヌルの子供なっていますが、global のローテーションを取得しているので、ローカルでどっち向いてるかは関係ありません。あくまでもグローバルの回転を読み取っています。アイコンの見た目の向いている方向と一致させたいわけだから、これが都合いいはず。 ローカルで考えると、矢印がローカルでどこかを向いていた場合、矢印が向いている方向とツリーの中の Vector が、見た目上合わなくなりますからね。




ってことで、ヌルのZ方向にパーティクルを発射し、もうひとつのヌルのZ方向に風が吹いて流されるという ICE ツリーができました。 方向のコントロールはツリーの中ではなく、ビュー上のオブジェクトの見た目でわかりやすく。 という趣旨でした。 以上。

m4g さんありがとう。いつまでもヘタレですいません。 きっと今後もこんな感じで変わりません俺は。すいません。










ふう。
これでもう忘れねえだろう。
書いた内容より、書くという行為によって、覚えるんだよね。
しかも、万が一忘れても、まあ忘れるだろうけど、
自分のブログに1回書いたぞ、というのさえ記憶しておけば、
すぐに情報にたどり着けます。



とか言って。
自分でブログに書いたぞという事実すら、簡単に忘れるんだよねえ。


あれえ? 
なんで俺、こんなことも知らねえんだ?
一回やってたんじゃなかったんか?


とかいうパニックをごくりと飲み干して Google 先生に聞いてみると、
検索結果トップは自分のブログ記事だったり。


なんだ、一回やってんじゃん俺 orz
すっかり忘れてたよ orz


どれどれ、と思って内容を読んでみると、
なんだか一回やった記憶もなくて、
ほぼ初めての情報に見えて、
わぁ 参考になりますた ありがとう潤樹さん (゚∀゚)

とか。






俺はもうダメだ

ポリゴンのない国へ行こう







.

|

« 私は、重力の呪縛から解放され、塵のように宙を漂いたい。 | トップページ | とっかえパッていしおん。 »

コメント

いつも参考にさせていただいています。
Rotate Vectorを使って方向を指定する方法もあるんですねー
知りませんでした・・

ヌルのz方向を指定するだけでしたら kine.globalの値を
"4x4 Matrix to 3D Vector" に入れて "Vector3" を "Direction"
に繋いであげればシンプルになって覚えやすいですよw

投稿: sara | 2012年5月15日 (火) 17時38分

おおー sara さん御無沙汰です。
年末以来でしょうか。その節はどうもでした。
また呑み会などしたいです。

っていうかおおおー ほんとだ! そんな簡単なツリーで出来ちゃった!
超簡単じゃないですか。ノード2個でいい。

なぜこのマトリクスとやらでそうなるのかは、俺の理解を完全に超えています。
マトリクスってワサビ醤油で食うと美味いんでしたっけ、ってくらいの感じです。
でもいいです。丸暗記で覚えておきます。

ブログに書かないと忘れるなあ。

ありがとございます!!!
見ての通り、ちゃんと理解もしてないのに色々書いているんで、
またいつでも突っ込んで下さい!!

投稿: 潤樹 | 2012年5月15日 (火) 21時52分

コメントを書く



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




トラックバック


この記事へのトラックバック一覧です: ヌルとかの方向でポン。:

« 私は、重力の呪縛から解放され、塵のように宙を漂いたい。 | トップページ | とっかえパッていしおん。 »