LW addIPnt( )って

金曜日, 2009/02/06 13:27 pm LightWave, 独り言

そう言う事だったのかぁ〜。

メッシュエディットのaddIPnt( )は、今まで一度も触れた(使った) 事が無かった。
何故かって?、何をするのか分からなかったからぁ〜
あるフォーラムである方から、新たなポイントを作る場合にモーフマップ値は、この機能で作っているのでは、と、教えていただいた。で、使ってみたらいい感じ。

以下、自分用のメモとして
既存ポイント A B の間に N と言う新たなポイントを作製する場合。
img01 

NewPointID = edit->addIPnt( edit->state, N.pos, num, pids[], weights[] );

pids[ 0 ] = A.ID;
pids[ 1 ] = B.ID;
num = 2;

pids[] には、A B のポイントIDをセットし、num には配列に入っているポイント数 2 をセットしておく。
weights[] には、N が A B からどの比率で影響があるかを設定するんだってさ。
距離の平均にする場合は、A.pos と B.pos の距離が 2mで、A.pos と N.pos との距離が 0.8m だった時、比率になおすと 1.0 : 0.4 になる。
N は A に近いので影響は B より大きい。
なので、

weights[ 0 ] = 1.0 – 0.4;
weights[ 1 ] = 0.4;

とする。

B の影響を与えたくない場合は、
weights[ 0 ] = 1.0;
weights[ 1 ] = 0.0;
で、良いのかな? 後で試してみよっと。。。 

※式の表記は、解り易くしているだけなので正式ではありません。

Tags: ,

コメントはまだありません。

コメントする

 

Contribution

2010年9月
« 8月    
 1234
567891011
12131415161718
19202122232425
2627282930  

Archive

Please donate