[Spine]Spine制作で注意すること&雑多メモ

Spineいろいろまとめ

Spine制作していて結構何回か陥ったミスや疑問、雑多メモを並べてみる。

スロット・スキンの名前変更

Spineではスキン名がそのまま参照元との紐付けになっているので、スキン名を変えるとリンク切れになってしまう。スロットの名前を変える場合「アタッチメント名を変更する」というチェックボタンにチェックが入っているとスキン名も変わるので注意。

ウェイト付けするボーンの階層に注意

親階層のボーンで移動や回転をさせているスキンに親以外の階層のボーンをウェイト付けするとその階層までの親の影響を受けなくなる

下のGIFはボールスキンを親階層で回転・上下運動&変形・スライド移動をさせている。

そのボールスキンのウェイトに新規で作成したababaボーンを登録してみる。ababaボーンはslideボーン直下に入れる。

すると下GIFのように親ボーンの回転や変形が無効になっている。

このようにウェイト付けしたボーンまでの階層にある親ボーンの影響は無視されるようだ。親ボーンで移動や回転などさせることが多いので注意である。

トランスフォーム・コンストレイントの一致ボタン

トランスフォームコンストレイントを使ってターゲットボーンと逆の動きをさせたい場合、トランスフォームを-100にすると思うが、この時ボーンが意図せず動いてしまう現象が起きる。

これの一発の対処法が一致ボタンだ。コンストレイントメニューの右側に一致ボタンがあるので、それを押してからトランスフォームを-100にするとボーンが移動しない。

rootはいじらない

rootボーンはUnityなどで制御される特別なボーンなので基本いじらない方がいい。キャラをまとめて移動や回転させたい時用にroot直下に専用のボーンを一つ作った方がいい。回転させることを意識する場合ボーンを置く場所も大事になってくる。

メッシュの黄色い線の黄色い意味

メッシュ編集でメッシュを作成時、メッシュのポイント間を繋ぎたい時にポイントをドラッグすると線が黄色くなる。あれの黄色い意味は特にない。点線と黄色い線は同等な存在である。参考サイト

ただ、ウェイト調整の時に黄色い線は表示されるのでガイド的な役割になるので便利だ。

ちなみにメッシュ編集時に減光にチェックを入れるとスキンが黒くなってメッシュが見やすい。

オフセットは解除ボタンがない

揺れものなどを表現する時に末端のボーンの動きを少し遅らせて滑らかな動きを出すためにオフセット機能を使うが、このオフセットは微調整ややり直しに弱いというかオフセット解除ボタン的なものはないので、オフセットをかける際はその点を注意した方がいいかも。

向きを変える時に意識すること

Spineのメッシュ変形機能を使ってキャラの向きを滑らかに変えると、奥行きを感じられて擬似3D的な見せ方ができる。

キャラの向きを変えるためにスキンのウェイト付けをする際、方角を変える際の回転軸を意識するのが大事だ。物が回転する時、そこには必ず回転軸があり、その回転軸を境に手前と奥が存在する。かつその手前と奥では逆の動きをする。このポイントを意識しながらウェイト付けするべし。

超ざっくりした例を出すと、以下のように手前の顔は左に移動し、奥の髪は右に移動する。なんとなく立体感が出ている。

髪を外すとこんな感じ。手前と奥の関係があった方が奥行き感は出るのかも。

ウェイト付けのタイミングとキーフレームの注意

スキンにボーンをバインドする場合、キーフレームの頭かケツのいずれかのところでバインドすべし。バインドした所のキーフレームが基準になるので、0フレームに移した時にスキンが大きくずれる。これはアニメ化だけでなく設定画面でのスキン位置も同様にズレるので混乱の元となる。基本は0フレームが全てのボーンの初期位置で、最後のフレームが0フレームとイコールになっているのが鉄則なのでこの点は気を付けたい。

上記のようなこともあるので①ボーン作成②メッシュ割り③バインド④ウェイト付け⑤キーフレーム操作という手順を基本として作業した方がいいと思う。パーツごとにいじっていくと後々ミスしそうな感じがする。

ミラーリング機能はない

Spineにはミラーリング機能はないので千手観音とか作る場合、片方の500本の手に動きを付けて複製し、サイズに−1を入力して反転する必要がある。過去記事にもあるように継承の回転を無効にしていると反転できない。あとコンストレイントは作り直さないといけないなど色々面倒だ。

スキンの追加

キャラのパーツを後から追加したくなったら、まずフォトショでパーツを追加した状態でPhotoshoptoSpineスクリプトを実行する。素材フォルダに画像が追加され、jsonファイルが更新される。Spine上でデータインポートを実行する。その際既存のスケルトンにインポートを選択&既存のアタッチメントを無視にチェックしてインポートする。すると既存のスケルトンにスキンが追加されているはず。

既存のアタッチメントを置き換えると全てのスキンが初期位置に戻ってしまうっぽいので置換ではなく無視がいいと思う。

アニメーションのデータ移行

アニメーションまで付けたスケルトンを別ファイルのスケルトンに移行したい場合、プロジェクトインポートを使う。下画像の赤髑髏はAAAスケルトン内でアニメーションまでつけられてAAA.spineファイルに保存されている。

これを別ファイルの青髑髏BBBスケルトンに移行する。プロジェクトインポートでスケルトンにチェックを入れてインポートする。アニメーションやメッシュなどの情報をインポートしたいならデータインポートではなくプロジェクトインポートを選ぶべし。

インポートしたAAAスケルトンのボーンとスロットをまとめてBBBスケルトンに移動する。するとイメージのリンクが切れる。

BBBファイルの素材フォルダにAAAファイルの素材を入れて、イメージの更新ボタンを押すとリンクが再設定される。

ボーン・スキン・メッシュが移行できているので後はアニメーションを移行するのみ。プロジェクトインポートのアニメーションにチェックを入れてインポートする。

確認ダイアログが出る。AAAスケルトンのアニメーションをBBBスケルトンに移動する。

無事アニメーションが移動できた。

コメント