« 余裕が・・・ | トップページ | 初詣 »

2014年1月14日 (火)ICEを使ってみる 第13回 テクスチャを頂点カラーに変換する その2

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

仕事始めから1週間。気付くともう1月半ば。早いもんですね。
皆様いかがお過ごしでしょうか。

さて本日も相変わらずICEを弄ります。

前回に引き続きテクスチャを頂点カラーに変換する方法を取り上げます。
前回は頂点/エッジを境にして色違いがあると、ちゃんと色を再現できないという粗がありました。
今回はこれを解消していきます。

まずは今回の結果から。
左がテクスチャ表示、真ん中が頂点カラー表示前回分の処理、右が今回の処理結果です。

2014_0110_01

IceTreeの全体図はコチラ。

2014_0110_02

以下、 本日の流れです。
1.VertexIndexとNodeIndex
2.色の取得方法考察
3.ICE Tree説明

■1.VertexIndexとNodeIndex
まずは頂点とノードの関係から。

2014_0110_03

上図は2×2のグリッドのVertexIDとNodeIDを調べたものです。
左側に表示されている緑の数がVertexID、右側紫の数字がNodeIDです。
図から判る通り、頂点よりノードの数の方が多いです。
黄色はNodeIDですが、各ポリゴンを構成するNodeごとに表示されています。

白文字は黄色文字を基にNodeIDをバラバラに書いてみたものです。
ポリゴンを構成している各点はジオメトリ上で同じ頂点を共有していても別物として扱われていることが判ります。
単純な言い方をするとジオメトリの頂点がVertex、ポリゴン(含めたコンポーネント)ごとの頂点がNodeって感じでしょうか。

前回の処理では色の取得方法を単純化して頂点ごとにしか色を計測しませんでした。
その結果、Vertexを共有している全Nodeに同じ色を入力するという強引な手法を取ることにしました。
今回はそこを改めたいと思います。
どうやって色を取得するかを考えていきましょう。

■2.色の取得方法考察
ポリゴンを形成しているNodeごとに色を取得できればよさそうですが、この文章からはそれをどう実現するべきなのかは判りません。
Nodeが取るべき色とはどこの色になるか…。
下図の白点のように、Nodeのすぐそばでポリゴンの内側寄りの位置の色が取れたらよさそうな感じがします。

2014_0110_04

■3.ICE Tree説明
先の図をICEのTreeに落とし込むとこんな感じになります。

2014_0110_05_2

上のグループコメント内が2番をツリー化した部分です。
だいたい下4つの手順で
A.PolygonToNodesでポリゴンを形成するNodeIDを取得
B.NodePositonを取得
C.Aを使ってBを寄り分ける
D.ポリゴン位置とCで寄り分けたNodePositonからポリゴンのちょっと内側を設定

Dについて、ここではポリゴン位置からNodeまでの距離の99.9%のところの位置をサンプルポイントに設定しています。

これで冒頭の結果が無事得られました。
では今回はこの辺で。

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

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

« 余裕が・・・ | トップページ | 初詣 »

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

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: ICEを使ってみる 第13回 テクスチャを頂点カラーに変換する その2:

« 余裕が・・・ | トップページ | 初詣 »