2025年3月28日金曜日

足IKの話(後編) ガニ股内股のクセは調整出来るのよ

 前回のお話では「IKの角度制限はグローバル軸でかかります」というお話までしました

そして、一般的なひざボーンの角度制限のパラメーターはX軸(-0.1~-180)、Y軸Z軸(0,0)のような感じになっていると思います

これどういうことかと言えば


足IKの膝の角度制限は足~足首のローカルの位置関係や軸方向は関係無くグローバル軸に水平に折り目が付くという事です

図にすると、足~足首がX座標が同一でない限りは膝の曲がる軸には斜めに制限がかかることになるのが解ると思います

足~足首(黄色のライン)が斜めになっている場合は、膝の角度制限は黄色ラインに対して斜めに角度制限がかかるという事です

(あにまさ式ミクさんの足はとても素直ですね)

X軸に斜めに折り目が付いている足IKを縮めて曲げようとするとY軸に回転しようとするのが想像出来ると思います

長方形の紙に斜めに降り癖を付けて曲げ伸ばしすると捻じれ方向に回ろうとするのと同じ感じかな?


実際そんな感じで、ひざボーンの角度制限の歪みで足IKの動きに癖が付きます

これは別に悪い事では無く

モデルのイメージに合わせて調整できる

という風に捉えれば良いと思います

女の子モデルなら内股気味に、オッサンならガニ又癖をつけるとか出来るわけです

では「どうやって調整するのか」なのですが、極簡単な方法で調整が可能なんですね

初期姿勢の形状をちょっといじってあげれば良いのです


1 TransformViewを開いて、足IKをOFFにする




2 足ボーンをZ軸で回転させる

3 現在の形状で保存(別名保存推奨)

これでOKです

初期状態では足IKとつま先IKがTERGETである足首、つま先から離れる事になりますが問題ありません

MMDに読み込めばひざの角度制限がグローバルにかかった状態で足IKに向かって足首、つま先が動き通常の位置関係に収まります

簡単でしょう?


初期の足、足首ボーンの角度と癖の関係は垂直であれば特に癖は出ません



足首が内側に入ると、ひざが曲がるときに足ボーンがY軸外向きに回りやすくなる

結果、ガニ又癖になります







足首が外側に広がると、ひざが曲がるときに足ボーンがY軸家向きに回りやすくなる

結果、内股癖になります

こんな感じの差が出ます


ここで足IKのループも影響してきて、ループ数が少ないと癖が強く出て、多いと癖が弱まります

カカトの埋まり方も見て、足IK、つま先IKのループ数も調整していきましょう


あ、そうそう

足首がクルリンする理由に足IKのY軸の回転が足首のZ方向の回転に影響が出るから

というのも意識はしておきましょう

内股癖、ガニ股癖は足首のZ回転に影響が出るのです

IKってグローバル軸ZXYの順に回転のし易さがありますので、足首がZ方向に回りやすいのもあります

配布モーションを読み込ませた時に足首が暴れると思う時は元モーションのモデルさんと使用モデルさんの足周りのボーンの関係を合わせてみてもいいかもしれません

少しは落ち着くかも?

それでも暴れるのなら足IKをY軸に回してその都度修正するほかありません、足首のZ軸方向の回転は結構気になると思います

究極の接地感を求めるなら「足切りIKにチャレンジ」となるでしょうね


おまけ
足IKのひざの位置は足~足首のラインから若干前側にないとひざがロックして足首が埋まってからポッキュンって感じで跳ね上がって曲がるような感じになるよ
ってお話をしました
この動画の黄色の側がそういう感じのセッティングになっています
けれど、赤の方はちゃんと動いていますよね?
足、足首ボーンとひざボーンの位置がこんな感じに極端でもちゃんと動くようには出来ます
当然普通には出来ません


足首を3軸で曲げたいのでちょっと変わった事をしていますが、
足IK自体はセオリーから外れていません
足ボーン辺りにウエイトが乗っていない(見えなくなっている)のです
普通に曲がる足IK、足Dの流れにデザイン上必要な位置にモモとひざ関節をIKでくっつけている訳です

2重関節で出てくる筈の歪みを吸収してる恰好ですね


こんな感じで動きますよ?という事で宣伝です
現物もダウンロードできますよ


もう片一方も結局は似た構造で本来出る歪みはモモの長さに出ます
モモが若干伸び縮しているんです

普通に人型モデルであればここまで極端な位置関係にする必要は無いとは思います

どーしてもこんな感じで曲げた理由が有る時には採用すればいいんじゃないかな?

メカ物とかだと「ココで曲がるんだぜぃ」ってデザインになっていたりもしますので覚えておいても良いかもね
です


2025年3月23日日曜日

今更ながら足IKのお話(前編?

 今更ながら足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の挙動の調整(クセの修正、強要)に使えますので、次回はそのお話に繋げて行こうかと思います


2025年3月16日日曜日

ちょっと拘ってみましょう(拡張視線IKとかのお話)

 ちょっと拘ったボーンの仕掛けを作ってみましょう

例として視線IKを上げてみます注視線IKっていう場合もあるのかしらん?


今回ちょっと

今回ちょっとアンニャロメが悪さするんですが、その回避方法として「謎構造」が出てきます(==;

IK細工をしていく時にわりと重要な謎呪文にばりますので覚えておいて損は無いかも?


前置きはここまでで、一番単純な視線IKといえば


頭を親としたIKを1セット

IKの回転を両目ボーンに付与



の恰好でIKを移動させると両目が動く仕掛けになりますね

IKをテーブルに置いたコップとかにくっ付けてあげれば、体が揺れても目がコップを追う様になります

非常にシンプルで練習にもちょうど良いかもしれません


ここからちょっと拘って発展させたものなのが、DONDON式ミクさんの視線IKになります

【MMD】腕フルIK、注視点ボーンテスト【モデルテスト】

現在配布終了なのが残念ですが、DONDON式ミクさんはPMXモデル黎明期のモデルさんでありながら積極席にIKを利用した機能を組み込んでいる秀逸なモデルさんだと思います

DONDON式ミクさんの視線IKの拘りポイントは一個のIKを頭と両目に一定の比率で振り分けて付与して頭と目が動くという所になると思います

付与率の基本は合計で1になるようにするのでしょうが、モデルさんによっては比率を調整する必要はあるでしょうね


ここでとてもとても結構重要なポイントが一個あります


IKの親は頭な訳で、その頭にIKの回転を付与させる形なので、回帰的付与になります

MMDエンジンのになる下地が完成なのですよ(==;

ヤバーイ感じになるので対処が必要です

頭ボーンを複製して頭+ボーンに視線IKを組み込んで、頭ボーンを親にした両目に付与をかければOK

←こんな感じ


だと思うでしょ?


実はこれだとダメなんですネ


髪が物理演算オンリーであれば実はそのままで動くのではありますが、髪IKの入っているモデルだと髪IKがMMDエンジンになっちゃうのです

物理演算OFFにすると髪IKがMMDエンジンしてちょっとしたホラーな映像が見られます

物理演算オンリーだとしても何かしらの爆弾を抱える事になりますので対処したい訳です

本当に邪魔者なんですよMMDエンジンはぁあぁ(==)

一見計算順序等に問題が無いのに大暴れしてくれます

対処方法が見つけられなければここでゲームセット、廃棄処分という事になります

ここで謎呪文構造が登場します

私の記憶している限りこの呪文もDONDONさんが発表されていました



親は首でIKの回転を付与


親は首で

付与を橋渡しするような恰好で繋ぎます


こんな感じで付与を橋渡しすることでサブルーチン的な処理をしているのではなかろーか?
と私的推察しています

付与親とは直接の親子関係を切ってレーンチェンジするようなイメージかな?


で改めて頭の回転を付与して、頭にモーションが入った場合に対応してあげます



これでMMDエンジンが暴れなくなります

当時この記述を見つけたときは小躍りしました

MMDエンジンが謎発生する時の対処方法の手法の一つだと覚えてくと良いと思います


頭に髪IKだけでなく、ちょっとした仕掛けをしようとしたときにも使えますからね


で、私が配布した拡張注視線IKのお話になります

頭遅延連動視線IKとか付与率可変型視線IKって名前にしておりました

注視点IK作成用プラグイン配布【PMXEditorプラグイン】でかなり詳しく春原さんが説明してくださっています

基本的な構造はDONDON式ミクさんのものと同一です


IKのLINKが2節になっている所が”ちょっと拘ったポイント”という事になります

IKというのは、LINKの先がIKボーンに向かって動くわけですが、LINKが2個あればその角度を分け合います

ここで、IKの数値設定のクセというか挙動を利用します


先が曲がって用が足りるなら根っこ側はサボろうとする

LOOPが小さいと先調子で曲がる、LOOPが大きいと胴調子で曲がる

というお話はしたと思います

根本側を頭、先側を両目に付与することで、角度を分け合う恰好で視線がIKに向かいます

また目が先に動く感じになります

IKの特徴を利用して頭と両目の付与割合を変化させて、頭と目の付与率の割合がIKの距離で可変出来るんですね

実際の人間の視線の移動は移動距離やその速度、興味の度合いや好意、忌避の感情の動きで頭と目の動きの割合が変化します

そういった細かい所を芝居に組み込みやすくできないかな?というのが当初の発想で実現化したい所でした

プラグインの動画ではあまり触れられていない事で私的には最大の特性「拘りポイント」だと思う所です

IKを極端に近づけると顔を背けつつ視線が行くような感じにもなります

モデルさんによっては眼の動きに制限をかけないと厳しいモデルさんもあるとは思います

そういうとこには角度制限も有効な手段だと思いますが、IKを置く距離とLOOPを調整してみるのも手です


私の配布してるサンプルに組み込んであるので、分岐する髪IKと合わせて現物を見てやってください

合言葉はむちり 膝枕してもらえるといいなぁ(==)

紫苑式ミクさんに色々組み込んでおります

頭遅延連動視線IKとしています、名前が揺れて申し訳ないのではありますが、何分埋もれて長いのに定評がある私の配布物ですのでご勘弁いただきたい所です

「こういう感じに動くといいなぁ」を拘ってみましょう

2025年3月2日日曜日

秘密結社は解散したのだろうか?(タダーンのお話)

前回モデルのボーン整理をして見通しが良くなったので、簡単な作業で出来るボーン改造をしてっみましょう

ぶっちゃけPMXEのプラグインでポチットナで終わるような事ではあるのです

が、基礎とか大事なので予習復習も兼ねて手作業で入れる練習をしてみましょう


ボーン改造の基本的な手法には大きく3通りあると思います


1,ボーンのウエイトはそのままで、ウエイトの乗ったボーンの前後にボーンを追加する

  全ての親等の各種多段化、シンプルな視線IK等


2,ウエイトの乗ったボーンをリネームして、リネーム前のボーンを追加する

  足D、腕IK等


3、ウエイトの変更を伴うボーンの追加

  上半身2、つま先EX等


3の上半身2やつま先EXはウエイトを弄る必要があるのでポリ割によってはちょっと面倒です

一応はプラグインで追加した場合でもウエイト設定もザックリ入してくれるのですが、周辺の変形もしっかり確認して必要ならウエイトの調整が必要になると思います

最近のモデルさんはデフォルトで入れてくださっている事も多いのでそういうモデルさんを使えば良いというお話があったりなかったり

(身も蓋もありません、が、元々プラグイン使えばええじゃんな事をしている訳で喀血)


今回は一番シンプルかつ、今でも結構有用だろうと思われる”多段化”をやってみようと思います

配布モーションで左右の手のひらや指先をくっつけるモーションがありますよね

モーションの作成時のモデルさんでないとボーンの長さが違うわけで、ズレたり、隙間が空いたり、重なったりという事がおきます

そういうのを修正しようとする時に、肩、腕、ひじのような”実際にモーションデータの回転”が入っているボーンをいじってしまうと元のデータに戻せなくなってしまいます

そんな時に多段化したボーンに修正角を入れてあげれば、元データはそのままなので修正作業が格段に楽になります


1、多段化したいボーンを選んで

今回は”右腕”

2,追加 複製を追加

これで、同じパラメーターのボーンが追加されます


3,どのボーンが追加したボーンかが解るように直ぐリネーム

私が良くやるのは”右腕+”とか”右腕++”とか


4,追加した”右腕+”ボーン番号を”右腕”よりも小さくする

要は”↑”ボタンを押して上に上げる


5,右腕ボーンの親を右腕+に変更

6,モーションの修正作業が作業し易いように表示枠に登録する

7,”解りやすいように名前を変えて保存”

これ大事ですよー、改造ミスしたときに巻き戻れるようにしておきましょう


という流で繰り返して、必要なボーンを必要なだけ多段化すれば良いです

飛行機物の動画だとセンター(とか重心とか)のボーンが10段以上多段化してあるのは良くあるらしいです

手作業でやっても短時間で手が入れられるますし、ぶっちゃてボーンダブラーみたいなプラグイン使えば良いです(真顔

アイデア次第で応用はいくらでも効きますので初心者からGOD級までお勧めです


肩P、肩Cは上の手順で肩、腕を多段化してリネーム、付与で肩Pの回転を肩Cでマイナスで付与して打ち消しています


付与を使った改造として基本的な改造になるでしょう

変わり種としては”インド首”とかもあった記憶があるんですが?動画が残っているのかな?

【MMD】鳩首ボーンと手首鳩ボーンの仕込み「鳩首」だったみたい動画が残ってました


実はボーンの改造や追加というのは、追加したボーンで何をどう連携させるかという変化はありますが

「ボーンを複製してリネーム、適正なボーン番号に変更、親ボーンの切り替え、表示枠の適正化」

の繰り返しが作業の殆どと言ってもいいくらいです


ウエイトの乗ったボーンをリネームして利用する場合(私はウエイトの乗っ取りと呼んでいます)の例として足Dを入れてみましょう


1,足、ひざ、足首、つま先のボーンを複製


2,元のボーンを~~Dにリネーム

3,~~Dの流れを↓で足IK、つま先IKよりも下位に持っていく


4,複製したボーンの親子関係を設定しなおす

修正前はひざ、足首、つま先のボーンの親は~~Dのはず



5,足IK、つま先IKのLINK、TARGETを修正する

IKのLINKリストにある足D、ひざDを削除

足、ひざをINDEXコピーしてLINKリストに貼り付け

ひざに角度制限を設定

TERGETを足首に

つま先IKも同様に修正

6,~~Dの流れの親子関係を再確認する

多分そのままいけるはず

7,~~Dのボーンの付与親を設定する

足Dの付与親は足

付与率は1

8、~~Dの階層指定を足IKの階層よりも後に設定する

9,表示枠を設定、正常に動けば別名保存して完了

簡単でしょう?

この程度の追加であれば、それなりの時間で簡単に出来ちゃうのです

(プラグインで一発なんですけどね、なんですけどねー)

チョイ改造や、こういう構造があると便利かな?と自力で構築するのも結局は同じ事の繰り返しです

れっつトライなのです