Stretchyman(ストレッチーマン)
このStretchymanのプロジェクトはIK、パス、ウェイトを使用して簡単なコントロールで伸縮自在な手足を作成し、アニメーションプロセスを容易にする方法をご紹介しています。以下ではStretchymanの後脚を主に説明しますが、前脚のセットアップも同じです。
コンストレイント
後脚はhip
ボーンの子になっている2つのボーンback-leg-ik1
とback-leg-ik2
から構成されています。これらは2つボーンによるIKコンストレイントback-leg-ik
により制御されています。このIKコンストレイントのターゲットはback-leg-ik-target
です。このボーンを動かすとback-leg-ik1
とback-leg-ik2
ボーンが追従し、脚の動作のアニメーションを簡単にコントロールできます。
またback-leg-ik
IKコンストレイントは、Stretch(ストレッチ)
プロパティが有効にされています。Stretch(ストレッチ)
を有効にすると、2本のIKボーンがスケーリングされ、これらのボーンの元の長さに関わらず、常にIKターゲットに達するようになります。
hip
ボーンはback-leg-path
と呼ばれるパス・アタッチメントを含むスロットback-leg-path
を含みます。このパスの頂点はback-leg-ik1
およびback-leg-ik2
ボーンにウェイト付けされています。これらの2本のボーンがback-leg-ik
IKコンストレイントにより動かされると、パスがこれに従って変形されます。
hip
ボーンにもう一つ子になっているのは、back-leg1
~back-leg8
の8本のボーンチェーンです。これらの8本のボーンの長さと配置はback-leg-path
パス・コンストレイントによりコントロールされます。パス・コンストレイントのSpacing(間隔)
タイプはPercent(パーセント)
に設定されており、この場合、値は100 / 8 = 12.5
に設定されます。これによりボーンは常にパスの全長で示され、8本のそれぞれのボーンはパスの長さの12.5%
を占めます。
制約された脚ボーンにパスの回転とトランスレーションを完全に適用するために、Rotate(回転)
とTranslate(トランスレート)
のMix(ミックス)
値は100
に設定します。最後にボーンがパスに密接するように、Chain Scale(チェーンスケール)
が使用されます。
ウェイト
パスが選択される時、Weights(ウェイト)
ビュー に見られる通り、back-leg-path
パスの頂点はback-leg-ik1
とback-leg-ik2
ボーンにウェイト付けされています。
パスを操作するために、ウェイトの生成にはAuto(自動)
を使用していません。その代わりに各頂点のウェイトと頂点ハンドルはマニュアルで設定されています。ウェイトペインティングを少し使用するだけで、このような設定が出来上がりました:
back-leg-ik-target
ボーンを動かすと、パスとパスに制約されるback-leg1
~back-leg8
ボーンがback-leg-ik1
およびback-leg-ik2
というIKボーンをフォローします。
ウェイト付けプロセスの最後のステップとして、脚を示すメッシュの頂点にウェイトを割り当てました。このメッシュがボーンチェーン、back-leg1
~back-leg8
にウェイト付けされます:
このステップ後、IKターゲットを動かすと、脚のメッシュがウェイトに従って変形します。
パス変形
脚を動かすことでアニメーションされるIKターゲットボーンはすでにかなり柔軟ですが、パス頂点の変形を使用することで、さらにコントロール性を高めることができます。
Animate(アニメ化)
モードでsneak
(忍び足)アニメーションを選択すると、back-leg-path
のフレームの変形キーが43
、45
、47
、50
にあることが分かります。これらのキーはStretchymanが脚を自分に引き寄せるとき、脚が少し折りたたまれるように見せています。
最終的なsneak
アニメーションはこのページの一番上のプレーヤーで見ることができます。