見出し画像

Spine複雑な衣装を動作に合わせて変形させる

表題の通り。

画像1

基本的に衣装はその部位のボーンの子にすると思います。しかし、裾? 帯? の長い衣装デザインの子の場合、そうしますとこの帯部分も追従してきてしまいます。

いくつか方法があると思います。

衣装にパス・コンストレイントを設定し、それを物理演算ないしアニメーションで対処する

まずはこれ。個人的にはちょっとノットフォーミー。アニメーション対処の場合は工数が圧倒的に増えるし、物理演算に頼り切るとそれはそれで意図しない動作になった時に大変。

アニメーション対処の場合は、パスをできるだけシンプルにすると良い感じになると思います。

部位の稼働に合わせて各ボーンを動かし衣装を変形させる

今回私はこっち。衣装を腕ではなく体の方の子にし、腕の動きに追従するようにトランスフォーム・コンストレイントなどを駆使して変形させようと思います。

ケースバイケースで手法を選択できるのがSpineの良いところですよね。

まず、手と衣装の関係を切り離します。そうすると衣装が手に追従しなくなります。変わりに手の追従に合わせて位置を変える縫い目ボーンを作ります。

画像2

画像3

黒い三角がそう。手の子に単発ボーンを配置することで、腕の移動に合わせて移動するボーンができます。服のウェイトにこれを仕込むことで、服を変形させようという考えです。

”縫い目ボーン”についてはこちらの記事をどうぞ。

この”縫い目ボーン”は私が勝手に名付けてやってるだけなので、他に良い方法もあると思います。もっと効率的な方法を知っている人がいたら教えてください。あがめ奉ります。

画像4

画像5

画像6

腕の稼働に合わせて衣服が変形していることがわかります。また、「肩」部分は潰れずに残っていると思います。これは肩を担当する縫い目ボーンがあり、そこの変形を抑制しています。

画像7

黄色が腕に追従する部分、水色が動かない部分。

で、ウェイトの設定だけでやると、服に残ったボーンがそのまま居残り、アニメーションに影響が出てしまいます。服のボーンを縫い目に対してトランスフォーム・コンストレイントを設定することでこれにも対処できます。

縫い目に対して設定することで、腕本体にするよりも良い感じに変形してくれます。

画像8

肩に髪がかかってるんだけれど非表示にしています。わりと自然な感じになったのではないでしょうか。腕の回転をほどよくうけつつ、服が自然に追従しているかんじになったかなって思います。

この記事が気に入ったらサポートをしてみませんか?