Spineとは
公式ページによると、
Spine は 2D アニメーション専用に開発されたソフトウェアで、魅力的なアニメーションの作成、そして完成したアニメーションのゲームへの統合に効率的なワークフローを提供します。
という説明の通り、2D静止画イラストをアニメーションさせるツールとなっている
Unityなどのゲームエンジンに組み込める利点から様々なゲームスタジオで採用されており、主に海外では多くの採用実績がある
特徴としては
- ボーン制御
- IK
- メッシュによる様々なデフォメーション
などが挙げられる
あまりガッツリと触っているわけではないのだが、シンプルなボーン制御は結構イイね、と思った
日本のゲームスタジオでも採用されているような昨今、最近自分のところに来た案件で
「Spineで作成されたキャラクターデータをPVなどの映像に使用したい」というものがあった
その際にちょっと引っかかった「映像出力について」記したい
Spineの映像出力
例えばLive2Dには「AfterEffects用プラグイン」が用意されており、映像との組み合わせは割とすんなり行くのだが、Spineの場合はそのようなプラグインが用意されておらず(というか用意しているLive2Dが特殊例なのだが)、何かしらの「映像」として出力(エクスポート)しなければならない
だが、Spineには「エクスポート用のオプションがほとんど存在しない」
特に普通ならありそうな「出力する解像度の設定」が無いので、基本的にエクスポートされる映像の解像度は
「オブジェクト全体の解像度(キャラクターの大きさ)」
になる。3000 x 3000pxのキャラクターデータならば3000 x 3000pxの映像が出力される
大きく引っかかりそうな点としては
-
RGBAで出力出来ない(v3.6.1.5で改善され、アルファの出力が強化されました) - 出力範囲を指定できない(フレームでここからここまで、のようなやつ)
以上の2点だろうか
結論
一番手っ取り早いのは
- QuickTime Animation
- QuickTime RAW
の2つになると思われる。pngは現状安定していない。更にメチャクチャ処理が重い。
--(※20170421追記)--
以下はv3.6.1.5で改善され、アルファ付きの出力が出来るようになったので、映像用途ではアルファ付きで出力することをオススメします
--追記ここまで--
アルファについては
- 背景を緑一色なりにしてキーイング処理を行う
という原始的やり方で処理するのが今のところいいのかなと。
キャラクターによっては「半透明」なオブジェクトがあったりして、これも一概にベストソリューションでは無かったりする。その際は「半透明オブジェクトだけ出力する」などの工夫で乗り切れると思う。
ちなみにFPS指定は30だろうが60だろうがソフト側で勝手に補完してくれるので、スロー処理などをしたいならば60、120などを指定しておくとよい。
たまに起きる問題として、いざエクスポートしようとしても「本来出力されるはずの解像度」でエクスポートされない時がある。3000 x 3000px解像度のキャラクターアニメーションをエクスポートしたら何故か「巨大な黒い空間の中央にポツンとキャラクターがいる」映像が出力されるのだ。
現バージョンだとほとんど起きないようだが、それでもたまに起きる時があるので解決方法として
- 全てのタブ(パネル)を閉じた状態でキャラクターを100%表示してエクスポート
というのを行うと問題が解決されるので、もし困ってしまった際は試して頂きたい
以上となっております