MRが楽しい

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

Blender2.8でIK(インバースキネマティクス)を使った人型アーマチュアを作成する その10(フットリバースボーン 後半)

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

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

フットリバースボーンの制御用ボーン

本項では足の踵とつま先の動きを制御するフットリバースボーンの制御用ボーンを作成します。
f:id:bluebirdofoz:20200927195006j:plain

制御用ボーンを上下に動かすだけでつま先立ちと踵立ちの切り替えが行えるようになります。
f:id:bluebirdofoz:20200927195018j:plain

制御ボーンの作成

アウトライナーウィンドウからアーマチュアオブジェクトを選択して[編集モード]を開きます。
f:id:bluebirdofoz:20200927195028j:plain

脚部の制御用ボーンの control.shinIK.L ボーンのテール部分を選択します。
f:id:bluebirdofoz:20200927195038j:plain

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

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

ボーンを移動と拡縮して、踵の後ろに配置します。
f:id:bluebirdofoz:20200927195105j:plain

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

コンストレイントの設定

次に足の踵とつま先の動きを制御するフットリバースボーンのコンストレイントを設定します。
アウトライナーウィンドウからアーマチュアオブジェクトを選択して[ポーズモード]を開きます。
f:id:bluebirdofoz:20200927195125j:plain

足の裏ボーンのコンストレイン

足の裏ボーンの sole.L ボーンを選択し、[ボーンコンストレインプロパティ]を開きます。
f:id:bluebirdofoz:20200927195134j:plain

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

次にコンストレイントの設定を行います。
[ターゲット]に対象のアーマーチュアオブジェクトを選択します。
すると、[ボーン]の項目が追加されるので、制御用ボーンの reverse.soleIK.L を指定します。
f:id:bluebirdofoz:20200927195154j:plain

トランスフォームの変換設定について以下の通り設定します。

変換元:位置
X 最小:0m, 最大:0m
Y 最小:-0.1m, 最大:0m
Z 最小:0m, 最大:0m

変換先の各軸への変換元割り当て: Y >> X, Y >> Y, Z >> Z

変換先:回転
順序:デフォルト
X 最小:-60°, 最大:0°
Y 最小:0°, 最大:0°
Z 最小:0°, 最大:0°

使用空間:ローカル空間 <-> ローカル空間

f:id:bluebirdofoz:20200927195204j:plain

足の甲のリバースボーンのコンストレイン

足の甲のリバースボーンの reverse.foot.L ボーンを選択し、[ボーンコンストレインプロパティ]を開きます。
f:id:bluebirdofoz:20200927195215j:plain

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

次にコンストレイントの設定を行います。
[ターゲット]に対象のアーマーチュアオブジェクトを選択します。
すると、[ボーン]の項目が追加されるので、制御用ボーンの reverse.soleIK.L を指定します。
f:id:bluebirdofoz:20200927195235j:plain

トランスフォームの変換設定について以下の通り設定します。

変換元:位置
X 最小:0m, 最大:0m
Y 最小:0m, 最大:0.1m
Z 最小:0m, 最大:0m

変換先の各軸への変換元割り当て: Y >> X, Y >> Y, Z >> Z

変換先:回転
順序:デフォルト
X 最小:0°, 最大:60°
Y 最小:0°, 最大:0°
Z 最小:0°, 最大:0°

使用空間:ローカル空間 <-> ローカル空間

f:id:bluebirdofoz:20200927195246j:plain

動作の確認

この状態で制御用ボーンを上下に移動して動作を確認します。
制御用ボーンを下げると、踵立ちの状態になります。
f:id:bluebirdofoz:20200927195256j:plain

逆に制御用ボーンを上げると、つま先立ちの状態になります。
f:id:bluebirdofoz:20200927195308j:plain

移動・回転の制限

以下のように移動・回転の制限のコンストレイントを設定しておくと、想定外の動作をしなくなるため、調整が楽になります。
なお、コンストレイントはリストの上部から順に実行されるので、制限のコンストレイントは必ず、リストの最下部に設定します。

フットリバースボーンの制御用ボーン

[ボーンコンストレイント追加]のプルダウンを開き、[位置制限]を選択して追加します。
制限を以下の通り設定します。

X 最小:0m, 最大:0m
Y 最小:-0.1m, 最大:0.1m
Z 最小:0m, 最大:0m

変換:ローカル空間

f:id:bluebirdofoz:20200927195322j:plain

足の裏のボーン

[ボーンコンストレイント追加]のプルダウンを開き、[回転制限]を選択して追加します。
制限を以下の通り設定します。

X 最小:-60°, 最大:90°
Y 最小:0°, 最大:0°
Z 最小:0°, 最大:0°

変換:ローカル空間

f:id:bluebirdofoz:20200927195338j:plain

足の甲のリバースボーン

[ボーンコンストレイント追加]のプルダウンを開き、[回転制限]を選択して追加します。
制限を以下の通り設定します。

X 最小:0°, 最大:60°
Y 最小:0°, 最大:0°
Z 最小:0°, 最大:0°

変換:ローカル空間

f:id:bluebirdofoz:20200927195402j:plain

対称化

これまでの制御用ボーンと同様に左右の対称化を行います。

リバースボーン・制御用ボーンの対称化

[編集モード]で以下の4つのボーンを選択し、メニューから[アーマチュア -> 対称化]を実行します。
・control.sole.L
・reverse.toe.L
・reverse.foot.L
・control.soleIK.L
f:id:bluebirdofoz:20200927195417j:plain

4つのボーンの[.R]ボーンが生成されるので、前回記事を参考にボーンの関係と位置を見直します。
f:id:bluebirdofoz:20200927195427j:plain

[ポーズモード]に切り替えてコンストレイントを設定します。
対称化したボーンのコンストレイントは対象ボーンを[.R]に変更して複製されています。
f:id:bluebirdofoz:20200927195439j:plain

このため、対称化を実行していない足の甲のストレッチと、つま先ボーンのトラックのみ設定すれば完了です。
f:id:bluebirdofoz:20200927195459j:plain
f:id:bluebirdofoz:20200927195509j:plain

動作の確認

右足の制御用ボーンを上下に移動して動作を確認します。
これでフットリバースボーンの設定は完了です。
f:id:bluebirdofoz:20200927195520j:plain

参考ページ

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