kikki's tech note

技術ブログです。UnityやSpine、MS、Javaなど技術色々について解説しています。

SpineでSkinを使うべきシチュエーション

本章では、SpineでSkinを使う方法について共有します。

Skinのメリット

Skinとは

SpineでのSkinとは、一体の「アニメーションキャラクタ」に多数の見た目を用意するための仕組みです。

Skinを使うシチュエーション

Skinを使う主な理由は、ゲーム開発エンジンで出力されるファイルサイズの節約やゲーム稼働中のメモリサイズを抑えるために利用されます。
Unityでは、キャラクタを登場させる際に、GameObjectという単位でキャラクタを生成します。開発者は、このGameObjectが生成されることによるメモリサイズの上昇を抑えるために、GameObjectの数を削減する工夫を心がけています。
そこでSpineのSkinを使うことで、アニメーションの共通化・atlasファイルの削減を図り、無駄なリソースの削減ができます。また副次的な効果として、プロジェクトフォルダの整理にもつながります。

Skinを使うことによる利点

SpineのSkinには、以下の様な利点があります。

  • アニメーションの共通化による、複数キャラクタの生産コストの削減
  • ファイルサイズ・消費メモリ圧縮による、スマートフォンで利用するリソースの削減

Skinの注意点

Skinを使う際の注意点として、キャラクタのパーツをすべて同じ仕様(画像サイズや解像度など)で共通化して作る必要があります。キャラクタによって仕様が違うと、ボーンの位置が合わず、アニメーションが崩れる原因になります。

それでは実際にSkinの作り方を解説します。

Skinの作り方

Skinの名前を指定

  1. Hierarchyの「Skins」を選択
  2. 「New Skin」を選択
  3. 作成するSkinの名前を入力

f:id:kikkisnrdec:20150625125853p:plain

Skin Placeholderを作成

  1. Skinを用意するSlotを指定
  2. 「New」→「Skin Placeholder」を選択
  3. Skin Placeholderの名前を入力

f:id:kikkisnrdec:20150625130235p:plain

Skinに画像を指定

  1. 1つ目のSkinを指定
  2. Placeholder内に画像を指定

f:id:kikkisnrdec:20150625130357p:plain

他のSkinにも画像を指定

  1. 2つ目以降のSkinを指定
  2. Placeholder内に画像を指定

f:id:kikkisnrdec:20150625130503p:plain

まとめ

Spineで出力されたキャラクタは、ゲーム開発ソフトウェアに導入後、Skinを変更するだけでキャラクタの見た目が変わります。

総括

Skinを作ることで、ゲーム開発の汎用性が高まり実装の利便性が向上します。ただ反面として、デザイナーの負担が大きくなりがちであるため、エンジニアとデザイナーとで協議して進めたほうがいいかもしれません。


※無断転載禁止 Copyright (C) kikkisnrdec All Rights Reserved.