MRが楽しい

MRやVRについて学習したことを書き残す

HoloLens特化のホロ恋子モデルを作成する その31(ウェイト設定による頂点の動き)

本日はホロ恋子モデル2の作成枠です。
ウェイト設定による頂点の動きについてまとめます。
f:id:bluebirdofoz:20190202175351j:plain

ウェイトの影響力

ウェイトの設定値による影響力は絶対値ではなく、比率できまります。
以下は指先のウェイト値を 1.0 で設定した場合と 0.5 で設定した場合で、指先のボーンを90度回転させた例です。
・指先ウェイト値 1.0
f:id:bluebirdofoz:20190202175403j:plain

・指先ウェイト値 0.5
f:id:bluebirdofoz:20190202175414j:plain

全く同じ曲がり方をしていることが分かります。
ウェイトの設定値による影響力は絶対値では変化しないため、1.0 を 0.5 に設定しても影響力が半分にはなりません。

ウェイトペイントは絶対値で色を表示します。
このため、ウェイトペイントの表示では異なる配色であるにも関わらず、ボーンの動作では全く同じ変形をするということが起こりえます。
・指先ウェイト値 1.0
f:id:bluebirdofoz:20190202175427j:plain

・指先ウェイト値 0.5
f:id:bluebirdofoz:20190202175439j:plain

ウェイトの影響力を確認する際は、絶対値ではなく、各頂点に設定されたウェイトの比率を確認する必要があります。

複数ウェイトの設定

このように、ウェイトは頂点に対する影響力の比率を示すものなので、影響するボーンを増やすと動きが変わります。
先ほどの 0.5 を設定した例で第二関節のウェイト値を追加して、同じく指先のボーンを90度回転させます。
・指先ウェイト値 0.5、中関節ウェイト値 0.5
f:id:bluebirdofoz:20190202175450j:plain

指関節の曲がり具合の影響力が半分になった事が分かります。
因みにこちらも絶対値を変更しても動きに変化はありません。
・指先ウェイト値 1.0、中関節ウェイト値 1.0
f:id:bluebirdofoz:20190202175502j:plain

複数ウェイト設定時の注意点

複数ボーンのウェイトを設定する場合は、対象のボーンの親子関係に注意が必要です。
ボーンの動きは伝播するため、親関係にあるボーンでウェイトを設定していれば親ボーンの移動でも破綻しません。
・人差し指の指先ウェイト値 0.5、人差し指の中関節ウェイト値 0.5
f:id:bluebirdofoz:20190202175513j:plain

しかし以下のように親子関係にない複数ボーンにウェイト値を設定してしまうと、その親ボーンを移動した際に破綻するケースが発生します。
・人差し指の指先ウェイト値 0.5、中指の指先ウェイト値 0.5
f:id:bluebirdofoz:20190202175524j:plain

次は実際にポーズを変更してウェイト値を調整する手順についてです。
bluebirdofoz.hatenablog.com