« 去年の自分は何してた? | トップページ | 3月と言えば… »

2013年3月 6日 (水)ICEを使ってみる 第9回 別オブジェのUVを参照する2

おはようございます、本日の当番モーションデザイナーのY.Nです。

前回に引き続き、別オブジェクトのUVを参照するお話です。

VertexToNodesの動作がアヤシイ、けどNodeToVertexが使えそうというところで終わっていましたね。

以下、本日の流れです。
1.VertexToNodexの代替コンパウンドを作成する
2.X'を参照元のオブジェクトのUVに入れる リトライ

■1.VertexToNodexの代替コンパウンドを作成する
VertexToNodes以外でVertexとNodeの間の関係を取り持つノードが他にあれば、
そこから情報を引っ張ってきて加工することで使える情報になるかもしれない、
ということで目をつけたのがNodeToVertexです。

VertexToNodesと同じようにNodeIndexと数量の比較をしてみます。
2013_0305_01_3

NodeIndex  :左側黄緑の配列
NodeToVertex :真ん中青色の配列
VertexToNodes:右側薄赤色の配列

NodeToVertexの返り値の数はNodeIndexと合っていることがわかります。
また、NodeToVertexには同じVertexIndexが複数含まれていて、複数のNodeIndexがひとつのVertexIndexと対応していることがわかります。
どうやら動作は合っているっぽいですね。

これを使ってVertextToNodesの代替コンパウンドを作ってみましょう。
上図では、NodeIndex(黄緑)順にVertexIndex(青)が並んだ状態になっています。
この配列からVertexIndexごとにNodeIndexを返せば、VertexToNodexと
同じことができそうですね。こんな感じです。
2013_0305_02

VertexごとにNodeIndexが入っているのがわかります。

■2.X'を参照元のオブジェクトのUVに入れる リトライ
前回2番で頂点位置のUVをX'に入れてやったので、あとは参照元のUVに
頂点番号順にX'の中身を入れていきます。

前回の3番と同じ順序で行きます。
①UV座標の受け皿の数と同じだけUV座標を用意して、
②ちゃんと対応する番号の皿に座標を入れる

まずは①番。
先ほど上で作った代替コンパウンドをArrayVertexToNodesと命名して
使っています。
2013_0305_03_2

Vertex位置のuv座標X'をその位置のノード数分繰り返して配列に入れています。

続いて②番。
最終的にNodeIndexごとにUVの値を引っ張ってこれるようにちょっと
配列内のデータの順序を並び変えているところがミソでしょうか。
2013_0305_04

コンパウンドの全体像はこちら。
2013_0305_05

結果。
前も似たようなのを貼っていましたがもう一度貼っておきます。
2013_0305_06


今回はここまでということで。

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2013/03/ice9uv2-c1d1.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

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

« 去年の自分は何してた? | トップページ | 3月と言えば… »

モーションデザイナー」カテゴリの記事

コメント

コメントを書く



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


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: ICEを使ってみる 第9回 別オブジェのUVを参照する2:

« 去年の自分は何してた? | トップページ | 3月と言えば… »