棒を穴に収めるIK
棒が常に穴の入り口を通り、奥では概ね穴の形状に沿った方向に曲がってくれる構造は作れるだろうか?一体何に使うのか検討も付きませんね
MMDで模式モデル用意するのがめんどかったのでくっそ下手くそな絵で説明(青が棒、赤が穴)
条件は以下
棒のボーンは3つある
根っこのボーンの位置が多少動いても棒は常に穴の入り口を経由して穴の中に入る
できれば中に入った後も概ね穴に収まるような曲がり方をする(必須ではない)
棒はボーンの回転によって曲がるが、外部親指定で穴の入り口の位置に合わせて勝手に曲がってほしいので移動によって制御できる
今回は、そういう構造は可能なのか?という話ではなく、いい感じにこれを満たす構造ができたので書いておくことにした、という記事
尚、ここで述べる構造はすでに拙作『弱音ハク「Excuse me」』『KILLER B』で使用している
簡単に言うと、根本と先っぽの二段IKによってこれを概ね実現した
根本IKは棒の一番根っこのボーン一つを回転させ、先IKは残り2つのボーンを回転させる
根本IKは穴の入り口ボーンに外部親設定、先IKは穴の奥ボーンに外部親設定
これにより、多少上下左右に移動しても穴から棒がずれることはない
前後移動の場合はやや調整が必要になる場合があるが、3つのボーンを回転させて調整するよりかはずっと少労力で済むと思う
基本的に、穴と棒がほぼ平行で前後移動をしている場合は、下半身ボーンを少し回転させるなどの事をしても無調整で済む
絵くらいに角度が急だと調整が必要だが、大抵は入りきった状態と出きった状態の2つのキーフレームを打つだけで済む
ただし、注意点が2つほどある
1つ目はIKの位置をIKの対象ボーンより手前側にするとIKの挙動が荒ぶる場合があるので、ある程度距離を取ること
2つめは、あくまで根本IKは棒を入り口に合わせるもので、先IKは棒の向かう先を決定するものである事を忘れないようなボーン配置にすること
この絵では棒の曲がり方的には問題ないが、根本IKが入り口から大きく離れてしまっている
これの何が問題なのかと言うと、静止時には問題ないのだが、キーフレーム間での移動で棒と穴がずれてしまうことになり、大量の微調整が必要となる
根本IKの位置が穴の入り口から大きくハズレない位置に保っていれば、前後を含めたキーフレーム間の自動移動でも微調整がごくわずかで済む
なぜこのような構造にしたのかも書いておこう
はじめ、棒は先IKのみ、棒の入り方に応じてIKの位置を変えてはどうかと考えたが、これは構想段階でダメだとわかった
確かに棒が穴から出きっているときは常に棒の先が穴の入り口にむいてくれる
しかし棒が穴に入りきっているときは棒の先が動かず全体が回転する形になるため、入り口がずれてしまう。
ならば根本IKのみではどうなるかと言うと
出きっているときは棒の先が簡単にブレるので調節に手間がかかる
入りきっているときは棒が常に穴の入り口を経由しているのはいいのだが、棒の奥でははみ出してしまいやすい(実用上では穴に沿わせなくともいい場面は多いが、腹からの突き出しが発生しないように制御せねばならないので、調整の手間がかかることになる)
出きっているときは先IKのみの挙動を、入りきっているときは根本IKのみのときのように入り口を経由してほしいが、穴の中での曲がり方も制御したい
これの両立はできないだろうかと考え、試しに先と根本両方のIKを組み込んだ棒をダメ元の気持ちで試しに作ってみたところ、予想以上に使いやすかったため、使用するようになった
そんなわけで、この棒を穴に収めるIK構造を使えば下半身が小刻みに動くようなモーションでも楽に棒を穴に差し込めるだろうとおもう
そういった用途にMMDを使う人は一度試してみてほしい
MMDで模式モデル用意するのがめんどかったのでくっそ下手くそな絵で説明(青が棒、赤が穴)
条件は以下
棒のボーンは3つある
根っこのボーンの位置が多少動いても棒は常に穴の入り口を経由して穴の中に入る
できれば中に入った後も概ね穴に収まるような曲がり方をする(必須ではない)
棒はボーンの回転によって曲がるが、外部親指定で穴の入り口の位置に合わせて勝手に曲がってほしいので移動によって制御できる
今回は、そういう構造は可能なのか?という話ではなく、いい感じにこれを満たす構造ができたので書いておくことにした、という記事
尚、ここで述べる構造はすでに拙作『弱音ハク「Excuse me」』『KILLER B』で使用している
簡単に言うと、根本と先っぽの二段IKによってこれを概ね実現した
根本IKは棒の一番根っこのボーン一つを回転させ、先IKは残り2つのボーンを回転させる
根本IKは穴の入り口ボーンに外部親設定、先IKは穴の奥ボーンに外部親設定
これにより、多少上下左右に移動しても穴から棒がずれることはない
前後移動の場合はやや調整が必要になる場合があるが、3つのボーンを回転させて調整するよりかはずっと少労力で済むと思う
基本的に、穴と棒がほぼ平行で前後移動をしている場合は、下半身ボーンを少し回転させるなどの事をしても無調整で済む
絵くらいに角度が急だと調整が必要だが、大抵は入りきった状態と出きった状態の2つのキーフレームを打つだけで済む
ただし、注意点が2つほどある
1つ目はIKの位置をIKの対象ボーンより手前側にするとIKの挙動が荒ぶる場合があるので、ある程度距離を取ること
2つめは、あくまで根本IKは棒を入り口に合わせるもので、先IKは棒の向かう先を決定するものである事を忘れないようなボーン配置にすること
この絵では棒の曲がり方的には問題ないが、根本IKが入り口から大きく離れてしまっている
これの何が問題なのかと言うと、静止時には問題ないのだが、キーフレーム間での移動で棒と穴がずれてしまうことになり、大量の微調整が必要となる
根本IKの位置が穴の入り口から大きくハズレない位置に保っていれば、前後を含めたキーフレーム間の自動移動でも微調整がごくわずかで済む
なぜこのような構造にしたのかも書いておこう
はじめ、棒は先IKのみ、棒の入り方に応じてIKの位置を変えてはどうかと考えたが、これは構想段階でダメだとわかった
確かに棒が穴から出きっているときは常に棒の先が穴の入り口にむいてくれる
しかし棒が穴に入りきっているときは棒の先が動かず全体が回転する形になるため、入り口がずれてしまう。
ならば根本IKのみではどうなるかと言うと
出きっているときは棒の先が簡単にブレるので調節に手間がかかる
入りきっているときは棒が常に穴の入り口を経由しているのはいいのだが、棒の奥でははみ出してしまいやすい(実用上では穴に沿わせなくともいい場面は多いが、腹からの突き出しが発生しないように制御せねばならないので、調整の手間がかかることになる)
出きっているときは先IKのみの挙動を、入りきっているときは根本IKのみのときのように入り口を経由してほしいが、穴の中での曲がり方も制御したい
これの両立はできないだろうかと考え、試しに先と根本両方のIKを組み込んだ棒をダメ元の気持ちで試しに作ってみたところ、予想以上に使いやすかったため、使用するようになった
そんなわけで、この棒を穴に収めるIK構造を使えば下半身が小刻みに動くようなモーションでも楽に棒を穴に差し込めるだろうとおもう
そういった用途にMMDを使う人は一度試してみてほしい