MRが楽しい

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

Blender2.8でIK(インバースキネマティクス)を使った人型アーマチュアを作成する その8(指の握り 後半)

本日は Blender2.8 の手順枠です。
Blender2.8でIK(インバースキネマティクス)を使った人型アーマチュアを作成する手順を記事にします。

前回記事の続きです。
bluebirdofoz.hatenablog.com

指の握りのカスタマイズ

指のボーンに追加のコンストレイントの設定を行って、より操作が便利になるよう制御をカスタマイズします。

親指の調整

指を閉じたとき、親指が曲がり過ぎてしまっているので、親指のみ回転を少なくします。
f:id:bluebirdofoz:20200925231159j:plain

親指の第一関節に当たる thumb.01.L ボーンを選択し、[ボーンコンストレインプロパティ]を開きます。
f:id:bluebirdofoz:20200925231125j:plain

[トランスフォーム変換]の[影響]項目で変換量を調整できます。
[影響]を[0.5]に設定し、回転量を半分にしました。
f:id:bluebirdofoz:20200925231211j:plain

第二関節の thumb.02.L ボーン、第二関節の thumb.03.L ボーンにも同様の設定を行います。
f:id:bluebirdofoz:20200925231223j:plain
f:id:bluebirdofoz:20200925231233j:plain

この状態で指の回転を行ってみると、より綺麗に握りのポーズができました。
f:id:bluebirdofoz:20200925231245j:plain

指を開くコンストレイン

追加の指の動きとして、コントロールボーンを前方に押し出すと指を横に広げる制御を追加します。

人差し指の設定

人差し指の第一関節に当たる f_index.01.L ボーンを選択し、[ボーンコンストレインプロパティ]を開きます。
f:id:bluebirdofoz:20200925231300j:plain

[トランスフォーム変換]のコンストレイントに以下の追加設定を行います。
[変換元]のボーンの取得情報を設定します。
[位置]を指定した状態で[Y:最小]を[0.0]、[Y:最大]を[0.1]に設定します。
f:id:bluebirdofoz:20200925231412j:plain

Y軸の移動を指のZ軸の回転に変換するため、軸の割り当てを設定します。
[変換先の各軸への変換元の割り当て:]で[Y] >> Z になっていることを確認します。
f:id:bluebirdofoz:20200925231424j:plain

[変換先]のボーンの変換情報を設定します。
[回転]を指定した状態で[Z:最小]を[0°]、[Z:最大]を[20°]に設定します。
f:id:bluebirdofoz:20200925231436j:plain

これでコントロールボーンのY軸の移動が回転動作に変換されるようになります。
コントロールボーンを前後に動かすと、人差し指が横に広がることを確認します。
ローカル軸のY軸方向にコントロールボーンを移動するには[G(移動) -> Y(ワールド軸のX軸) -> Y(ローカル軸のX軸)]のショートカットキーを利用します。
f:id:bluebirdofoz:20200925231447j:plain

中指の設定

指によって開く方向と大きさを調整します。
中指の第一関節に当たる f_middle.01.L ボーンは[変換先]の情報を[Z:最小]を[0°]、[Z:最大]を[10°]に変更して設定します。
f:id:bluebirdofoz:20200925231458j:plain

薬指の設定

薬指の第一関節に当たる f_ring.01.L ボーンは[変換先]の情報を[Z:最小]を[0°]、[Z:最大]を[-10°]に変更して設定します。
f:id:bluebirdofoz:20200925231510j:plain

小指の設定

小指の第一関節に当たる f_pinky.01.L ボーンは[変換先]の情報を[Z:最小]を[0°]、[Z:最大]を[-20°]に変更して設定します。
f:id:bluebirdofoz:20200925231526j:plain

動作の確認

コントロールボーンを前方に動かしてみます。
指が開くように動作すれば適切に設定できています。
f:id:bluebirdofoz:20200925231538j:plain

移動の制限

コントロールボーンは変換に必要な分だけ移動できればよいので、移動の制限を設定します。
control.fingerALL.L ボーンを選択し、[ボーンコンストレインプロパティ]を開きます。
f:id:bluebirdofoz:20200925231552j:plain

[ボーンコンストレイント追加]のプルダウンを開き、[位置制限]を選択して追加します。
f:id:bluebirdofoz:20200925231601j:plain

次にコンストレイントの設定を行います。
X軸方向に -0.05 ~ 0.1、Y軸方向に 0.0 ~ 0.1 の移動ができればよいので、以下の通り設定します。

X最小(チェック):-0.05
X最大(チェック):0.1
Y最小(チェック):0.0
Y最大(チェック):0.1
Z最小(チェック):0.0
Z最大(チェック):0.0

[変換:]の座標軸には[ローカル空間]を設定します。
f:id:bluebirdofoz:20200925231611j:plain

動作の確認

コントロールボーンを動かしてみると、必要な範囲でのみ移動します。
f:id:bluebirdofoz:20200925231622j:plain

次は踵とつま先の動きを制御するフットリバースボーンを設定してみます。
bluebirdofoz.hatenablog.com

参考ページ

本記事は以下の記事を参考に作成しています。
www.youtube.com