見出し画像

Spineエディタのスキン機能を理解する

Spineというアニメーションツールの一番の魅力はなんでしょう? 習得が簡単なエディター? 対応エンジンの多さ? シームレスなモーション移行? 軽さ?

私の場合はスキン機能です。異なるキャラクターでも同じモーションを共有できますのでかかるコストを大きく下げることができます!

で、このスキン機能皆さん使えてます?

ドキュメントの説明はここ。読んだことなかった方は一度読んでみてください。めっっっっっっっちゃわかりづらくないです? 少なくとも私はちんぷんかんぷんでした。なので試行錯誤しつつ正解を探ろうと思います。イエス。

ボーンを対象にしたスキンとスロットを対象にしたスキン

個人的な理解ですが、スキンには大きく2種類あると感じました。それが「ボーンを対象にしたスキン」と「スロットを対象にしたスキン」です! それぞれエディター上での挙動が少し違うのに、「スキン」というくくりでひとまとめにされているからわかりづらいのです。ただ、ひとまとめにされている理由もまたよくわかるので、しっかりと把握して上手く使っていきたいところ。

Spineの基本的な考え方として、「ボーンの上にスロットが乗っかって」います。

ボーンを対象にしたスキン、これは武器などを参考にするとわかりやすいです。剣ならボーンは一個だし、弓なら3つくらい使う事もあるでしょう。装備してなかったらそもそもボーンすら必要ありません。そういうボーンがあったり減ったり増えたりするような物にはボーンを対象にしたスキンを作ります。めがねとかイヤリングとかもそれ。装飾品や装備品はボーンを対象にしたスキンだと考えると良いと思います!

スロットを対象にしたスキンは、ボーンを対象にした物よりももっと小さな枠組みで動作します。例えば目の色とか、服装の違いとか、靴下の種類や色とか・・・・ボーンは弄りたく無いけれど、テクスチャを変えたいよー!!って時にこのスキンを使います。

こう考えるとなるほど、スキンの種類は大きく分けて2つありますね!

サンプルを弄って体で覚えろ

画像3

Spineエディターにはサンプルとしてスキン機能をフルに使ったサンプルが含まれています。公式の人たちが作ったお手本です。弄りまくって理解していきましょう。

実際このサンプルはお手本として非常に優秀です。試しにaccessoriesのbackpackをオンにしてみましょう。持ち物が小さな肩下げバッグからバックパックになるはず・・・・。

画像4

バックパックだけが表示された!! なんで!? Why!? その理由はSpineエディターに搭載されているこの機能が「スキン表示機能」ではなく「スキン設定機能」だから。この「スキン設定機能」っていう考え方を常に意識してください。めっちゃ大事です。

Spineエディターのスキン設定機能への理解を深めていけばわかってくると思います。それではレッツビキン!!

ボーンを対象にしたスキン

画像1

ボーンを対象にしたスキンでは、スキン設定の下に影響を受けるボーンが設定されており、それらボーンは有効時以外は非表示になっています。そのボーンの子は全て非常時になるので、複雑なボーン構成も一気にオフになります。非表示なのでエディター上で邪魔になることもありません。とても快適な状態を維持できるというわけ。

例えば、「体にまとわりつく、あくびをするドラゴン」などもスキン設定を使えば一発で表示、非表示できてしまいます。どんな複雑なボーン構成やモーションだとしても!!! これは非常に強力です(まあ、そもそもそんな複雑な構成ならスケルトンとして別に作れよって話は置いておきます)。

画像2

やり方は簡単で、新規でスキン項目を作ったら、それを選択して「スキンに追加」でボーンを選択するだけです。簡単ですね。

スロットを対象にしたスキン

スロットを対象にしたスキン設定は、スキンのツリー内には表示されません。これが混乱の1つかと思います。

画像5

目の色だけがスロットのスキンとして設定された項目。なにもぶら下がっていないから空に見えますね。オンにしてみると、

画像6

目だけ表示された。どこに設定があるのかというと、

画像7

該当ボーンの下、スロットにハンガーのアイコンがある。

目の色を変えてみると、

画像8

画像が差し替わった!

スロットを対象にしたスキン設定はスロット下部に配置された「スキンプレースホルダー」が影響を受ける! 

なので「スロットを対象にしたスキン設定」という言い方は正確には間違いです。正確には「スキンプレースホルダーを対象にしたスキン設定」となります。しかし個人的にはちょっとわかりづらいのでこのまま行こうと思います。

作り方は簡単で、スロットを選択した状態で「新規>スキンプレースホルダー」を選択すれば新たなスキンプレースホルダーが追加されます。最初は空の状態。これはハンガーのアイコンが示すとおり、何もハンガーに画像がひっかかってない状態と考えるとわかりやすい。

「現在のスキン設定では何も着ない」という状態。

ここに画像を放り込めば「現在のスキン設定ではこれを着る」という設定が完了されるわけだ。試しにやってみよう。

上部にある「eye-back-white」のスキンプレースホルダーに適当な画像を放り込んでみる。やり方は通常の画像追加と同じ。

画像9

設定したい画像を放り込むだけ。

画像10

何か場所がおかしいけれどとりあえず良しとする。

画像11

eyesスキンを切り替えてみる。消えた!!

画像12

戻してみる。出てきた!!

これからわかることは、「スキンを選択した状態でスキンプレースホルダーに画像を放り込めばそれで設定が完了」するってこと!ボーンを対象にするスキン設定とは設定の方法が異なる!!

何故パーツをスキンで細かくわけるのか

これはこのSpineプロジェクトの設計思想にもよると思うのですが、このように目だけ、服だけ、髪型だけ、と細かくわけることによって、実際に使用する際は様々な組み合わせで大量のカラーバリエーションを作れるようになります。

同じ服装だけど目の色だけ違うとか、髪型だけ違う、とか。そういう事を最終的にしたいなら、このように細かく分けるのは非常に理にかなっています。

「スキン」という機能名ではありますが、パーツパターンを量産するためにこういう風な使い方ができるってサンプルでもあるわけですね。こうして考えると、「スキン」という機能は汎用性の高い奥が深い機能の1つだとわかります!

スキン機能設定は1つのスキンのみオンにできる

Spineエディター上では、複数のスキン設定をオンにすることはできません。これは何故か、不便ではないのか、と思うかもしれませんが、先に言ったようにこれは「スキン設定機能」であって「スキン表示機能」ではないのです。

現在オンにしている「スキン」にスキンプレースホルダーの画像を適応しているため、例えば複数のスキンをオンにできてしまうと複数のスキンに一気に画像を設定してしまう可能性があります。事故の臭いしかしませんね?

じゃあスキンを設定してしまうと、ボーン表示だけの骨骨くんだけでアニメーションを組むしかないのか? これを避けるための方法がきちんとサンプルプロジェクトでは示されています。

画像13

それが「全部入りのスキン設定を1つ作ってしまう」です。順序的には逆かもしれません。「最初に全てが構築されたキャラクターを1つ作って、そこからパーツ毎に分解してスキン設定を細分化していった」結果、このサンプルプロジェクトができたのかもしれませんね。

ともあれ、こうして構築済のモデルをスキン設定としてしまえば、モーションの構築も普段通りできますね!

そしてまた、これはもう1つの事実も示唆しています。

ボーンを対象にしたスキン設定とスロットを対象にしたスキン設定は併用できる

ということ!! これがどれだけ強力なのかと言えば、例えば色違いのバッグとか、モーションやボーン設定は一緒でも見た目の違う剣や銃なども簡単に量産できるということです!!

私の最初の理解は正確ではありませんでした。「ボーンを対象にしたスキン設定」と「スロットを対象にしたスキン設定」で分かれているわけではありません。2つで1つの非常に汎用性の高いボーン・画像の切り替え機能が「スキン機能」だったのです。

うわー、ワクワクする機能ですね! 是非ともマスターしていきたいです。ここまで理解できたところで、冒頭の公式ドキュメントを改めて読み込むと、様々な可能性を感じることができます。

また、公式がまとめているtips集を「スキン」で絞りこんで眺めることもおすすめします。

スキン機能は普段のアニメーション手段の1つとしても、かなり深く汎用性の高い機能の1つであることがわかると思います!

1つのスキン設定では該当パーツだけが表示されるように設定する

画像14

最後に、冒頭で出したバックパックだけが表示された画像のように、1つのスキン設定では、対象パーツだけが表示されたスキンを組むべきだと思います。

人の部分にスキンを設定していない場合は、人とバックパックだけが表示されるように、って感じ。複数のスキン設定で同じスキンプレースホルダーやスロットなどを共有する設定を作ってしまうと、実際にゲームエンジン等でミックスするとき予想外の事故が発生する可能性があります。

画像の場合、人間を示すボーン部分は全スキンで共通なのでスキン設定に含めても問題ないって感じです!

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