まず骨とジオメトリが必要です。
この例では、Houdini内で組み立てた骨を使用していますが、他のDCCツールで作られた骨をFBXの形式でインポートするのが最も簡単です。
S1_BoneGeneratorノードを追加し、
骨をInput1(Input Bone)に
ジオメトリをInput2(Input Geometry)に接続します
RigdoctorノードとSkentonノードを追加します。
両ノードともに、パラメータはデフォルトのままで問題ありません。
S1_BoneGeneratorのOutput1(To Rig Doctor)からRig doctor、さらに続けてSkeltonへと接続します。
この時、RigDoctorにWarningマークが付いたら、接続した骨は正しい構造をしていないことを意味します。
その状態で先の工程を進めると、正常に動作しません。
Warningが無いことを確認したら、Skeltonノードの「Stash Input」ボタンを押し、KineFXで扱える形式の骨を生成します。
S2_CreateMaskDataノードを追加し、左図のように接続します。
このノードがウェイトの編集を行うUIとなります。
ノードを選択した状態でShowHandleへ切り替えることで、ウェイト編集モード入ることができます。
デフォルトではこのノードにRenderFlagを付けてもをウェイトの情報は表示されません。
(次に追加するS3_SkinBidノードのWeight Visualizeを有効にしたうえで、BoneDeformerノードやRigPoseノードにRenderFlagを設定してウェイト編集を行うことが多いからです)
RenderFlagを付けた際にウェイトを表示させる場合は、Output for view...をOutput MaskDataに切り替えてください。
S3_SkinBindとBoneDeform、Rigposeノードを追加し、左図のように接続します。
これでスキンウェイトの設定をする準備が整いました。
左図が出来上がったネットワークです。
S1_BoneGeneratorノードのInitialize項目にある、Influence RadiusとScaleBiasに左図のような数字を入れて「SetRadiusAll」ボタンを押します。
すると、骨の中心から(Houdiniのスケールで)11センチの範囲にあるポイントにウェイトが塗られるという処理が全ての骨で適用されます。
このボタンは基本的に初回にだけ押します。
(編集済みの値も全て上書きされ初期化されてしまいます)
BoneDeformにDisplayフラグを設定し、RigPoseでポーズを変えた状態で、編集モードに入ると上の画像のような画面になります。
InfluenceRadiusでウェイトの影響範囲を変更したり、
ビューポート上のマニピュレータで影響範囲の中心点変えたりなどをして、ウェイトを編集します。
ある程度ウェイトの設定ができたら、CommonSettingsタブからBlurとBlurIterateの値を設定します。
Blurはジオメトリ全体にブラー掛かり、ウェイトの境界線をぼかします。
ApplyMirrorボタンを押すとウェイトのミラーリングが行われます。