« 平面 Knight。 | トップページ | 半額。 »

2011年1月25日 (火)

Paul さんの ICE ビデオ増殖。

こないだ書いた Paul さんの ICE ビデオが増殖しています。 わあ、すごくありがたい。





1. What does ICE do?


ICE の概念的な説明。 Attribute の考え方を説明しているような感じか。 球体の頂点を学校のクラスに例えて説明しているのが面白いです。頂点がクラスの人間です。名前、髪の毛の色、身長、幸福度、その他、ひとりひとりが持つ属性があります、とかなんとか。 隣の席は誰か? を考えると、ひとりひとり違う隣人がいるわけで、そういうリストを保持するのが Array だとかなんとか。 お約束のように PointPosition に数値を加算して頂点を移動させたり。 

クラスタを設定し、そのクラスタに含まれる頂点だけを Filter を使ってピックアップしたり。他のオブジェクトにレイを飛ばして、ウェイトマップがある部分で受け止め、そのウェイトマップをまた自分自身に戻したり。

ぶっちゃけ、話が綺麗にまとまっているとは言いがたいけど、まあ基本は基本であり誰もが通過せねばなりません。その基本の部分を説明しようとしている感じです。 RayCast ノードとか、何にどう使うのかあまりわかってなかったので、勉強になりました。



2. Driving a wrightmap in ICE


自分自身の頂点と他のオブジェクト上の位置を比較して、距離に応じたウェイトマップのウェイトを与えるサンプル。

Get Closest Location on Geometry コンパウンドを使って、「自分自身の頂点ひとつひとつに最も近い、他のオブジェクト上における位置」を取得し、その距離を Rescale で都合のいい範囲にリマップしてウェイトにぶち込んでいるように見えます。いわゆる proximity マップ(近接マップ)ですね。 その結果を何に使おうと自由ですがこのサンプルでは Push デフォーマの値にぶち込んでますね。この Push の部分も ICE で作ってもいいと思いますが。

パッと思いつきですが、簡易なシャドウ(コンタクトシャドウ)とかに使えないかな。使えると思うな。


3. Vectors and Shapes in ICE


ICE の中で Shape Manager の Animate タブとと同等のことをやるサンプル。

普通に Shape Manager でシェイプを作り、そのシェイプの頂点位置(Shape.Positions = 元の形状からのオフセット)を ICETree に持ち込み、元の形状に加算することによって、定義済みのシェイプ形状にデフォームしています。Shape.Positions などという Attribute があるんですね。へえ。

すでにそれ用の Shape Manager があるわけだし、このワークフローをまんま真似してもさほど意味は無いと思いますが、シェイプのデータを ICETree に持ち込む方法はわかりました。色んな組み合わせに使えそう。勉強になった。 このビデオで Vector というものを説明しようという意図もあったみたいですが、Vector そのものの説明にはあまりなってないかも。ICETree の中でのシェイプの扱い方のサンプルと捉えた方が良いかもと思いました。



4. Simulation mode and ICE


コンストラクションヒストリの Simulation モードにオペレータをぶち込むと毎フレ結果が加算されていくぜ、という例を出してSim モードの簡単な説明をし、他のオブジェクトに押されて変形する Sim なデフォーマを作るサンプルですね。

自分自身の頂点のひとつひとつが、他のオブジェクトのジオメトリの内側にあるかどうかを Test Inside Geometry で調べ、内側にあったら(コリジョンしてたら)Closest Location で取って来た位置に頂点を動かす、内側になければ(コリジョンしてなければ)もとの頂点位置のまま、という例ですね。 Post Simulation モードに Relax オペレータを置いて変形の結果をスムージングしたり。 この Relax の部分も ICE でやってもいいとは思いますが。

いわゆる地面に足跡を付けていくとか、雪の上を転がるボールとか、粘土に手形を付けるとか、そういったよくあるデフォーム表現の基本なんではないかと思います。勉強になった。



5. Simulation continued - the Jiggly bit


前のビデオの続きで、押されて変形した頂点が元の形に戻ろうとする挙動を付け加えたものです。

変形前の PointPosition と変形後の PointPosition の差分を Force にぶち込んで、元の頂点位置に向かう Vector を発生させています。パーティクルを発生させているわけではないけど Simulate Particles で毎フレの計算をさせている、のかな。 減衰は Drag Force で。 Drag Force コンパウンドの中で必要な Particle Size や Mass はこのツリーでは設定されてないので、コンパウンドに潜ってそれらのパラメータを Size や Mass から取ってくるのではなく固定値に変更してます。 なるほど、こういう風に使うんですか。勉強になった。



6. ICE Kine Raycast Constraint


RayCast を使ってレイを飛ばし、ヒットした部分に null をコンストレインするサンプル。ICE Kine が出てきます。

発射側にクラスタを作り、Filter でクラスタに属する頂点とその法線を取得しレイを飛ばす。ヒットした Position を ICE Kine のマトリクスに渡すために Get Set Avarage を使っている。 なるほどなあ。 パッと思いつくのは、壁に弾が当たった部分にエミッタを移動させて煙出すとか、そんなのに使えそう。っていうか組み合わせて何にでも使えそう。勉強になった。



Rotating Vectors


ボールの位置移動に合わせて回転させるサンプル。ICE Kine ではなく、デフォーメーションとして、つまり SRT ではなく頂点に対する操作としてやっています。

うーむ、わかりやすい! スヴァらしい。 CrossProduct とか、俺には意味不明の呪文にしか思えなかったんですが、これを見るとなんとなく出来そうに思えます。 前のフレームと現在のフレームの差でベクトルを出し、CrossProduct でそのベクトルに直角な?軸を取得し、その軸に合わせて回転させる。回転の量はよくある車輪の公式だぜ。 ということだと思います。

本人も言っていますが、ちょっと前までは自分もさっぱりわからず、こんなのは数学の変態しかできないと思い込んでいたことだけど、部分部分の小さいことをひとつずつ理解していったので、わあ、俺にもこんなのできるんだーと驚いているみたいです。 よしゃあ。死ぬほど勉強になった。



ほんとにスヴァらしいですね俺レベルの ICE 使いにとっては、壮絶に役立つビデオたちだと思います。 Paul さんはビデオやスレッドの中で、恐れるな、半年前まではさっぱりわからなかった俺でもこれくらいできるようになるんだぜ、それは俺が優秀だからではなく、あきらめず恐れず少しずつやったからなんだぜ、という主旨の発言を繰り返しています。必ずしも ICE の解説を主旨としているわけではなく、こういうアプローチによる啓蒙こそが、この一連のビデオの主旨であるという意味の発言もしています。 実に勇気付けられます。 俺にもできるかも? というこの勘違いこそが、俺たちを成長させるんだと思います。 騙されて、勘違いして、その気になって、いい気になって、その幻想の中で実際に手を動かした人だけが、いつの間にか勘違いではなく本当にできるようになっていくのだと思います。 ちなみにスクリプティングも同じだと思います。ちょっと前にエラソーに取得シリーズとか書いていましたが、自分がスクリプティングをちゃんと理解しているなんて一度も思ったことはありません。俺は今でも幻想の中にいます。勘違いして、その気になって、いい気になりながら、やってるんです。




それにしても、わずか数日の間に、怒涛のリリースラッシュ。
Paul さんありがとう。もっとやってくれ。今のこの情熱を失わないでくれ。
皆さん、彼に ICE ビデオ作成のモチベーションを維持してもらうために、もっと賞賛しないとダメですよ。 Vimeo の会員登録して Like を付けましょう。XSI Base あたりで Wow, thanks, you rock! とか I love you, marry me! とかなんとか、おだてまくりましょう。





.

|

« 平面 Knight。 | トップページ | 半額。 »

コメント

i have to go to push Like,push Like,Push Like.

投稿: AnimationRyukyu | 2011年1月28日 (金) 19時29分

Hey, AnimationRyukyu
Yeah, go and hit the like buttons like crazy. Worth doing that.

Also don't forget to do that on MY videos, since foreign viewers don't seem to understand my sense of humour and tend to just drop stupid comments like "man, I'm speechless" or something.

投稿: junki | 2011年1月29日 (土) 02時02分

Oh,I see.
I'm careful.
Thanks for advice!

投稿: AnimationRyukyu | 2011年1月29日 (土) 03時11分

お疲れ様です。
いつも楽しく勉強させて頂いております。この記事の最後にある"勘違い"についてひどく感銘を受けました。全くその通りですよね。
諦めずやる。積み重ねる。その姿勢が次に繋がるのだと信じております。
junkiさんにはいつも勇気と多大なるモチベーションを頂き本当に感謝しております。

投稿: shirokuma | 2011年7月21日 (木) 07時19分

shirokumaさん、こんにちわ。

いやあ、「勇気と多大なるモチベーション」とか、実に大袈裟ですねw

ええ、俺たちみんな、そういう大袈裟な幻想の中に居ることにしましょう。 そっちの方が色々身に付きそうですもんね。 俺、勇気もらった! モチベーション高い! やれるぜこれは! とか勘違いしていると、いつの間にか勘違いではなく実際にそうなるであろうというのは、本文中に書いた通りっス。

投稿: junki | 2011年7月21日 (木) 10時24分

コメントを書く



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




トラックバック


この記事へのトラックバック一覧です: Paul さんの ICE ビデオ増殖。:

« 平面 Knight。 | トップページ | 半額。 »