本日は Blender2.8 の手順枠です。
Blender2.8でIK(インバースキネマティクス)を使った人型アーマチュアを作成する手順を記事にします。
前回記事の続きです。
bluebirdofoz.hatenablog.com
指の握りのコンストレイント
本項ではトランスフォーム変換を使って指の握り制御を行うコンストレイントを設定していきます。
制御用ボーンの作成
最初に制御用ボーンを作成します。
アウトライナーウィンドウからアーマチュアオブジェクトを選択して[編集モード]を開きます。
手の甲の部分に当たる hand.L ボーンのテール部分を選択します。
この状態でメニューから[アーマチュア -> 押し出し]を実行するか、[E]キーで新しい子ボーンを作成します。
子ボーンを選択した状態で[ボーンプロパティ]を開きます。
[関係]パネルを開いて[接続]のチェックを解除します。[ペアレント]のボーンは削除しません。
この状態でボーンを移動して、手の甲の真上辺りに配置します。
更に、プロパティ上部の名前を適当な名前に変更します。
この後、左右対称の設定を行うため、名前の最後には[.L]を必ず付けます。
今回は control.fingerTR.L としました。
トランスフォーム変換の設定
指に、コントロールボーンを参照して回転に動作をするコンストレイントを適用します。
アウトライナーウィンドウからアーマチュアオブジェクトを選択して[ポーズモード]を開きます。
人差し指の第一関節に当たる f_index.01.L ボーンを選択し、[ボーンコンストレインプロパティ]を開きます。
[ボーンコンストレイント追加]のプルダウンを開き、[トランスフォーム変換]を選択して追加します。
次にコンストレイントの設定を行います。
[ターゲット]に対象のアーマーチュアオブジェクトを選択します。
すると、[ボーン]の項目が追加されるので、先ほど作成した control.fingerTR.L を指定します。
今回はコントロールボーンの移動を指の回転に変換します。
[変換元]のボーンの取得情報を設定します。
[位置]を指定した状態で[X:最小]を[-0.05]、[X:最大]を[0.1]に設定します。
[変換先の各軸への変換元の割り当て:]は[X] >> X になっていることを確認します。
[変換先]のボーンの変換情報を設定します。
[回転]を指定した状態で[X:最小]を[-35°]、[X:最大]を[70°]に設定します。
最後に座標軸の設定を行います。
[使用空間:]を[ローカル空間] <-> [ローカル空間]に設定します。
これでコントロールボーンの移動が回転動作に変換されるようになります。
コントロールボーンを上下に動かすと、人差し指が曲がることを確認します。
ローカル軸のX軸方向にコントロールボーンを移動するには[G(移動) -> X(ワールド軸のX軸) -> X(ローカル軸のX軸)]のショートカットキーを利用します。
コンストレイントの設定のコピー
このコンストレイントの設定を全ての指にコピーします。
コピー対象となる全ての指を選択状態にします。
その後で、コピー元となるコンストレイントを持ったボーンを選択します。
この状態でメニューから [ポーズ] -> [コンストレイント] -> [選択したボーンにコンストレイントをコピー] を実行します。
これで全ての指にコンストレイントがコピーされました。
[選択したボーンにコンストレイントをコピー]はコピー元のコンストレイントの設定で全て上書きされます。
既にコンストレイントを設定した指がある場合は全て削除されるので注意が必要です。
動作の確認
この状態で再びコントロールボーンを動かしてみます。
コントロールボーンを下げると握りこぶしを作り、上げるとこぶしを開きます。
次は更に追加の設定を行って、より操作が便利になるよう制御をカスタマイズしてみます。
bluebirdofoz.hatenablog.com
参考ページ
本記事は以下の記事を参考に作成しています。
www.youtube.com