MRが楽しい

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

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

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

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

指の握りのコンストレイン

本項ではトランスフォーム変換を使って指の握り制御を行うコンストレイントを設定していきます。

制御用ボーンの作成

最初に制御用ボーンを作成します。
アウトライナーウィンドウからアーマチュアオブジェクトを選択して[編集モード]を開きます。
f:id:bluebirdofoz:20200924233440j:plain

手の甲の部分に当たる hand.L ボーンのテール部分を選択します。
f:id:bluebirdofoz:20200924233504j:plain

この状態でメニューから[アーマチュア -> 押し出し]を実行するか、[E]キーで新しい子ボーンを作成します。
f:id:bluebirdofoz:20200924233517j:plain

子ボーンを選択した状態で[ボーンプロパティ]を開きます。
[関係]パネルを開いて[接続]のチェックを解除します。[ペアレント]のボーンは削除しません。
f:id:bluebirdofoz:20200924233529j:plain

この状態でボーンを移動して、手の甲の真上辺りに配置します。
f:id:bluebirdofoz:20200924233545j:plain

更に、プロパティ上部の名前を適当な名前に変更します。
この後、左右対称の設定を行うため、名前の最後には[.L]を必ず付けます。
今回は control.fingerTR.L としました。
f:id:bluebirdofoz:20200924233558j:plain

トランスフォーム変換の設定

指に、コントロールボーンを参照して回転に動作をするコンストレイントを適用します。
アウトライナーウィンドウからアーマチュアオブジェクトを選択して[ポーズモード]を開きます。
f:id:bluebirdofoz:20200924233610j:plain

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

[ボーンコンストレイント追加]のプルダウンを開き、[トランスフォーム変換]を選択して追加します。
f:id:bluebirdofoz:20200924233638j:plain

次にコンストレイントの設定を行います。
[ターゲット]に対象のアーマーチュアオブジェクトを選択します。
すると、[ボーン]の項目が追加されるので、先ほど作成した control.fingerTR.L を指定します。
f:id:bluebirdofoz:20200924233651j:plain

今回はコントロールボーンの移動を指の回転に変換します。
[変換元]のボーンの取得情報を設定します。
[位置]を指定した状態で[X:最小]を[-0.05]、[X:最大]を[0.1]に設定します。
f:id:bluebirdofoz:20200924233701j:plain

[変換先の各軸への変換元の割り当て:]は[X] >> X になっていることを確認します。
f:id:bluebirdofoz:20200924233710j:plain

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

最後に座標軸の設定を行います。
[使用空間:]を[ローカル空間] <-> [ローカル空間]に設定します。
f:id:bluebirdofoz:20200924233733j:plain

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

コンストレイントの設定のコピー

このコンストレイントの設定を全ての指にコピーします。
コピー対象となる全ての指を選択状態にします。
f:id:bluebirdofoz:20200924233753j:plain

その後で、コピー元となるコンストレイントを持ったボーンを選択します。
f:id:bluebirdofoz:20200924233803j:plain

この状態でメニューから [ポーズ] -> [コンストレイント] -> [選択したボーンにコンストレイントをコピー] を実行します。
f:id:bluebirdofoz:20200924233814j:plain

これで全ての指にコンストレイントがコピーされました。
f:id:bluebirdofoz:20200924233824j:plain

[選択したボーンにコンストレイントをコピー]はコピー元のコンストレイントの設定で全て上書きされます。
既にコンストレイントを設定した指がある場合は全て削除されるので注意が必要です。
f:id:bluebirdofoz:20200924233835j:plain

動作の確認

この状態で再びコントロールボーンを動かしてみます。
コントロールボーンを下げると握りこぶしを作り、上げるとこぶしを開きます。
f:id:bluebirdofoz:20200924233845j:plain
f:id:bluebirdofoz:20200924233902j:plain

次は更に追加の設定を行って、より操作が便利になるよう制御をカスタマイズしてみます。
bluebirdofoz.hatenablog.com

参考ページ

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