IK使用時に腕にひねりを加えるには
https://www.youtube.com/watch?v=LfPciDZFPUs
今回はIK使用時に簡単に腕にひねりを加える方法について解説します。
サンプルとなるシーンには、あらかじめ腕のメッシュに対してスケルトンが組み込まれています。このシーンではインバースキネマティクス(IK)機能を利用して、手首に追加したゴールで腕をコントロールしていきます。今回は手首のひねりを表現するため、肘から手首にかけて、スケルトンを1本ではなく、2本組み込んでいます。
セットアップモードへと入り、IKのルートとなる腕のスケルトンを選択したら、セットアップパレットのインバースキネマティクスのサブタブからIK組み込みのボタンをクリックします。次にゴールアイテムを追加する箇所となる手首のスケルトンを選択したら、ゴール追加ボタンをクリックしてゴールを追加します。ゴールの表示が見えにくいようであれば、ロケータタブのシェイプからサイズを調整するようにしてください。
これでIKの設定は完了です。セットアップモードを抜けゴールを動かすと、それに合わせてスケルトンが動くようになります。ただし、肘から手首までスケルトンが2本になっているため、途中でぐにゃっと曲がってしまっています。手首に近い方の下のスケルトンはIKの影響を受けさせたくないので、IKの影響を受けない設定へと変えてみます。下のスケルトンを選択し、インバースキネマティクスからXYZ軸に対する回転有効のボタンをオフにします。これで下のスケルトンは一切IKの影響を受けることがないため、肘から手首までスケルトンが1本仕込まれているのと同じような形で動作するようになります。
ここでゴールアイテムに対してひねりの回転を加えてみます。ゴールアイテムに対してZ軸方向に回転を加えることで、手首をひねることができますが、この回転は階層の上部にあるスケルトンには影響しないため、急激なひねりとなって形状が不自然になってしまいます。このゴールアイテムのひねり具合が徐々に肘から手首までのスケルトンに影響を及ぼすよう、スケマティックで回転の値を肘から手首にかけてのスケルトンに流し込みます。
まずはゴールアイテムのZ軸の回転チャンネルと、下の方のスケルトンのZ軸の回転チャンネルとをスケマティックビューへと追加します。まずはこの2つのチャンネルを接続して、ゴールアイテムのひねりの回転をそのままスケルトンへと適用してみます。ゴールアイテムを回転させてみると、先程よりは自然になりましたが、それでも腕の途中からひねりが入ってしまっているため、もう少し緩やかなひねりとなるよう、回転を小さくしてみます。
接続されているラインを選択し、ハイライト状態になったら、右クリックでチャンネルモディファイヤを追加 > 演算 > Basic Math:除算で割り算を行うノードを追加してみます。こうすることで、手首のひねりの何分の一かのひねりをスケルトンに対して適用できるようになります。試しに1/2となるよう、値Bに2と入力してみます。て首をひねってみると、先程よりも自然になりました。
ただ、手首をひねるときには、肘自体も少し回転の影響を受けるほうがより自然かと思いますので、上のスケルトンに対しても回転の値が流れるようにしてみます。先程と同様、今度は上の方のスケルトンの回転Zのチャンネルを追加し接続したら、今度は除算ノードで1/8程度に設定します。
このような設定をスケマティックで行うことで、ゴールアイテムの移動および回転によって、肘から先のスケルトンの動きをより自然なものへと設定することができます。