📝

『あんさんぶるスターズ!!Basic』での Spine 活用術

2021/12/11に公開

はじめに

こんにちは、『あんさんぶるスターズ!!Basic』開発エンジニアのK.Yです。
さて、この2つの画像でお気づきの点はあるでしょうか。

それは.....

上側(テレビナレーション収録)は SpriteStudio、下側(TV番組ロケ)は Spine で制作されています。
ということで、この記事は『あんさんぶるスターズ!!Basic』に Spine を導入した際の解説です。

使用しているアニメーションミドルウェア

『あんさんぶるスターズ!!Basic』は Unity を使用して開発しています。
Unity で使用されるアニメーションライブラリ/ミドルウェアには多くのものがあり、特性によって使い分けられているかと思います。

『あんさんぶるスターズ!!Basic』ではキャラクターアニメーションとして以下のミドルウェアを使用しています。

それらに加えて、今回、キャラクターアニメーションとして Spine - http://ja.esotericsoftware.com/ を使用することにしました。

Spine を採用する際のきっかけ

Spine にはスキンという機能があり、その機能により「キャラクター x 衣装」として組み合わせで表現することができます。
また、Unity 向けランタイム - http://ja.esotericsoftware.com/spine-unity も整備されています。

キャラクターアニメーション AssetBundle 構成

キャラクターアニメーションに関して、端末アプリケーションに配信している AssetBundle の粒度は以下のとおりで、直感と対応しているかと思います。

  • キャラクター(ボディ部分)オブジェクト
  • 衣装オブジェクト
  • モーション情報ファイル

これら3つを組み合わせることで、「ある衣装を着たあるキャラクターがあるモーションを行う」というキャラクターアニメーションを実現しています。

言い方を変えると、「ある衣装を追加したい」という場合に、AssetBundle としては衣装のみの追加で実現できることになります。

キャラクター、衣装、モーションが単一のオブジェクトに含まれている場合、衣装の追加の場合であっても、キャラクター人数分のオブジェクトを必要とし、またそれら全てに既存のモーションを含むモーション情報が含まれることとなります。

衣装コンテンツの追加時に、衣装オブジェクトのみの追加で実現できる点は、Spine を使用する際のメリットと言えるのではないかと思います。

全体 AssetBundle 構成

全体としては「サイン練習」など、あるシーンとしてのアニメーションであり、関連する附属オブジェクトも Spine で制作されています。

https://youtu.be/zqtZSY7cplI

例えば、このアニメーションの場合は以下で構成されています。

  • 椅子オブジェクト
  • キャラクターアニメーション
    • キャラクター(ボディ部分)オブジェクト
    • 衣装オブジェクト
    • モーション情報ファイル
  • キャラクター前面オブジェクト(机、ペン、ノート)

椅子は画面上動きはありませんが、キャラクターとの大きさや位置の相対的な関係を Spine Editor 上で調整できるように Spine で制作されています。

利き手対応

キャラクターごとに利き手が異なります。

https://youtu.be/Z-5PqcEg2To

汎用的に言い換えると、「キャラクターごとにモーションが異なる場合の実装方法」ということになります。

キャラクターモーション情報に、「右利き用モーション、左利き用モーション」の両方が含まれ、また、キャラクター前面オブジェクト(机、ペン、ノート)についても、例えばペンは手に沿った動きをする必要があるので「右利き用モーション、左利き用モーション」が含まれています。

キャラクターに応じた再生モーションをデータ上で指定しています。また、附属オブジェクトはキャラクターのモーションに沿ったモーションが自動的に指定されるようにしています。

まとめ

現在、Spine を特定のゲームプレイ(あんさんぶるスターズ!!Basic > マイルーム >「お仕事」)でのミニキャラクター表現にて使用しています。

全てのゲームプレイでのミニキャラクターで Spine を使用していくということではなく、あくまでゲームプレイ及びコンテンツ表現に応じた検討だと考えています。

これからもアニメーションミドルウェアの枠を超えて躍動するあんさんぶるスターズ!!のアイドル達にご注目ください!!

GitHubで編集を提案
Happy Elements

Discussion