【cocos2d-x】Spineでスケルタルアニメーション作成 -Transform変更-
ヌルヌル動くキャラクターをcocos2d-xで動かすまでのメモです。
アニメーションはSpine (http://esotericsoftware.com) というソフトを使って用意したいと思います。有料ですが、素晴らしいソフトだと思います。
(環境:Spine 1.0, cocos2d-x 2-2-2, xcode 5.0.2)
Spineに最初から入っている spineboy.spine という
サンプルをちょっといじって、cocos2d-xで表示するところをゴールにします。
①呼吸しているアニメーションを作成(形状の変化)
1. 左上端の「SET UP」をクリックして「ANIMATE」に変更
2. Hierarchy の Animations を選択し、New Animation ボタンをクリック
適当に「breathe」という名前をつけておく
3. アニメーションを設定するボーンをクリック
4. Dopesheet をクリック
タイムラインのスタート地点をクリックする
5. Transform の緑色のキーをクリックすると、選択したタイムラインでのキーが確定する
最初はアニメーションが開始するときなので何も変更しない
6. 次のアニメーション時点のタイムラインをクリック
7. Transformの値を変更して、このタイムライン時点での形状を決定する
キーフレーム間のアニメーションは自動的に作ってくれます。
以上では、呼吸している感じを出すために胸部のパーツを少し拡大させました。
(Scaleの値を 1.00 -> 1.08)
注意しなければならない点は、
Spine は各ボーンに親子関係があるみたいです。
今回で言えば、胴体のボーンを拡大しましたが、頭が胴体の子にあたるため、
胴体ボーンを拡大すると、それに合わせて頭まででっかくなってしまったのです。
なので、それを避けるために、頭は「ずっと変わらない」アニメーションを設定しました。
(上の画像で、head も選択しているのはそのためです。)
微妙な対応ですが、他に方法が思いつかなかったので、
良い方法がわかればまた載せます。
次回は瞬きをさせたいと思います。(イメージの切替)