HOME

Houdiniでスキンバインドのジョイントインフルエンス数の削減を行う

ジョイントデフォーム時の頂点に対して影響するジョイント数を削減する方法

環境

HoudiniIndie20.5.522

ジョイントインフルエンス数

スキンメッシュの一つの頂点に対していくつのジョイントが影響するかの数でゲーム開発では大体仕様で最大数が決まっている。
Mayaだとバインド時に設定でき、特定の機能で調整できる。自分も過去に調整用のツール開発を求められたりもした。

Capture Correct

Capture Correct geometry node
https://www.sidefx.com/ja/docs/houdini/nodes/sop/capturecorrect.html

Capture Correctノードでこのインフルエンスの最大数を削減できる。
Limit Regions を有効にするとMaximumRegions以下の値のインフルエンス数になるようにウェイトが計算される。

Limit Regionsが最大インフルエンス数

デフォルトでONになっているが Re-normalize Capture Weights をオンにしないと再計算されたウェイトの合計値が1にならないので注意

Re-normalize Capture Weightsをオフにすると正規化されないので注意

ウェイト周りの計算を調べていたんですが、インフルエンスの削減はみつかりました。
数値の丸めこみも探していたんですが、20.5時点では見つからなかったのでそっちはVEXなどで書くしかないかも

fish_ball

プロシージャル魚類