今回は極ベクトルというものを付け加えて、ボーンの向きをコントロールする方法を載せてみました
極ベクトルが無い場合は、直接ボーンを動かしてひざの向きを指定します
できなことは無いですけど、あまり直感的ではない
極ベクトルを組めば、この問題はいくらか解決します
LightWave には一発で、極ベクトルを付けることができる機能があるわけですが、通常のボーンに対しては使いづらく感じました
※「 Make Joint Chain 」というもの

じゃっく
どのボーンを選択して実行すれば良いのか、分かりずらい
そう ちょっと個人的にクセ強なんです
そんな理由があったので、理解深めることも含めて初めから作ることにしました
ひとまず正常に動くことが確認できたので、忘れないようメモっていきます
準備
基本的な IK を組む

まずは準備として、基本的な IK を付けたリグを用意します
これは過去記事に沿って作成しました
もし、動かなかったら「 IK 有効」がオンになっていないはずなので、Shift+F8 で有効にします
手順
では、さっそく極ベクトルを付け加えていきます
手順はこんな感じ
IK の根元ボーンを複製する

始めに IK の始まりがある太もものボーンを複製します
ショートカットは Ctrl+C です
複製すると強制的にかっこ付きの名前で生成されるので、この名前を変更します

複製したボーンを右クリックで
「操作」→「名称変更」
から名前を変更
とりあえず、leg_target_L としました
ボーンの色とサイズを変更する

分かりにくいので、もう少し手を加えます
ボーンの色と大きさを変更
骨のアイコンあたりでクリックすれば、色を変えることができます
このボーンの正式名称は不明ですが、名前が無いと困るので
ターゲットボーン
と勝手に呼ぶことにします
IK_Null を注視するボーンということで、この名にしました
ちなみに初見だと、このボーンを作る意味が分からず

じゃっく
なんで二重に入れているんだろう?
という感じでナゾでした
ただ、このボーンが無いと動作が不安定・・・というより、無いと本来の動きになりません
LightWave の場合、恐らくこのボーンは必須だと思います
※おまけにターゲットボーンを作らなかった場合を載せています
極ベクトル用の Null を用意する

極ベクトルとして扱う Null を作成します
leg_IK_L を複製して、名前を leg_pole_L としました

極ベクトル Null の位置を調整します
一旦、太ももの付け根にスナップして、Z 軸方向に移動
スナップするには、移動中にショートカット Alt

じゃっく
ペッとスナップ
これで OK

極ベクトル Null の形が IK の Null と同じなので、変更します
オブジェクトプロパティから変更
アピアランスタブの「アイテム形状」から好きなものを選択します
いろんな形がありますが、今回はダイヤモンドを選択しました
目標と極ベクトルアイテムを指定する

ターゲットボーンを選択して、モーションオプションを展開
目標アイテムと極ベクトルアイテムを指定します
- 目標アイテム:leg_IK_L
- 極ベクトルアイテム:leg_pole_L
指定すると回転タブの各軸の制御項目が
- ヘディング制御:目標を注視
- ピッチ制御:目標を注視
- バンク制御:極ベクトルに沿う
と自動的に埋まるので、特に制御項目をいじる必要はないです
ターゲットボーンの親子付け順を変更する

設定したら一旦、極ベクトルを動かして動きを確認
この状態では、まだひざのコントロールが効きません
ターゲットボーンがくるくる空回りするだけです

じゃっく
くるくるくるくる・・・

この問題は親子付けの順番を変更すれば解決します
ターゲットボーンを太ももボーンより上にすれば OK
- leg_target_L
- leg_L
- knee_L
- ankle_L
- toe_L
- toe_top
- toe_L
- ankle_L
- knee_L
- leg_L
親子付けの順番を変えるときは、名前の部分でクリックすると失敗しにくいです
失敗すると修正が面倒くさいので、一旦保存しましょう

じゃっく
ちょっと癖あり
動作確認

もう一度、極ベクトルを動かして動作確認
動きに合わせて、ひざを動かすことができるようになりました

じゃっく
よしよし ええ感じ
これで IK 月のボーンに極ベクトルを追加することができました
完成です
まとめ
それでは、今回のまとめ
- IK が始まっているボーンを複製する
- 複製後ボーンに目標と極ベクトルを付与
- 目標アイテムに IK_Null を付ける
- 極ベクトルアイテムに pole_Null を付ける
- 複製したボーンを親、太ももを子にする
今回は極ベクトルとやらを追加して、ボーンの向きを操作できるようにしてみました
最初はターゲットボーンが、なぜ必要なのかよく分かりませんでした
作っていくうちに理解できましたが、やっぱりこういったものは、自分で一から作ると理解が深まります
IK は組めるようになった
極ベクトルも組めるようになった
とりあえず基本的なことは、できるようになったかなという印象です
これからも精進致します
それでは、お疲れさまでした~
おまけ
太ももに極ベクトルを当てた場合

ターゲットボーンを作らず、直接太ももに極ベクトルを付けたらどうなるかやってみました
こんな感じでおかしくなります

じゃっく
先がびよんびよんしよる・・・
足首のボーンは「ゴールを吸着」を有効にしているのですが、めちゃくちゃ外れます
なんでこうなるのか?というと、これは太ももに設定していた IK 設定が、無くなってしまっているからだと思います
こんな感じで正常なものとしては使えないので、ターゲットボーンは必須となります
足首を固定させる方法

足首を固定して、ひざだけ動くようにすることができるかどうかやってみました
まず、足首のボーンを複製

名前と色とサイズを変更します
とりあえず leg_IK_L としました

じゃっく
Null の方と名前が重複しちゃってるけど、大丈夫そう
Null とボーンで種類が違う場合は、名前が同じでも重複扱いにならないみたいです

IK_Null で動かしたいので、ボーンの方の leg_IK_L を選択
モーションオプションを開いて、回転タブの内容にいくらか設定を加えます
- ワールド:オン
- 回転アイテム:Null の方の leg_IK_L
- ヘディング制御:アイテムと同じ
- ピッチ制御:アイテムと同じ
- バンク制御:アイテムと同じ
設定を加えるとボーンの leg_IK_L の角度が勝手に決まります
ちなみに「ワールド」のチェックを外すとどうなるのか?
見た目は変わりませんが動かした時、意図しない方向に回転します
基本はオンの方が良いかもしれません

動きを確認
すると、とりあえず Null の動きに合わせてかかとのボーンも付いてきます
ただ、これだと
- すね
- 足首
の順で親子付けされているので、目的の動作になりません
そこで親子付けを変更します
画像のように
- すね
- leg_IK_L
- 足首
- leg_IK_L
の順に並び変えます

もう一度動作確認
極ベクトルを動かすとひざだけ動くようになり、足首が固定された状態になります
なかなか良い感じじゃないでしょうか?
どこかで必要になるかもしれないと思って作ってみましたが、親子付けの順番って大事なんだなと改めて感じました
参考資料
使用ツール
- 3DCG
- LightWave3D
- 動画
- Bandicam
- ScreenToGif
