ウェイトペイントとボーンコンストレイト 備忘録

f:id:ultra_h:20200820222114p:plain

備忘録

ボーンとメッシュのParent

 メッシュをボーンにつけるのでメッシュ選択 → ボーン選択

 

ウェイトペイント

 ボーンに接続しているメッシュのウェイトを変更するので

 ボーンを選択 → メッシュを選択 → ウェイトペイントボード

 これでボーンを選択してその影響範囲を変更できる

 ボーンを選択はCtrl+左クリック

 ポーズモードではボーン選択は単に左クリック

 ウェイトペイント時はNプロパティのToolタブのOptionにある

 AutoNomalizeで合計値が1以上にならにようにする。

 

f:id:ultra_h:20200820222912p:plain

ボーンコンストレイト

 足のように前後に回転し、その動きを対象側ボーンに反映 

 ポーズモードで片方のボーンにLimitRotationを追加

 稼働回転軸に対しMinとMax角度を入力。

 稼働させたくない軸には数値は入れずにチェックだけを行えば、

 0度を指定したことになり不可動となる。

 ConvertをLocal Space(ローカル軸)に変更して、ボーンの軸での回転を指定

 ※ボーンの軸は根元ではなくて先端に表示されている軸にて、

  根元を基軸にして回転する。なんで軸を根元に表示しないのだろうか(@_@)?

 

 影響を受けるボーンは選択後にボーンコンストレイトTransformationを追加

 TargetはAmature、Boneに動きのもとになるBone

 もとになるボーンの何に影響を受けるかを指定

 Sourceに Locか、Rotか、Scaleかを選択し、影響もとの数値も入力

 反映する軸を変更するならばSource to Destinationを変更

 影響を受ける側の何に影響させるのか、影響数値範囲を入力

 (Loc、Rot、ScaleとX、Y、Zの数値)

 動きのもと側の軸と影響を受ける側の軸のプラスとマイナス方向を確認し、

 同位方向であるならば数値は+とーを逆にすると動きが逆に反映。

 右足と左足の関係。右足が前なら左足は後ろ・・・。

 SpaceをLocalとLocalにすることを忘れずに。

 

ドライバ機能

足の回転運動でRootボーンを上下に動かす。

ポーズモードでRootボーンを選択してから、NプロパティのItemタブのLocation Zを右クリックしてAdd Driber。

XLocationが紫色に・・・。Driven Porpertyが開かれます。

LocationZの値をExpression項目の中に数式を記載して導き出します。

varは変数のこと。

で、varはその下で設定します。

ObjectにはArmature。選択するとその下がBoneを選択するようになるので変化元のBoneを選択。今回はLeg_L

TypeはLeg_LのZ軸の回転値(-90~90)の値にしたいのでX Rotation

modeはそのまま、spaceはLocal space。

これでvarにはLeg_Lの-90~90の値が入りますが、rootはZ軸のプラス側に動かしたいのでabs関数で絶対値化。

abs(var)は0~90になるので、それを90で割ると0~1の値となる。

これに何らかの数値を乗算します。移動幅に様な数字。

z軸の移動単位がこのままではmmなので0~1の値に100を乗算すれば1mrootのZ軸の値が0~1mになりかなと思いきや・・・ならない。

上下には動くけど。アチャー (@_@)