今更ながら足IKのお話をしようかと思います
多くの方が足IK周りの情報を上げておりますので本当に今更なのではあります
それでもデフォルトの重要な構造ではありますので触れないわけにはいきません
「足IKが倒せない」はよく聞くお話ではありました
今時はあんまり聞きませんが、今更聞けない××みたいな感じでありますね
足IKの基本形は
■下半身→■足→■ひざ→■足首→■つま先
の並びと
■足IK→■つま先IK(の親子、足IKの親はセンター)
の組み合わせだと思います
これ足首のボーンが黄色表示なので混乱しやすいのですが
■足→■ひざ→■足首(■足首がTERGETの■足IKのIK列)
■足首→■つま先(■足首がLINK、■つま先がTERGETの■つま先IKのIK列)
この2セットのIK列の複合して足首のボーンが黄色表示になっているんですね
足IKとつま先IKが親子関係で結ばれているので足IKをいじって足首の操作が出来る構造になります
このTERGETがLINKになる構造は他に応用が出来るので、覚えておいても良いテクニックです
足IK周りのパラメーターの調整の基本としては単位角とLOOP数を弄る事になります
単位角はあまりいじる必要は無くて(弄れば結果が変わりはします)LOOP数を弄った方が変化が大きいと感じています
足IKのLOOPが多め(30~60くらい?)
つま先IKのLOOPは少なく(3~10くらい)かな?と思います
ある理由で足IKには内股癖やガニ股癖(こっちは少な目)が付くことがあり、その時にはLOOPの影響は結構大きく出ます
足IKのLOOP数が多くなると膝の向きが素直になる感じ?かなとは思います
(右足LOOP40 左足LOOP60)
センターをY軸に下げると足が曲がる訳ですが、基本的にカカトが少し埋まります
この埋まり方が大きすぎると不自然になるので結構悩む所です
つま先IKのLOOP数が多すぎるとカカトが埋まりやすくなる傾向があります
これ、足IK周りの構造(繋がり)が、つま先IKが決まってから足IKの位置が決まるような動きになるからで
つま先IKのLOOP数が小さければ変形結果が素早く決まりますから、足IKがより短時間で決まる=カカトの埋まりが小さくなる
という感じです
ひざボーンの位置
カカトの埋まりが起こる場合の原因はもう一つあって
足、ひざ、足首ボーンのZ軸の位置関係も大きく関わってきます
足と足首ボーンを結ぶ直線から
「ひざボーンはほんの少しだけ前に位置する」必要があります
←左側がモデル前側
隣に走るボーンの表示線は足ボーンから足首ボーンのライン
ひざボーンが若干前側にあるのが解ります
ひざボーンが若干でも後ろ側に位置していると足IKが曲がろうとする時に角度制限が影響してIKがロックしてしまう瞬間があるからです
IKはまず楽な方向に曲がろうとしますが、角度制限にひっかかるとロックしてしまいます
「こっちに曲がると楽に曲がるからね」と誘導してあげる必要があるわけです
「足が曲がらないでカカトが埋まって、思い出したように足がカックンと曲がる」という症状が出ている場合はチェックしてみてください
実は足ボーンやひざボーンの位置がとんでもない位置にあっても普通に曲がる構造は組めます
普通はあんまり必要無いとは思うのですが、メカ物をやっていると欲しくなるかもしれませんね
これはまた後ほど詳しく説明する事になると思います
足切りIK
このカカトの埋まりが気になる事を嫌って作られた「足切りIK」という構造があります
改造方法はわりと簡単です
足首複製
元々ある足首ボーンを足IKにリネーム、既存の足IKからパラメーターを移植
新しい足IKの親を設定(全親、センター、足IK親等)
足IK、つま先IKは削除

元々しっかりした接地感を求めた構造ですからお芝居向けではあります
一応モーションの流し込みにも対応はしていますが
足ボーンのY回転の影響は足首に伝わらない
足IKを移動させ過ぎると脛辺りがビヨーンと伸びる
の2点に注意です
ひざの角度制限
ひざの角度制限についても触れておきます
まず、PMDモデルにはひざボーンの角度制限は必要ありません
というか、PMDのIKには角度制限等の設定をする方法がありませんが、それでもひざボーンについては曲がる方向に制限をかける必要はあります
PMDモデルのひざの角度制限をどうやって制限をかけているかというとMMD側(アプリケーション側)で自動で行う事になっています
PMDモデルの「ひざボーン」は特別な扱いになっているのです、また足IK周りについても若干の修正が加わっていると思われます
IKについては、PMXのIKから非常に多くの設定項目が追加拡張され、利便性が大幅に上がっています
そのせいか、PMXモデルはひざボーンに角度制限をかける必要があります
ひざボーンに角度制限をしないと曲がってはダメな方向にぐんにゃりする事になりますので「おかしな挙動してるぞ」という時には見直ししてみてください
通常はX軸方向(-0.1~-180)Y軸(0~0)Z軸方向(0~0)みたいな感じの設定になっていると思います
0~0ということは「YとZには動いちゃいかんよ」
X軸方向にだけ-0.1~-180の範囲だけ動いていいよ
という意味になります
ではこのIKの角度制限というのは「何を基準にしているのか」というお話になります
これはグローバル空間(軸)を基準にして設定されているんですね
厳密に言うと「モデルの初期姿勢のボーンにグローバル軸基準で角度制限がかかる」という事です
これ意識して利用すれは、足IKの挙動の調整(クセの修正、強要)に使えますので、次回はそのお話に繋げて行こうかと思います